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 |
This class was introduced in QtSafeRenderer 1.0.
Public Types
enum | LayoutException { UnknownBitmapId, UnknownItem, ItemOutOfBounds, SizeErrorWidth, SizeErrorHeight, …, InvalidLayoutType } |
enum | LayoutParserState { INVALID, OK } |
Public Functions
QSafeLayout(SafeRenderer::QSafeBitmapReader *const bitmapReader) | |
virtual | ~QSafeLayout() |
void | advanceAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg) |
const SafeRenderer::QSafeBitmap * | bitmapForItem(const SafeRenderer::quint32 idArg) const |
SafeRenderer::quint32 | 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) |
SafeRenderer::LayoutData & | item(const SafeRenderer::quint32 idx) |
bool | itemIndex(const SafeRenderer::quint32 idArg, SafeRenderer::quint32 &indexArg) const |
SafeRenderer::quint32 | layoutId() const |
SafeRenderer::QSafeLayout::LayoutParserState | parserState() const |
SafeRenderer::QSafePoint | position() const |
virtual const SafeRenderer::QSafeByteArray | readDataFromFile(const SafeRenderer::qchar *const filenameArg) = 0 |
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::quint32 x, const SafeRenderer::quint32 y) |
void | setPositionForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 x, const SafeRenderer::quint32 y) |
void | setTextForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qchar *const textArg) |
SafeRenderer::QSafeSize | size() const |
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 QSafeLayout::LayoutException
This enum describes the exception values in the QSafeLayout class.
Constant | Value | Description |
---|---|---|
SafeRenderer::QSafeLayout::UnknownBitmapId | 0 | The bitmap ID is not found from layout. |
SafeRenderer::QSafeLayout::UnknownItem | 1 | The item is not found. |
SafeRenderer::QSafeLayout::ItemOutOfBounds | 2 | The item's new position is out of bounds. |
SafeRenderer::QSafeLayout::SizeErrorWidth | 4 | The width of the layout size too long. |
SafeRenderer::QSafeLayout::SizeErrorHeight | 5 | The height of the layout size too long. |
SafeRenderer::QSafeLayout::DataSizeMismatch | 3 | The layout file size is not multiple of the layout data size, or the layout data size is too small. |
SafeRenderer::QSafeLayout::InvalidLayoutVersion | 6 | Layout version is not supported. |
SafeRenderer::QSafeLayout::CheckSumFailed | 7 | Layout file checksum fails |
SafeRenderer::QSafeLayout::TooLongFilename | 8 | Bitmap's filename is too long to fit in temporary buffer. |
SafeRenderer::QSafeLayout::InvalidLayoutType | 9 | The layout type is Invalid. |
enum QSafeLayout::LayoutParserState
This enum describes the status values in the QSafeLayout class.
Constant | Value | Description |
---|---|---|
SafeRenderer::QSafeLayout::INVALID | 0 | The layout data is invalid. |
SafeRenderer::QSafeLayout::OK | 1 | Layout data read and validated. |
Member Function Documentation
QSafeLayout::QSafeLayout(SafeRenderer::QSafeBitmapReader *const bitmapReader)
Constructs a safe layout object using a bitmapReader instance to access the bitmap data.
[virtual]
QSafeLayout::~QSafeLayout()
Destroys the safe layout object.
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 NULL if bitmaps is not found.
See also setBitmapForItem().
SafeRenderer::quint32 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:
Constant | Description |
---|---|
SafeRenderer::QSafeLayout::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)
Returns the QSafeStateTransition at indexArg
In case the indexArg is greater than the count of states SafeRenderer::QSafeStates::StatesException::IndexOutOfBounds is thrown.
SafeRenderer::LayoutData &QSafeLayout::item(const SafeRenderer::quint32 idx)
Returns the reference to LayoutData at idx.
bool QSafeLayout::itemIndex(const SafeRenderer::quint32 idArg, SafeRenderer::quint32 &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.
SafeRenderer::QSafePoint QSafeLayout::position() const
Returns the position of the layout.
[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.
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:
Constant | Description |
---|---|
SafeRenderer::QSafeLayout::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:
Constant | Description |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | The item idArg does not exist. |
SafeRenderer::QSafeLayout::LayoutException::UnknownBitmapId | The bitmap bitmapIdArg does not exist. |
SafeRenderer::QSafeLayout::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:
Constant | Description |
---|---|
SafeRenderer::QSafeLayout::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::quint32 x, const SafeRenderer::quint32 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:
Constant | Description |
---|---|
SafeRenderer::QSafeLayout::LayoutException::ItemOutOfBounds | The item's new position is outside the window boundaries. |
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | The item name does not exist. |
SafeRenderer::QSafeLayout::LayoutException::UnknownBitmapId | The bitmap that is associated with the layout item is not found. |
void QSafeLayout::setPositionForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 x, const SafeRenderer::quint32 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:
Constant | Description |
---|---|
SafeRenderer::QSafeBitmapFileReader::BitmapFileReaderException::IndexOutOfBounds | The bitmap index exceeds the value defined in SafeRenderer::Constraints::MAX_AMOUNT_OF_BITMAPS. |
SafeRenderer::QSafeLayout::LayoutException::ItemOutOfBounds | The item's new position is outside the window boundaries. |
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | The item idArg does not exist. |
SafeRenderer::QSafeLayout::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:
Constant | Description |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | The item idArg does not exist. |
SafeRenderer::QSafeSize QSafeLayout::size() const
Returns the size of the layout.
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.