2020-12-08 11:02:57 +01:00
|
|
|
/*!
|
2020-12-12 14:05:09 +01:00
|
|
|
\class QskQuickItem QskQuickItem.h
|
2021-01-25 11:06:01 +01:00
|
|
|
|
|
|
|
\ingroup framework
|
|
|
|
|
|
|
|
QskQuickItem completes the C++ API of QQuickItem and implements some
|
|
|
|
flags to offer better control over the operations happening in the
|
|
|
|
update cycle.
|
2020-12-08 11:02:57 +01:00
|
|
|
*/
|
|
|
|
|
2020-12-12 14:05:09 +01:00
|
|
|
/*!
|
2021-01-25 11:06:01 +01:00
|
|
|
\enum QskQuickItem::Flag
|
|
|
|
|
|
|
|
Qt/Quick classes have a tendency to update items too early
|
|
|
|
and too often. To avoid processing of unwanted operations
|
|
|
|
QskQuickItem implements a couple of modifications, that
|
|
|
|
can be en/disabled individually.
|
|
|
|
|
|
|
|
\var QskQuickItem::Flag QskQuickItem::DeferredUpdate
|
|
|
|
|
|
|
|
Creating of sceme graph nodes is blocked when being invisible.
|
|
|
|
( QQuickItem::isVisible() ).
|
|
|
|
|
|
|
|
\note Some more advanced algorithms have not yet been implemented,
|
|
|
|
such as viewport frustrum culling (i.e. hiding items outside of the
|
|
|
|
window geometry).
|
|
|
|
|
|
|
|
\var QskQuickItem::Flag QskQuickItem::DeferredPolish
|
|
|
|
|
|
|
|
Polishing an item ( QQuickItem::polish() ) is blocked when being invisible.
|
|
|
|
F.e for all items being derived from QskControl the layout calculations
|
|
|
|
happen during polishing.
|
|
|
|
|
|
|
|
\var QskQuickItem::Flag QskQuickItem::DeferredLayout
|
|
|
|
|
|
|
|
Recalculations of the implicitSize are blocked until being explicitely requested by
|
|
|
|
QQuickItem::implicitSize().
|
|
|
|
|
|
|
|
When being enabled the item indicates layout relevant changes by
|
|
|
|
sending a QEvent::LayoutRequest ( similar to QWidget ) to its parent item
|
|
|
|
without recalculating the actual size hints ( f.e the implicitSize ).
|
|
|
|
|
|
|
|
When having layout code that relies on binding the implicit width/height
|
|
|
|
the QskQuickItem::DeferredLayout flag needs to be disabled.
|
|
|
|
|
|
|
|
\note All layout classes offered by the Qt/Quick modules of the Qt Company
|
|
|
|
( f.e anchors ) do require immediate updates of the implicit size.
|
|
|
|
|
|
|
|
\sa QskQuickItem::resetImplicitSize()
|
|
|
|
|
|
|
|
\var QskQuickItem::Flag QskQuickItem::CleanupOnVisibility
|
|
|
|
|
|
|
|
Delete scene graph nodes, when the item becomes hidden ( QQuickItem::isVisible() ).
|
|
|
|
Enabling this mode will reduce the memory footprint, but comes at the cost
|
|
|
|
of having to recreate nodes later.
|
|
|
|
|
|
|
|
\var QskQuickItem::Flag QskQuickItem::PreferRasterForTextures
|
|
|
|
|
|
|
|
When creating textures from QskGraphic, prefer the raster paint
|
|
|
|
engine over the OpenGL paint engine.
|
|
|
|
|
|
|
|
\var DebugForceBackground
|
|
|
|
|
|
|
|
Always fill the background of the item with a random color.
|
|
|
|
\note This flag is useful when analyzing layouts.
|
|
|
|
|
|
|
|
\sa controlFlags(), setControlFlags(), resetControlFlags()
|
|
|
|
testControlFlag(), setControlFlag(), resetControlFlag()
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::QskQuickItem
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
*!
|
|
|
|
\fn QskQuickItem::~QskQuickItem
|
|
|
|
|
|
|
|
\bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::className
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::isVisibleTo
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::isVisibleToParent
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::hasChildItems
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setGeometry( qreal, qreal, qreal, qreal )
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setGeometry( const QRectF& )
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::geometry() const
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::geometryChange
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::rect
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::implicitSize
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setPolishOnResize
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::polishOnResize() const
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setTransparentForPositioner
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::isTransparentForPositioner
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setTabFence
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::isTabFence
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setLayoutMirroring
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::resetLayoutMirroring
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::layoutMirroring
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setControlFlags
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::resetControlFlags
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::controlFlags
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setControlFlag
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
2020-12-12 14:05:09 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::resetControlFlag
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::testControlFlag
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::controlFlagsChanged
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::classBegin
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::componentComplete
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::releaseResources
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::isPolishScheduled
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::isUpdateNodeScheduled
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
2020-12-12 14:05:09 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
2021-01-25 11:06:01 +01:00
|
|
|
\fn QskQuickItem::isInitiallyPainted
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::maybeUnresized
|
2020-12-08 11:02:57 +01:00
|
|
|
|
2021-01-25 11:06:01 +01:00
|
|
|
bla
|
2020-12-12 14:05:09 +01:00
|
|
|
*/
|
2021-01-25 11:06:01 +01:00
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::itemFlagsChanged
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setGeometry
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::show
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::hide
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::setVisible
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::resetImplicitSize
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::event
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::changeEvent
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::geometryChangeEvent
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::windowChangeEvent
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\fn QskQuickItem::itemChange
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
void \fn QskQuickItem::aboutToShow
|
|
|
|
|
|
|
|
bla
|
|
|
|
*/
|
|
|
|
|