C
QSafeLayout Class
class SafeRenderer::QSafeLayoutThe QSafeLayout class provides an abstract class for accessing the Qt Safe Renderer layout data. More...
Header: | #include <QSafeLayout> |
Since: | QtSafeRenderer 1.0 |
Inherited By: | SafeRenderer::QSafeLayoutFileReader and SafeRenderer::QSafeLayoutResourceReader |
Public Types
enum class | LayoutParserState { INVALID, OK } |
Public Functions
QSafeLayout(SafeRenderer::QSafeBitmapReader *const bitmapReader) | |
void | advanceAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg) |
const SafeRenderer::QSafeBitmap * | bitmapForItem(const SafeRenderer::quint32 idArg) const |
size_t | count() const |
virtual SafeRenderer::QSafeFontCache * | fontCache() const = 0 |
const SafeRenderer::LayoutData & | getLayoutItem(const SafeRenderer::quint32 idArg) const & |
const SafeRenderer::QSafeStateTransition & | getStateTransition(const SafeRenderer::quint32 indexArg) const & |
bool | isPositionValidForItem(const SafeRenderer::quint32 itemId, const SafeRenderer::qint32 x, const SafeRenderer::qint32 y) |
SafeRenderer::LayoutData & | item(const size_t idx) & |
bool | itemIndex(const SafeRenderer::quint32 idArg, size_t &indexArg) const |
SafeRenderer::quint32 | layoutId() const |
SafeRenderer::QSafeLayout::LayoutParserState | parserState() const |
virtual const SafeRenderer::QSafeByteArray | readDataFromFile(const SafeRenderer::qchar *const filenameArg) = 0 |
SafeRenderer::LayoutData & | reserveNew() & |
void | restartAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg) |
void | setAlphaForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint8 alphaArg) |
void | setBitmapForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 bitmapIdArg) |
void | setColorForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::ARGB colorArg) |
void | setLayoutId(const SafeRenderer::quint32 &layoutIdArg) |
void | setPositionForItem(const SafeRenderer::qchar *const name, const SafeRenderer::qint32 x, const SafeRenderer::qint32 y) |
void | setPositionForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qint32 x, const SafeRenderer::qint32 y) |
void | setTextForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qchar *const textArg) |
SafeRenderer::quint32 | stateTransitionsCount() const |
Static Public Members
SafeRenderer::quint32 | validateLayout(const SafeRenderer::QSafeByteArray &layoutDataArg) |
Detailed Description
The QSafeLayout class provides an abstract class for accessing the Qt Safe Renderer layout data.
Member Type Documentation
enum class QSafeLayout::LayoutParserState
This enum describes the status values in the QSafeLayout class.
Constant | Value | Description |
---|---|---|
SafeRenderer::QSafeLayout::LayoutParserState::INVALID | 0 | The layout data is invalid. |
SafeRenderer::QSafeLayout::LayoutParserState::OK | 1 | Layout data read and validated. |
Member Function Documentation
[explicit]
QSafeLayout::QSafeLayout(SafeRenderer::QSafeBitmapReader *const bitmapReader)
Constructs a safe layout object using a bitmapReader instance to access the bitmap data.
void QSafeLayout::advanceAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg)
Advances the stateIndexArg at transitionIndexArg.
const SafeRenderer::QSafeBitmap *QSafeLayout::bitmapForItem(const SafeRenderer::quint32 idArg) const
Returns the bitmap object of the layout item identified by idArg. Returns nullptr if bitmaps is not found.
See also setBitmapForItem().
size_t QSafeLayout::count() const
Returns the count of the layout items.
[pure virtual]
SafeRenderer::QSafeFontCache *QSafeLayout::fontCache() const
Returns a pointer to the font cache. This function is implemented in the inherited classes.
const SafeRenderer::LayoutData &QSafeLayout::getLayoutItem(const SafeRenderer::quint32 idArg) const &
Returns SafeRenderer::LayoutData item idenfified by idArg.
The id value is the hash of the safe item's objectName
in a QML UI Form file. In case of a item is not found, an exception will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item is not found. |
For example:
SafePicture { objectName: "iconCoolant" width: 64 height: 64 color: "#e41e25" source: "qrc:/iso-icons/iso_grs_7000_4_2426.dat" }
The ID value can be calculated as follows:
quint32 id = qt_hash("iconCoolant", safe_strlen("iconCoolant");
const SafeRenderer::QSafeStateTransition &QSafeLayout::getStateTransition(const SafeRenderer::quint32 indexArg) const &
Returns the QSafeStateTransition at indexArg
In case the indexArg is greater than the count of states SafeRenderer::QSafeStates::StatesException::IndexOutOfBounds is thrown.
bool QSafeLayout::isPositionValidForItem(const SafeRenderer::quint32 itemId, const SafeRenderer::qint32 x, const SafeRenderer::qint32 y)
Checks that the given x and y position are valid for the object identified by itemId. Returns true if position is valid. false if item cannot be moved to the new position.
Note: This function does not throw. If item is not found or it's bitmap is not set, the function will return false, just as it will if the item would be out of bounds after move.
SafeRenderer::LayoutData &QSafeLayout::item(const size_t idx) &
Returns the reference to LayoutData at idx.
bool QSafeLayout::itemIndex(const SafeRenderer::quint32 idArg, size_t &indexArg) const
Returns true
if idArg is found; otherwise returns false
. The index of the layout item is identified by idArg. The index is set to indexArg.
SafeRenderer::quint32 QSafeLayout::layoutId() const
Getter function for the layout id.
LayoutId is a unique id for each layout instances. By default layoutId is the hash value of the layout filename.
See also setLayoutId().
SafeRenderer::QSafeLayout::LayoutParserState QSafeLayout::parserState() const
Returns the state of the parser.
[pure virtual]
const SafeRenderer::QSafeByteArray QSafeLayout::readDataFromFile(const SafeRenderer::qchar *const filenameArg)
Reads a file with filenameArg. Returns the reference to the read data. This function is implemented in the inherited classes.
SafeRenderer::LayoutData &QSafeLayout::reserveNew() &
Reserves a new entry from the items list and returns a reference to that entry. If there is no more free instances left, SafeRenderer::QSafeLayoutException with id SafeRenderer::QSafeLayoutException::LayoutException::DataSizeMismatch exception is thrown.
Returns Reference to next free item.
void QSafeLayout::restartAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg)
Restarts the stateIndexArg at transitionIndexArg.
void QSafeLayout::setAlphaForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint8 alphaArg)
Sets the alphaArg alpha value to the object identified by idArg.
In case of a failure, the following exceptions will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item idArg does not exist. |
void QSafeLayout::setBitmapForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 bitmapIdArg)
Sets the bitmapIdArg value to the object identified by idArg.
In case of a failure, one of the following exceptions will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item idArg does not exist. |
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownBitmapId | The bitmap bitmapIdArg does not exist. |
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::ItemOutOfBounds | The bitmap goes outside the window boundaries. |
See also bitmapForItem().
void QSafeLayout::setColorForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::ARGB colorArg)
Sets the colorArg color to the object identified by idArg.
This method allows to change mutable objects' like picture's color.
In case of a failure, one of the following exceptions will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item idArg does not exist. |
void QSafeLayout::setLayoutId(const SafeRenderer::quint32 &layoutIdArg)
Sets the layout id to the value layoutIdArg.
See also layoutId().
void QSafeLayout::setPositionForItem(const SafeRenderer::qchar *const name, const SafeRenderer::qint32 x, const SafeRenderer::qint32 y)
Sets the x and y positions to the object named name.
In case of a failure, one of the following exceptions will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::ItemOutOfBounds | The item's new position is outside the window boundaries. |
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item name does not exist. |
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownBitmapId | The bitmap that is associated with the layout item is not found. |
void QSafeLayout::setPositionForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qint32 x, const SafeRenderer::qint32 y)
Sets the x and y positions to the object identified by idArg.
In case of a failure, one of the following exceptions will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::ItemOutOfBounds | The item's new position is outside the window boundaries. |
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item idArg does not exist. |
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownBitmapId | The bitmap that is associated with the layout item is not found. |
void QSafeLayout::setTextForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qchar *const textArg)
Sets the textArg text to the object identified by idArg.
In case of a failure, the following exception will be thrown:
Exception | Id | Description |
---|---|---|
SafeRenderer::QSafeLayoutException | SafeRenderer::QSafeLayoutException::LayoutException::UnknownItem | The item idArg does not exist. |
SafeRenderer::quint32 QSafeLayout::stateTransitionsCount() const
Returns the count of the states.
[static]
SafeRenderer::quint32 QSafeLayout::validateLayout(const SafeRenderer::QSafeByteArray &layoutDataArg)
QSafeLayout::validateLayout validates the data in the layoutDataArg. layoutDataArg Returns the count of the items in the layout file.
Available under certain Qt licenses.
Find out more.