diff options
Diffstat (limited to 'src/layouts/qquicklayout_p.h')
-rw-r--r-- | src/layouts/qquicklayout_p.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/layouts/qquicklayout_p.h b/src/layouts/qquicklayout_p.h index 8a334677..76c19717 100644 --- a/src/layouts/qquicklayout_p.h +++ b/src/layouts/qquicklayout_p.h @@ -77,9 +77,10 @@ public: void componentComplete(); virtual QSizeF sizeHint(Qt::SizeHint whichSizeHint) const = 0; virtual void invalidate(QQuickItem * childItem = 0); + virtual void rearrange(const QSizeF &); + bool arrangementIsDirty() const { return m_dirty; } protected: bool event(QEvent *e); - virtual void rearrange(const QSizeF &); enum Orientation { Vertical = 0, @@ -175,6 +176,22 @@ public: qreal sizeHint(Qt::SizeHint which, Qt::Orientation orientation) const; + bool isExtentExplicitlySet(Qt::Orientation o, Qt::SizeHint whichSize) const + { + switch (whichSize) { + case Qt::MinimumSize: + return o == Qt::Horizontal ? m_isMinimumWidthSet : m_isMinimumHeightSet; + case Qt::MaximumSize: + return o == Qt::Horizontal ? m_isMaximumWidthSet : m_isMaximumHeightSet; + case Qt::PreferredSize: + return true; // Layout.preferredWidth is always explicitly set + case Qt::MinimumDescent: // Not supported + case Qt::NSizeHints: + return false; + } + return false; + } + signals: void minimumWidthChanged(); void minimumHeightChanged(); |