aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2015-06-18 14:46:26 +0200
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2015-06-18 14:45:58 +0000
commit7f847aef8e27d3870659ab6ec33428bc0e995396 (patch)
tree066cd567b850f22de44afc66647a7fffcbd8ad00
parentf8e706403bc0d0c2ba2007f9edd01b60d9ef8dc6 (diff)
Add Frame::contentData & contentChildren
Change-Id: I7ac0b334c23c5eb49229443f97a50491814321b4 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r--src/controls/qquickframe.cpp31
-rw-r--r--src/controls/qquickframe_p.h7
-rw-r--r--src/imports/controls/Frame.qml6
-rw-r--r--src/imports/controls/GroupBox.qml6
-rw-r--r--src/imports/controls/ToolBar.qml6
5 files changed, 41 insertions, 15 deletions
diff --git a/src/controls/qquickframe.cpp b/src/controls/qquickframe.cpp
index ae642b61..80ea09cc 100644
--- a/src/controls/qquickframe.cpp
+++ b/src/controls/qquickframe.cpp
@@ -127,4 +127,35 @@ void QQuickFrame::setFrame(QQuickItem *frame)
}
}
+/*!
+ \qmlproperty list<Object> QtQuickControls2::Frame::contentData
+ \default
+
+ TODO
+*/
+QQmlListProperty<QObject> QQuickFrame::contentData()
+{
+ Q_D(QQuickFrame);
+ return QQmlListProperty<QObject>(d->contentItem, Q_NULLPTR,
+ QQuickItemPrivate::data_append,
+ QQuickItemPrivate::data_count,
+ QQuickItemPrivate::data_at,
+ QQuickItemPrivate::data_clear);
+}
+
+/*!
+ \qmlproperty list<Item> QtQuickControls2::Frame::contentChildren
+
+ TODO
+*/
+QQmlListProperty<QQuickItem> QQuickFrame::contentChildren()
+{
+ Q_D(QQuickFrame);
+ return QQmlListProperty<QQuickItem>(d->contentItem, Q_NULLPTR,
+ QQuickItemPrivate::children_append,
+ QQuickItemPrivate::children_count,
+ QQuickItemPrivate::children_at,
+ QQuickItemPrivate::children_clear);
+}
+
QT_END_NAMESPACE
diff --git a/src/controls/qquickframe_p.h b/src/controls/qquickframe_p.h
index b56f9fcb..b85bb826 100644
--- a/src/controls/qquickframe_p.h
+++ b/src/controls/qquickframe_p.h
@@ -49,6 +49,7 @@
//
#include <QtQuickControls/private/qquickcontrol_p.h>
+#include <QtQml/qqmllist.h>
QT_BEGIN_NAMESPACE
@@ -60,6 +61,9 @@ class Q_QUICKCONTROLS_EXPORT QQuickFrame : public QQuickControl
Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth NOTIFY contentWidthChanged FINAL)
Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight NOTIFY contentHeightChanged FINAL)
Q_PROPERTY(QQuickItem *frame READ frame WRITE setFrame NOTIFY frameChanged FINAL)
+ Q_PROPERTY(QQmlListProperty<QObject> contentData READ contentData FINAL)
+ Q_PROPERTY(QQmlListProperty<QQuickItem> contentChildren READ contentChildren FINAL)
+ Q_CLASSINFO("DefaultProperty", "contentData")
public:
explicit QQuickFrame(QQuickItem *parent = Q_NULLPTR);
@@ -73,6 +77,9 @@ public:
QQuickItem *frame() const;
void setFrame(QQuickItem *frame);
+ QQmlListProperty<QObject> contentData();
+ QQmlListProperty<QQuickItem> contentChildren();
+
Q_SIGNALS:
void contentWidthChanged();
void contentHeightChanged();
diff --git a/src/imports/controls/Frame.qml b/src/imports/controls/Frame.qml
index 9fad13dc..7580fb06 100644
--- a/src/imports/controls/Frame.qml
+++ b/src/imports/controls/Frame.qml
@@ -40,8 +40,6 @@ import QtQuick.Controls 2.0
AbstractFrame {
id: control
- default property alias data: content.data
-
implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding)
@@ -50,9 +48,7 @@ AbstractFrame {
padding: Theme.padding
- contentItem: Item {
- id: content
- }
+ contentItem: Item { }
frame: Rectangle {
width: parent.width
diff --git a/src/imports/controls/GroupBox.qml b/src/imports/controls/GroupBox.qml
index a0af61da..c52af3ae 100644
--- a/src/imports/controls/GroupBox.qml
+++ b/src/imports/controls/GroupBox.qml
@@ -40,8 +40,6 @@ import QtQuick.Controls 2.0
AbstractGroupBox {
id: control
- default property alias data: content.data
-
implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding)
@@ -51,9 +49,7 @@ AbstractGroupBox {
padding: Theme.padding
topPadding: Theme.padding + (label && title ? label.implicitHeight + Theme.spacing : 0)
- contentItem: Item {
- id: content
- }
+ contentItem: Item { }
label: Text {
x: control.leftPadding
diff --git a/src/imports/controls/ToolBar.qml b/src/imports/controls/ToolBar.qml
index e2bf8eac..f81ff916 100644
--- a/src/imports/controls/ToolBar.qml
+++ b/src/imports/controls/ToolBar.qml
@@ -40,8 +40,6 @@ import QtQuick.Controls 2.0
AbstractToolBar {
id: control
- default property alias data: content.data
-
implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding)
@@ -50,9 +48,7 @@ AbstractToolBar {
Accessible.role: Accessible.ToolBar
- contentItem: Item {
- id: content
- }
+ contentItem: Item { }
background: Rectangle {
implicitHeight: 26