summaryrefslogtreecommitdiff
path: root/src/layouts/qquicklayout_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/layouts/qquicklayout_p.h')
-rw-r--r--src/layouts/qquicklayout_p.h19
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();