From 3d58c9492662e8864c5042fbd85f231f96d69512 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Tue, 5 Nov 2019 11:47:56 +0100 Subject: [PATCH] qskItemUpdateRecursive added --- src/controls/QskQuick.cpp | 11 +++++++++++ src/controls/QskQuick.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/controls/QskQuick.cpp b/src/controls/QskQuick.cpp index c820b45e..77ecf29c 100644 --- a/src/controls/QskQuick.cpp +++ b/src/controls/QskQuick.cpp @@ -621,4 +621,15 @@ QRectF qskConstrainedItemRect( const QQuickItem* item, return qskAlignedRectF( rect, size.width(), size.height(), alignment ); } +void qskItemUpdateRecursive( QQuickItem* item ) +{ + if ( item == nullptr ) + return; + if ( item->flags() & QQuickItem::ItemHasContents ) + item->update(); + + const auto& children = QQuickItemPrivate::get( item )->childItems; + for ( auto child : children ) + qskItemUpdateRecursive( child ); +} diff --git a/src/controls/QskQuick.h b/src/controls/QskQuick.h index be5a039a..0f723f5d 100644 --- a/src/controls/QskQuick.h +++ b/src/controls/QskQuick.h @@ -64,6 +64,8 @@ QSK_EXPORT void qskInputMethodSetVisible( const QQuickItem*, bool ); QSK_EXPORT const QSGNode* qskItemNode( const QQuickItem* ); QSK_EXPORT const QSGNode* qskPaintNode( const QQuickItem* ); +QSK_EXPORT void qskItemUpdateRecursive( QQuickItem* ); + inline void qskSetItemGeometry( QQuickItem* item, qreal x, qreal y, qreal width, qreal height ) {