diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-06-09 11:02:12 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-06-15 09:31:06 +0000 |
commit | d845227aca013f9d3c0d63a394a5c27733f6d019 (patch) | |
tree | 7de60a41546af764d950891ee67ffb918b3aa476 /src/quick/items/qquickpositioners_p_p.h | |
parent | 5b73877777b697c56d8a5f196aa256f67212e4f2 (diff) |
QQuickPositioner: move paddings into extraData
Includes Column, Row, Grid and Flow.
Task-number: QTBUG-46529
Change-Id: Ib49e4fa08d95a94b3eca9fc20865acb9281aaad1
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src/quick/items/qquickpositioners_p_p.h')
-rw-r--r-- | src/quick/items/qquickpositioners_p_p.h | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/src/quick/items/qquickpositioners_p_p.h b/src/quick/items/qquickpositioners_p_p.h index a58f79ac0a..6e1e15d4ef 100644 --- a/src/quick/items/qquickpositioners_p_p.h +++ b/src/quick/items/qquickpositioners_p_p.h @@ -51,6 +51,7 @@ #include <QtQuick/private/qquickstate_p.h> #include <private/qquicktransitionmanager_p_p.h> #include <private/qquickstatechangescript_p.h> +#include <private/qlazilyallocated_p.h> #include <QtCore/qobject.h> #include <QtCore/qstring.h> @@ -65,19 +66,25 @@ class QQuickBasePositionerPrivate : public QQuickImplicitSizeItemPrivate, public Q_DECLARE_PUBLIC(QQuickBasePositioner) public: + struct ExtraData { + ExtraData(); + + qreal padding; + qreal topPadding; + qreal leftPadding; + qreal rightPadding; + qreal bottomPadding; + bool explicitTopPadding : 1; + bool explicitLeftPadding : 1; + bool explicitRightPadding : 1; + bool explicitBottomPadding : 1; + }; + QLazilyAllocated<ExtraData> extra; + QQuickBasePositionerPrivate() : spacing(0), type(QQuickBasePositioner::None) , transitioner(0), positioningDirty(false) , doingPositioning(false), anchorConflict(false), layoutDirection(Qt::LeftToRight) - , padding(0) - , topPadding(0) - , leftPadding(0) - , rightPadding(0) - , bottomPadding(0) - , explicitTopPadding(false) - , explicitLeftPadding(false) - , explicitRightPadding(false) - , explicitBottomPadding(false) { } @@ -108,16 +115,6 @@ public: Qt::LayoutDirection layoutDirection; - qreal padding; - qreal topPadding; - qreal leftPadding; - qreal rightPadding; - qreal bottomPadding; - bool explicitTopPadding; - bool explicitLeftPadding; - bool explicitRightPadding; - bool explicitBottomPadding; - void mirrorChange() Q_DECL_OVERRIDE { effectiveLayoutDirectionChange(); } @@ -170,6 +167,7 @@ public: { } + inline qreal padding() const { return extra.isAllocated() ? extra->padding : 0.0; } void setTopPadding(qreal value, bool reset = false); void setLeftPadding(qreal value, bool reset = false); void setRightPadding(qreal value, bool reset = false); |