From 3c84c13691556fa397a951f23fd3ec12e45b5a5a Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 6 Sep 2019 19:56:41 +0200 Subject: [PATCH] isVisibleToLayout added --- src/layouts/QskLayoutConstraint.cpp | 11 +++++++++++ src/layouts/QskLayoutConstraint.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/layouts/QskLayoutConstraint.cpp b/src/layouts/QskLayoutConstraint.cpp index 2688ecb6..0bcc1b14 100644 --- a/src/layouts/QskLayoutConstraint.cpp +++ b/src/layouts/QskLayoutConstraint.cpp @@ -494,3 +494,14 @@ void QskLayoutConstraint::setRetainSizeWhenHidden( QQuickItem* item, bool on ) item->setProperty( s_retainSizeWhenHiddenProperty, v ); } } + +bool QskLayoutConstraint::isVisibleToLayout( const QQuickItem* item ) +{ + if ( item ) + { + if ( !qskIsTransparentForPositioner( item ) ) + return qskIsVisibleToParent( item ) || retainSizeWhenHidden( item ); + } + + return false; +} diff --git a/src/layouts/QskLayoutConstraint.h b/src/layouts/QskLayoutConstraint.h index 55b36f06..c2fcd553 100644 --- a/src/layouts/QskLayoutConstraint.h +++ b/src/layouts/QskLayoutConstraint.h @@ -66,6 +66,8 @@ namespace QskLayoutConstraint QSK_EXPORT bool retainSizeWhenHidden( const QQuickItem* ); QSK_EXPORT void setRetainSizeWhenHidden( QQuickItem*, bool ); + QSK_EXPORT bool isVisibleToLayout( const QQuickItem* ); + const qreal unlimited = std::numeric_limits< float >::max(); const QSizeF defaultSizeHints[] = { { 0, 0 }, { -1, -1 }, { unlimited, unlimited } }; }