diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-06-18 14:46:26 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-06-18 14:45:58 +0000 |
commit | 7f847aef8e27d3870659ab6ec33428bc0e995396 (patch) | |
tree | 066cd567b850f22de44afc66647a7fffcbd8ad00 | |
parent | f8e706403bc0d0c2ba2007f9edd01b60d9ef8dc6 (diff) |
Add Frame::contentData & contentChildren
Change-Id: I7ac0b334c23c5eb49229443f97a50491814321b4
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r-- | src/controls/qquickframe.cpp | 31 | ||||
-rw-r--r-- | src/controls/qquickframe_p.h | 7 | ||||
-rw-r--r-- | src/imports/controls/Frame.qml | 6 | ||||
-rw-r--r-- | src/imports/controls/GroupBox.qml | 6 | ||||
-rw-r--r-- | src/imports/controls/ToolBar.qml | 6 |
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 |