summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-12-19 10:19:34 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2016-12-19 09:20:25 +0000
commit8419d93e540fe7435883a2933eb6c6243a562f2c (patch)
tree046689751836fc1256fc0b49a2dd251acaa90ba4
parent5b401df343da32e3a1e858963e76c5bb33350b46 (diff)
Pimplify layout params classes
Change-Id: I110a6bcefdda5609574898ebc03641706832cbee Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
-rw-r--r--src/android/widget/qnativeandroidframelayoutparams.cpp24
-rw-r--r--src/android/widget/qnativeandroidframelayoutparams_p.h5
-rw-r--r--src/android/widget/qnativeandroidlinearlayoutparams.cpp37
-rw-r--r--src/android/widget/qnativeandroidlinearlayoutparams_p.h6
-rw-r--r--src/android/widget/qnativeandroidmarginlayoutparams.cpp60
-rw-r--r--src/android/widget/qnativeandroidmarginlayoutparams_p.h11
-rw-r--r--src/android/widget/qnativeandroidmarginlayoutparams_p_p.h68
-rw-r--r--src/android/widget/qnativeandroidrelativelayoutparams.cpp272
-rw-r--r--src/android/widget/qnativeandroidrelativelayoutparams_p.h28
-rw-r--r--src/android/widget/widget.pri1
10 files changed, 330 insertions, 182 deletions
diff --git a/src/android/widget/qnativeandroidframelayoutparams.cpp b/src/android/widget/qnativeandroidframelayoutparams.cpp
index c1240fb..0bed9e9 100644
--- a/src/android/widget/qnativeandroidframelayoutparams.cpp
+++ b/src/android/widget/qnativeandroidframelayoutparams.cpp
@@ -35,26 +35,35 @@
****************************************************************************/
#include "qnativeandroidframelayoutparams_p.h"
+#include "qnativeandroidmarginlayoutparams_p_p.h"
#include "qnativeandroidview_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidFrameLayoutParams::QNativeAndroidFrameLayoutParams(QNativeAndroidView *view) :
- QNativeAndroidMarginLayoutParams(view)
+class QNativeAndroidFrameLayoutParamsPrivate : public QNativeAndroidMarginLayoutParamsPrivate
+{
+public:
+ QNativeAndroidOptional<int> gravity;
+};
+
+QNativeAndroidFrameLayoutParams::QNativeAndroidFrameLayoutParams(QNativeAndroidView *view)
+ : QNativeAndroidMarginLayoutParams(*(new QNativeAndroidMarginLayoutParamsPrivate), view)
{
}
int QNativeAndroidFrameLayoutParams::gravity() const
{
- if (m_gravity.isNull())
+ Q_D(const QNativeAndroidFrameLayoutParams);
+ if (d->gravity.isNull())
return 0; // TODO
- return m_gravity;
+ return d->gravity;
}
void QNativeAndroidFrameLayoutParams::setGravity(int value)
{
+ Q_D(QNativeAndroidFrameLayoutParams);
if (value != gravity()) {
- m_gravity = value;
+ d->gravity = value;
invalidate();
emit gravityChanged();
}
@@ -69,10 +78,11 @@ QAndroidJniObject QNativeAndroidFrameLayoutParams::onCreate()
void QNativeAndroidFrameLayoutParams::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidFrameLayoutParams);
QNativeAndroidMarginLayoutParams::onInflate(instance);
- if (!m_gravity.isNull())
- instance.callMethod<void>("setGravity", "(I)V", m_gravity);
+ if (!d->gravity.isNull())
+ instance.callMethod<void>("setGravity", "(I)V", d->gravity);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidframelayoutparams_p.h b/src/android/widget/qnativeandroidframelayoutparams_p.h
index 7302ba2..1a041aa 100644
--- a/src/android/widget/qnativeandroidframelayoutparams_p.h
+++ b/src/android/widget/qnativeandroidframelayoutparams_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidFrameLayoutParamsPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidFrameLayoutParams : public QNativeAndroidMarginLayoutParams
{
Q_OBJECT
@@ -71,7 +73,8 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- QNativeAndroidOptional<int> m_gravity;
+ Q_DISABLE_COPY(QNativeAndroidFrameLayoutParams)
+ Q_DECLARE_PRIVATE(QNativeAndroidFrameLayoutParams)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidlinearlayoutparams.cpp b/src/android/widget/qnativeandroidlinearlayoutparams.cpp
index df72cb3..028e43e 100644
--- a/src/android/widget/qnativeandroidlinearlayoutparams.cpp
+++ b/src/android/widget/qnativeandroidlinearlayoutparams.cpp
@@ -35,26 +35,36 @@
****************************************************************************/
#include "qnativeandroidlinearlayoutparams_p.h"
+#include "qnativeandroidmarginlayoutparams_p_p.h"
#include "qnativeandroidview_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidLinearLayoutParams::QNativeAndroidLinearLayoutParams(QNativeAndroidView *view) :
- QNativeAndroidMarginLayoutParams(view)
+class QNativeAndroidLinearLayoutParamsPrivate : public QNativeAndroidMarginLayoutParamsPrivate
+{
+public:
+ QNativeAndroidOptional<int> gravity;
+ QNativeAndroidOptional<qreal> weight;
+};
+
+QNativeAndroidLinearLayoutParams::QNativeAndroidLinearLayoutParams(QNativeAndroidView *view)
+ : QNativeAndroidMarginLayoutParams(*(new QNativeAndroidLinearLayoutParamsPrivate), view)
{
}
int QNativeAndroidLinearLayoutParams::gravity() const
{
- if (m_gravity.isNull())
+ Q_D(const QNativeAndroidLinearLayoutParams);
+ if (d->gravity.isNull())
return 0; // TODO
- return m_gravity;
+ return d->gravity;
}
void QNativeAndroidLinearLayoutParams::setGravity(int value)
{
+ Q_D(QNativeAndroidLinearLayoutParams);
if (value != gravity()) {
- m_gravity = value;
+ d->gravity = value;
invalidate();
emit gravityChanged();
}
@@ -62,15 +72,17 @@ void QNativeAndroidLinearLayoutParams::setGravity(int value)
qreal QNativeAndroidLinearLayoutParams::weight() const
{
- if (m_weight.isNull())
+ Q_D(const QNativeAndroidLinearLayoutParams);
+ if (d->weight.isNull())
return 0.0; // TODO
- return m_weight;
+ return d->weight;
}
void QNativeAndroidLinearLayoutParams::setWeight(qreal value)
{
+ Q_D(QNativeAndroidLinearLayoutParams);
if (value != weight()) {
- m_weight = value;
+ d->weight = value;
invalidate();
emit weightChanged();
}
@@ -85,12 +97,13 @@ QAndroidJniObject QNativeAndroidLinearLayoutParams::onCreate()
void QNativeAndroidLinearLayoutParams::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidLinearLayoutParams);
QNativeAndroidMarginLayoutParams::onInflate(instance);
- if (!m_gravity.isNull())
- instance.setField<jint>("gravity", m_gravity);
- if (!m_weight.isNull())
- instance.setField<jfloat>("weight", m_weight);
+ if (!d->gravity.isNull())
+ instance.setField<jint>("gravity", d->gravity);
+ if (!d->weight.isNull())
+ instance.setField<jfloat>("weight", d->weight);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidlinearlayoutparams_p.h b/src/android/widget/qnativeandroidlinearlayoutparams_p.h
index a9e4d6e..ce3486b 100644
--- a/src/android/widget/qnativeandroidlinearlayoutparams_p.h
+++ b/src/android/widget/qnativeandroidlinearlayoutparams_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidLinearLayoutParamsPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidLinearLayoutParams : public QNativeAndroidMarginLayoutParams
{
Q_OBJECT
@@ -76,8 +78,8 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- QNativeAndroidOptional<int> m_gravity;
- QNativeAndroidOptional<qreal> m_weight;
+ Q_DISABLE_COPY(QNativeAndroidLinearLayoutParams)
+ Q_DECLARE_PRIVATE(QNativeAndroidLinearLayoutParams)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidmarginlayoutparams.cpp b/src/android/widget/qnativeandroidmarginlayoutparams.cpp
index 03dccb2..13cd1c1 100644
--- a/src/android/widget/qnativeandroidmarginlayoutparams.cpp
+++ b/src/android/widget/qnativeandroidmarginlayoutparams.cpp
@@ -35,26 +35,34 @@
****************************************************************************/
#include "qnativeandroidmarginlayoutparams_p.h"
+#include "qnativeandroidmarginlayoutparams_p_p.h"
#include "qnativeandroidview_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidMarginLayoutParams::QNativeAndroidMarginLayoutParams(QNativeAndroidView *view) :
- QNativeAndroidLayoutParams(view)
+QNativeAndroidMarginLayoutParams::QNativeAndroidMarginLayoutParams(QNativeAndroidView *view)
+ : QNativeAndroidLayoutParams(*(new QNativeAndroidMarginLayoutParamsPrivate), view)
+{
+}
+
+QNativeAndroidMarginLayoutParams::QNativeAndroidMarginLayoutParams(QNativeAndroidMarginLayoutParamsPrivate &dd, QNativeAndroidView *view)
+ : QNativeAndroidLayoutParams(dd, view)
{
}
int QNativeAndroidMarginLayoutParams::margin() const
{
- if (m_margin.isNull())
+ Q_D(const QNativeAndroidMarginLayoutParams);
+ if (d->margin.isNull())
return 0;
- return m_margin;
+ return d->margin;
}
void QNativeAndroidMarginLayoutParams::setMargin(int margin)
{
- if (m_margin.isNull() || m_margin != margin) {
- m_margin = margin;
+ Q_D(QNativeAndroidMarginLayoutParams);
+ if (d->margin.isNull() || d->margin != margin) {
+ d->margin = margin;
invalidate();
emit marginChanged();
}
@@ -62,15 +70,17 @@ void QNativeAndroidMarginLayoutParams::setMargin(int margin)
int QNativeAndroidMarginLayoutParams::topMargin() const
{
- if (m_topMargin.isNull())
+ Q_D(const QNativeAndroidMarginLayoutParams);
+ if (d->topMargin.isNull())
return margin();
- return m_topMargin;
+ return d->topMargin;
}
void QNativeAndroidMarginLayoutParams::setTopMargin(int margin)
{
- if (m_topMargin.isNull() || m_topMargin != margin) {
- m_topMargin = margin;
+ Q_D(QNativeAndroidMarginLayoutParams);
+ if (d->topMargin.isNull() || d->topMargin != margin) {
+ d->topMargin = margin;
invalidate();
emit topMarginChanged();
}
@@ -78,15 +88,17 @@ void QNativeAndroidMarginLayoutParams::setTopMargin(int margin)
int QNativeAndroidMarginLayoutParams::leftMargin() const
{
- if (m_leftMargin.isNull())
+ Q_D(const QNativeAndroidMarginLayoutParams);
+ if (d->leftMargin.isNull())
return margin();
- return m_leftMargin;
+ return d->leftMargin;
}
void QNativeAndroidMarginLayoutParams::setLeftMargin(int margin)
{
- if (m_leftMargin.isNull() || m_leftMargin != margin) {
- m_leftMargin = margin;
+ Q_D(QNativeAndroidMarginLayoutParams);
+ if (d->leftMargin.isNull() || d->leftMargin != margin) {
+ d->leftMargin = margin;
invalidate();
emit leftMarginChanged();
}
@@ -94,15 +106,17 @@ void QNativeAndroidMarginLayoutParams::setLeftMargin(int margin)
int QNativeAndroidMarginLayoutParams::rightMargin() const
{
- if (m_rightMargin.isNull())
+ Q_D(const QNativeAndroidMarginLayoutParams);
+ if (d->rightMargin.isNull())
return margin();
- return m_rightMargin;
+ return d->rightMargin;
}
void QNativeAndroidMarginLayoutParams::setRightMargin(int margin)
{
- if (m_rightMargin.isNull() || m_rightMargin != margin) {
- m_rightMargin = margin;
+ Q_D(QNativeAndroidMarginLayoutParams);
+ if (d->rightMargin.isNull() || d->rightMargin != margin) {
+ d->rightMargin = margin;
invalidate();
emit rightMarginChanged();
}
@@ -110,15 +124,17 @@ void QNativeAndroidMarginLayoutParams::setRightMargin(int margin)
int QNativeAndroidMarginLayoutParams::bottomMargin() const
{
- if (m_bottomMargin.isNull())
+ Q_D(const QNativeAndroidMarginLayoutParams);
+ if (d->bottomMargin.isNull())
return margin();
- return m_bottomMargin;
+ return d->bottomMargin;
}
void QNativeAndroidMarginLayoutParams::setBottomMargin(int margin)
{
- if (m_bottomMargin.isNull() || m_bottomMargin != margin) {
- m_bottomMargin = margin;
+ Q_D(QNativeAndroidMarginLayoutParams);
+ if (d->bottomMargin.isNull() || d->bottomMargin != margin) {
+ d->bottomMargin = margin;
invalidate();
emit bottomMarginChanged();
}
diff --git a/src/android/widget/qnativeandroidmarginlayoutparams_p.h b/src/android/widget/qnativeandroidmarginlayoutparams_p.h
index 62a6ffd..c53144c 100644
--- a/src/android/widget/qnativeandroidmarginlayoutparams_p.h
+++ b/src/android/widget/qnativeandroidmarginlayoutparams_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidMarginLayoutParamsPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidMarginLayoutParams : public QNativeAndroidLayoutParams
{
Q_OBJECT
@@ -87,15 +89,14 @@ Q_SIGNALS:
void bottomMarginChanged();
protected:
+ QNativeAndroidMarginLayoutParams(QNativeAndroidMarginLayoutParamsPrivate &dd, QNativeAndroidView *view);
+
QAndroidJniObject onCreate() override;
void onInflate(QAndroidJniObject &instance) override;
private:
- QNativeAndroidOptional<int> m_margin;
- QNativeAndroidOptional<int> m_topMargin;
- QNativeAndroidOptional<int> m_leftMargin;
- QNativeAndroidOptional<int> m_rightMargin;
- QNativeAndroidOptional<int> m_bottomMargin;
+ Q_DISABLE_COPY(QNativeAndroidMarginLayoutParams)
+ Q_DECLARE_PRIVATE(QNativeAndroidMarginLayoutParams)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidmarginlayoutparams_p_p.h b/src/android/widget/qnativeandroidmarginlayoutparams_p_p.h
new file mode 100644
index 0000000..e337b55
--- /dev/null
+++ b/src/android/widget/qnativeandroidmarginlayoutparams_p_p.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt QML Android module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QNATIVEANDROIDMARGINLAYOUTPARAMS_P_P_H
+#define QNATIVEANDROIDMARGINLAYOUTPARAMS_P_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtNativeAndroid/private/qnativeandroidlayoutparams_p_p.h>
+#include <QtNativeAndroid/private/qnativeandroidoptional_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QNativeAndroidMarginLayoutParamsPrivate : public QNativeAndroidLayoutParamsPrivate
+{
+public:
+ QNativeAndroidOptional<int> margin;
+ QNativeAndroidOptional<int> topMargin;
+ QNativeAndroidOptional<int> leftMargin;
+ QNativeAndroidOptional<int> rightMargin;
+ QNativeAndroidOptional<int> bottomMargin;
+};
+
+QT_END_NAMESPACE
+
+#endif // QNATIVEANDROIDMARGINLAYOUTPARAMS_P_P_H
diff --git a/src/android/widget/qnativeandroidrelativelayoutparams.cpp b/src/android/widget/qnativeandroidrelativelayoutparams.cpp
index 4590346..1e45d2e 100644
--- a/src/android/widget/qnativeandroidrelativelayoutparams.cpp
+++ b/src/android/widget/qnativeandroidrelativelayoutparams.cpp
@@ -35,48 +35,57 @@
****************************************************************************/
#include "qnativeandroidrelativelayoutparams_p.h"
+#include "qnativeandroidmarginlayoutparams_p_p.h"
#include "qnativeandroidrelativelayout_p.h"
#include "qnativeandroidview_p.h"
QT_BEGIN_NAMESPACE
-QNativeAndroidRelativeLayoutParams::QNativeAndroidRelativeLayoutParams(QNativeAndroidView *view) :
- QNativeAndroidMarginLayoutParams(view),
- m_above(0),
- m_below(0),
- m_alignTop(0),
- m_alignLeft(0),
- m_alignRight(0),
- m_alignBottom(0),
- m_alignStart(0),
- m_alignEnd(0),
- m_alignBaseline(0),
- m_toLeftOf(0),
- m_toRightOf(0),
- m_toStartOf(0),
- m_toEndOf(0),
- m_alignParentTop(false),
- m_alignParentLeft(false),
- m_alignParentRight(false),
- m_alignParentBottom(false),
- m_alignParentStart(false),
- m_alignParentEnd(false),
- m_alignWithParent(false),
- m_centerHorizontal(false),
- m_centerVertical(false),
- m_centerInParent(false)
+class QNativeAndroidRelativeLayoutParamsPrivate : public QNativeAndroidMarginLayoutParamsPrivate
+{
+public:
+ QNativeAndroidView *above = nullptr;
+ QNativeAndroidView *below = nullptr;
+ QNativeAndroidView *alignTop = nullptr;
+ QNativeAndroidView *alignLeft = nullptr;
+ QNativeAndroidView *alignRight = nullptr;
+ QNativeAndroidView *alignBottom = nullptr;
+ QNativeAndroidView *alignStart = nullptr;
+ QNativeAndroidView *alignEnd = nullptr;
+ QNativeAndroidView *alignBaseline = nullptr;
+ QNativeAndroidView *toLeftOf = nullptr;
+ QNativeAndroidView *toRightOf = nullptr;
+ QNativeAndroidView *toStartOf = nullptr;
+ QNativeAndroidView *toEndOf = nullptr;
+
+ bool alignParentTop = false;
+ bool alignParentLeft = false;
+ bool alignParentRight = false;
+ bool alignParentBottom = false;
+ bool alignParentStart = false;
+ bool alignParentEnd = false;
+ bool alignWithParent = false;
+ bool centerHorizontal = false;
+ bool centerVertical = false;
+ bool centerInParent = false;
+};
+
+QNativeAndroidRelativeLayoutParams::QNativeAndroidRelativeLayoutParams(QNativeAndroidView *view)
+ : QNativeAndroidMarginLayoutParams(*(new QNativeAndroidRelativeLayoutParamsPrivate), view)
{
}
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::above() const
{
- return m_above;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->above;
}
void QNativeAndroidRelativeLayoutParams::setAbove(QNativeAndroidView *view)
{
- if (view != m_above) {
- m_above = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->above) {
+ d->above = view;
invalidate();
emit aboveChanged();
}
@@ -84,13 +93,15 @@ void QNativeAndroidRelativeLayoutParams::setAbove(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::below() const
{
- return m_below;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->below;
}
void QNativeAndroidRelativeLayoutParams::setBelow(QNativeAndroidView *view)
{
- if (view != m_below) {
- m_below = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->below) {
+ d->below = view;
invalidate();
emit belowChanged();
}
@@ -98,13 +109,15 @@ void QNativeAndroidRelativeLayoutParams::setBelow(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignTop() const
{
- return m_alignTop;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignTop;
}
void QNativeAndroidRelativeLayoutParams::setAlignTop(QNativeAndroidView *view)
{
- if (view != m_alignTop) {
- m_alignTop = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignTop) {
+ d->alignTop = view;
invalidate();
emit alignTopChanged();
}
@@ -112,13 +125,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignTop(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignLeft() const
{
- return m_alignLeft;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignLeft;
}
void QNativeAndroidRelativeLayoutParams::setAlignLeft(QNativeAndroidView *view)
{
- if (view != m_alignLeft) {
- m_alignLeft = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignLeft) {
+ d->alignLeft = view;
invalidate();
emit alignLeftChanged();
}
@@ -126,13 +141,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignLeft(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignRight() const
{
- return m_alignRight;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignRight;
}
void QNativeAndroidRelativeLayoutParams::setAlignRight(QNativeAndroidView *view)
{
- if (view != m_alignRight) {
- m_alignRight = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignRight) {
+ d->alignRight = view;
invalidate();
emit alignRightChanged();
}
@@ -140,13 +157,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignRight(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignBottom() const
{
- return m_alignBottom;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignBottom;
}
void QNativeAndroidRelativeLayoutParams::setAlignBottom(QNativeAndroidView *view)
{
- if (view != m_alignBottom) {
- m_alignBottom = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignBottom) {
+ d->alignBottom = view;
invalidate();
emit alignBottomChanged();
}
@@ -154,13 +173,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignBottom(QNativeAndroidView *view
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignStart() const
{
- return m_alignStart;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignStart;
}
void QNativeAndroidRelativeLayoutParams::setAlignStart(QNativeAndroidView *view)
{
- if (view != m_alignStart) {
- m_alignStart = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignStart) {
+ d->alignStart = view;
invalidate();
emit alignStartChanged();
}
@@ -168,13 +189,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignStart(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignEnd() const
{
- return m_alignEnd;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignEnd;
}
void QNativeAndroidRelativeLayoutParams::setAlignEnd(QNativeAndroidView *view)
{
- if (view != m_alignEnd) {
- m_alignEnd = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignEnd) {
+ d->alignEnd = view;
invalidate();
emit alignEndChanged();
}
@@ -182,13 +205,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignEnd(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::alignBaseline() const
{
- return m_alignBaseline;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignBaseline;
}
void QNativeAndroidRelativeLayoutParams::setAlignBaseline(QNativeAndroidView *view)
{
- if (view != m_alignBaseline) {
- m_alignBaseline = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->alignBaseline) {
+ d->alignBaseline = view;
invalidate();
emit alignBaselineChanged();
}
@@ -196,13 +221,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignBaseline(QNativeAndroidView *vi
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::toLeftOf() const
{
- return m_toLeftOf;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->toLeftOf;
}
void QNativeAndroidRelativeLayoutParams::setToLeftOf(QNativeAndroidView *view)
{
- if (view != m_toLeftOf) {
- m_toLeftOf = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->toLeftOf) {
+ d->toLeftOf = view;
invalidate();
emit toLeftOfChanged();
}
@@ -210,13 +237,15 @@ void QNativeAndroidRelativeLayoutParams::setToLeftOf(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::toRightOf() const
{
- return m_toRightOf;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->toRightOf;
}
void QNativeAndroidRelativeLayoutParams::setToRightOf(QNativeAndroidView *view)
{
- if (view != m_toRightOf) {
- m_toRightOf = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->toRightOf) {
+ d->toRightOf = view;
invalidate();
emit toRightOfChanged();
}
@@ -224,13 +253,15 @@ void QNativeAndroidRelativeLayoutParams::setToRightOf(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::toStartOf() const
{
- return m_toStartOf;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->toStartOf;
}
void QNativeAndroidRelativeLayoutParams::setToStartOf(QNativeAndroidView *view)
{
- if (view != m_toStartOf) {
- m_toStartOf = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->toStartOf) {
+ d->toStartOf = view;
invalidate();
emit toStartOfChanged();
}
@@ -238,13 +269,15 @@ void QNativeAndroidRelativeLayoutParams::setToStartOf(QNativeAndroidView *view)
QNativeAndroidView *QNativeAndroidRelativeLayoutParams::toEndOf() const
{
- return m_toEndOf;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->toEndOf;
}
void QNativeAndroidRelativeLayoutParams::setToEndOf(QNativeAndroidView *view)
{
- if (view != m_toEndOf) {
- m_toEndOf = view;
+ Q_D(QNativeAndroidRelativeLayoutParams);
+ if (view != d->toEndOf) {
+ d->toEndOf = view;
invalidate();
emit toEndOfChanged();
}
@@ -252,13 +285,15 @@ void QNativeAndroidRelativeLayoutParams::setToEndOf(QNativeAndroidView *view)
bool QNativeAndroidRelativeLayoutParams::alignParentTop() const
{
- return m_alignParentTop;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignParentTop;
}
void QNativeAndroidRelativeLayoutParams::setAlignParentTop(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignParentTop()) {
- m_alignParentTop = align;
+ d->alignParentTop = align;
invalidate();
emit alignParentTopChanged();
}
@@ -266,13 +301,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignParentTop(bool align)
bool QNativeAndroidRelativeLayoutParams::alignParentLeft() const
{
- return m_alignParentLeft;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignParentLeft;
}
void QNativeAndroidRelativeLayoutParams::setAlignParentLeft(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignParentLeft()) {
- m_alignParentLeft = align;
+ d->alignParentLeft = align;
invalidate();
emit alignParentLeftChanged();
}
@@ -280,13 +317,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignParentLeft(bool align)
bool QNativeAndroidRelativeLayoutParams::alignParentRight() const
{
- return m_alignParentRight;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignParentRight;
}
void QNativeAndroidRelativeLayoutParams::setAlignParentRight(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignParentRight()) {
- m_alignParentRight = align;
+ d->alignParentRight = align;
invalidate();
emit alignParentRightChanged();
}
@@ -294,13 +333,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignParentRight(bool align)
bool QNativeAndroidRelativeLayoutParams::alignParentBottom() const
{
- return m_alignParentBottom;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignParentBottom;
}
void QNativeAndroidRelativeLayoutParams::setAlignParentBottom(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignParentBottom()) {
- m_alignParentBottom = align;
+ d->alignParentBottom = align;
invalidate();
emit alignParentBottomChanged();
}
@@ -308,13 +349,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignParentBottom(bool align)
bool QNativeAndroidRelativeLayoutParams::alignParentStart() const
{
- return m_alignParentStart;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignParentStart;
}
void QNativeAndroidRelativeLayoutParams::setAlignParentStart(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignParentStart()) {
- m_alignParentStart = align;
+ d->alignParentStart = align;
invalidate();
emit alignParentStartChanged();
}
@@ -322,13 +365,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignParentStart(bool align)
bool QNativeAndroidRelativeLayoutParams::alignParentEnd() const
{
- return m_alignParentEnd;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignParentEnd;
}
void QNativeAndroidRelativeLayoutParams::setAlignParentEnd(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignParentEnd()) {
- m_alignParentEnd = align;
+ d->alignParentEnd = align;
invalidate();
emit alignParentEndChanged();
}
@@ -336,13 +381,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignParentEnd(bool align)
bool QNativeAndroidRelativeLayoutParams::alignWithParent() const
{
- return m_alignWithParent;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->alignWithParent;
}
void QNativeAndroidRelativeLayoutParams::setAlignWithParent(bool align)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (align != alignWithParent()) {
- m_alignWithParent = align;
+ d->alignWithParent = align;
invalidate();
emit alignWithParentChanged();
}
@@ -350,13 +397,15 @@ void QNativeAndroidRelativeLayoutParams::setAlignWithParent(bool align)
bool QNativeAndroidRelativeLayoutParams::centerHorizontal() const
{
- return m_centerHorizontal;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->centerHorizontal;
}
void QNativeAndroidRelativeLayoutParams::setCenterHorizontal(bool center)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (center != centerHorizontal()) {
- m_centerHorizontal = center;
+ d->centerHorizontal = center;
invalidate();
emit centerHorizontalChanged();
}
@@ -364,13 +413,15 @@ void QNativeAndroidRelativeLayoutParams::setCenterHorizontal(bool center)
bool QNativeAndroidRelativeLayoutParams::centerVertical() const
{
- return m_centerVertical;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->centerVertical;
}
void QNativeAndroidRelativeLayoutParams::setCenterVertical(bool center)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (center != centerVertical()) {
- m_centerVertical = center;
+ d->centerVertical = center;
invalidate();
emit centerVerticalChanged();
}
@@ -378,13 +429,15 @@ void QNativeAndroidRelativeLayoutParams::setCenterVertical(bool center)
bool QNativeAndroidRelativeLayoutParams::centerInParent() const
{
- return m_centerInParent;
+ Q_D(const QNativeAndroidRelativeLayoutParams);
+ return d->centerInParent;
}
void QNativeAndroidRelativeLayoutParams::setCenterInParent(bool center)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
if (center != centerInParent()) {
- m_centerInParent = center;
+ d->centerInParent = center;
invalidate();
emit centerInParentChanged();
}
@@ -413,33 +466,34 @@ static void addRule(QAndroidJniObject &instance, bool value, QNativeAndroidRelat
void QNativeAndroidRelativeLayoutParams::onInflate(QAndroidJniObject &instance)
{
+ Q_D(QNativeAndroidRelativeLayoutParams);
QNativeAndroidMarginLayoutParams::onInflate(instance);
- instance.setField<jboolean>("alignWithParent", m_alignWithParent);
-
- addRule(instance, m_above, QNativeAndroidRelativeLayout::ABOVE);
- addRule(instance, m_below, QNativeAndroidRelativeLayout::BELOW);
- addRule(instance, m_alignTop, QNativeAndroidRelativeLayout::ALIGN_TOP);
- addRule(instance, m_alignLeft, QNativeAndroidRelativeLayout::ALIGN_LEFT);
- addRule(instance, m_alignRight, QNativeAndroidRelativeLayout::ALIGN_RIGHT);
- addRule(instance, m_alignBottom, QNativeAndroidRelativeLayout::ALIGN_BOTTOM);
- addRule(instance, m_alignStart, QNativeAndroidRelativeLayout::ALIGN_START);
- addRule(instance, m_alignEnd, QNativeAndroidRelativeLayout::ALIGN_END);
- addRule(instance, m_alignBaseline, QNativeAndroidRelativeLayout::ALIGN_BASELINE);
- addRule(instance, m_toLeftOf, QNativeAndroidRelativeLayout::LEFT_OF);
- addRule(instance, m_toRightOf, QNativeAndroidRelativeLayout::RIGHT_OF);
- addRule(instance, m_toStartOf, QNativeAndroidRelativeLayout::START_OF);
- addRule(instance, m_toEndOf, QNativeAndroidRelativeLayout::END_OF);
-
- addRule(instance, m_alignParentTop, QNativeAndroidRelativeLayout::ALIGN_PARENT_TOP);
- addRule(instance, m_alignParentLeft, QNativeAndroidRelativeLayout::ALIGN_PARENT_LEFT);
- addRule(instance, m_alignParentRight, QNativeAndroidRelativeLayout::ALIGN_PARENT_RIGHT);
- addRule(instance, m_alignParentBottom, QNativeAndroidRelativeLayout::ALIGN_PARENT_BOTTOM);
- addRule(instance, m_alignParentStart, QNativeAndroidRelativeLayout::ALIGN_PARENT_START);
- addRule(instance, m_alignParentEnd, QNativeAndroidRelativeLayout::ALIGN_PARENT_END);
- addRule(instance, m_centerHorizontal, QNativeAndroidRelativeLayout::CENTER_HORIZONTAL);
- addRule(instance, m_centerVertical, QNativeAndroidRelativeLayout::CENTER_VERTICAL);
- addRule(instance, m_centerInParent, QNativeAndroidRelativeLayout::CENTER_IN_PARENT);
+ instance.setField<jboolean>("alignWithParent", d->alignWithParent);
+
+ addRule(instance, d->above, QNativeAndroidRelativeLayout::ABOVE);
+ addRule(instance, d->below, QNativeAndroidRelativeLayout::BELOW);
+ addRule(instance, d->alignTop, QNativeAndroidRelativeLayout::ALIGN_TOP);
+ addRule(instance, d->alignLeft, QNativeAndroidRelativeLayout::ALIGN_LEFT);
+ addRule(instance, d->alignRight, QNativeAndroidRelativeLayout::ALIGN_RIGHT);
+ addRule(instance, d->alignBottom, QNativeAndroidRelativeLayout::ALIGN_BOTTOM);
+ addRule(instance, d->alignStart, QNativeAndroidRelativeLayout::ALIGN_START);
+ addRule(instance, d->alignEnd, QNativeAndroidRelativeLayout::ALIGN_END);
+ addRule(instance, d->alignBaseline, QNativeAndroidRelativeLayout::ALIGN_BASELINE);
+ addRule(instance, d->toLeftOf, QNativeAndroidRelativeLayout::LEFT_OF);
+ addRule(instance, d->toRightOf, QNativeAndroidRelativeLayout::RIGHT_OF);
+ addRule(instance, d->toStartOf, QNativeAndroidRelativeLayout::START_OF);
+ addRule(instance, d->toEndOf, QNativeAndroidRelativeLayout::END_OF);
+
+ addRule(instance, d->alignParentTop, QNativeAndroidRelativeLayout::ALIGN_PARENT_TOP);
+ addRule(instance, d->alignParentLeft, QNativeAndroidRelativeLayout::ALIGN_PARENT_LEFT);
+ addRule(instance, d->alignParentRight, QNativeAndroidRelativeLayout::ALIGN_PARENT_RIGHT);
+ addRule(instance, d->alignParentBottom, QNativeAndroidRelativeLayout::ALIGN_PARENT_BOTTOM);
+ addRule(instance, d->alignParentStart, QNativeAndroidRelativeLayout::ALIGN_PARENT_START);
+ addRule(instance, d->alignParentEnd, QNativeAndroidRelativeLayout::ALIGN_PARENT_END);
+ addRule(instance, d->centerHorizontal, QNativeAndroidRelativeLayout::CENTER_HORIZONTAL);
+ addRule(instance, d->centerVertical, QNativeAndroidRelativeLayout::CENTER_VERTICAL);
+ addRule(instance, d->centerInParent, QNativeAndroidRelativeLayout::CENTER_IN_PARENT);
}
QT_END_NAMESPACE
diff --git a/src/android/widget/qnativeandroidrelativelayoutparams_p.h b/src/android/widget/qnativeandroidrelativelayoutparams_p.h
index 29a5bba..8d40726 100644
--- a/src/android/widget/qnativeandroidrelativelayoutparams_p.h
+++ b/src/android/widget/qnativeandroidrelativelayoutparams_p.h
@@ -52,6 +52,8 @@
QT_BEGIN_NAMESPACE
+class QNativeAndroidRelativeLayoutParamsPrivate;
+
class Q_NATIVEANDROID_EXPORT QNativeAndroidRelativeLayoutParams : public QNativeAndroidMarginLayoutParams
{
Q_OBJECT
@@ -182,30 +184,8 @@ protected:
void onInflate(QAndroidJniObject &instance) override;
private:
- QNativeAndroidView *m_above;
- QNativeAndroidView *m_below;
- QNativeAndroidView *m_alignTop;
- QNativeAndroidView *m_alignLeft;
- QNativeAndroidView *m_alignRight;
- QNativeAndroidView *m_alignBottom;
- QNativeAndroidView *m_alignStart;
- QNativeAndroidView *m_alignEnd;
- QNativeAndroidView *m_alignBaseline;
- QNativeAndroidView *m_toLeftOf;
- QNativeAndroidView *m_toRightOf;
- QNativeAndroidView *m_toStartOf;
- QNativeAndroidView *m_toEndOf;
-
- bool m_alignParentTop;
- bool m_alignParentLeft;
- bool m_alignParentRight;
- bool m_alignParentBottom;
- bool m_alignParentStart;
- bool m_alignParentEnd;
- bool m_alignWithParent;
- bool m_centerHorizontal;
- bool m_centerVertical;
- bool m_centerInParent;
+ Q_DISABLE_COPY(QNativeAndroidRelativeLayoutParams)
+ Q_DECLARE_PRIVATE(QNativeAndroidRelativeLayoutParams)
};
QT_END_NAMESPACE
diff --git a/src/android/widget/widget.pri b/src/android/widget/widget.pri
index b00d080..d19b477 100644
--- a/src/android/widget/widget.pri
+++ b/src/android/widget/widget.pri
@@ -18,6 +18,7 @@ HEADERS += \
$$PWD/qnativeandroidlinearlayoutparams_p.h \
$$PWD/qnativeandroidlistview_p.h \
$$PWD/qnativeandroidmarginlayoutparams_p.h \
+ $$PWD/qnativeandroidmarginlayoutparams_p_p.h \
$$PWD/qnativeandroidnumberpicker_p.h \
$$PWD/qnativeandroidpopupmenu_p.h \
$$PWD/qnativeandroidprogressbar_p.h \