summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/quick/controls/gallery/content/Layouts.qml108
-rw-r--r--examples/quick/controls/gallery/content/Panel.qml140
-rw-r--r--examples/quick/controls/gallery/images/page.pngbin639 -> 0 bytes
-rw-r--r--examples/quick/controls/gallery/images/panel.pngbin1756 -> 0 bytes
-rw-r--r--examples/quick/controls/gallery/main.qml4
-rw-r--r--examples/quick/controls/gallery/resources.qrc4
-rw-r--r--src/controls/GroupBox.qml8
7 files changed, 117 insertions, 147 deletions
diff --git a/examples/quick/controls/gallery/content/Layouts.qml b/examples/quick/controls/gallery/content/Layouts.qml
new file mode 100644
index 00000000..1251947a
--- /dev/null
+++ b/examples/quick/controls/gallery/content/Layouts.qml
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.1
+import QtQuick.Controls 1.0
+import QtQuick.Layouts 1.0
+
+Item {
+ id:root
+ anchors.fill: parent
+ anchors.margins: 8
+
+ ColumnLayout {
+ id: mainLayout
+ anchors.fill: parent
+ spacing: 4
+ GroupBox {
+ id: rowBox
+ title: "Row layout"
+ Layout.fillWidth: true
+ RowLayout {
+ id: rowLayout
+ anchors.fill: parent
+ TextField {
+ placeholderText: "This wants to grow horizontally"
+ Layout.fillWidth: true
+ }
+ Button {
+ text: "Button"
+ }
+ }
+ }
+
+ GroupBox {
+ id: gridBox
+ title: "Grid layout"
+ Layout.fillWidth: true
+
+ GridLayout {
+ id: gridLayout
+ anchors.fill: parent
+ anchors.margins: 4
+ rows: 3
+ flow: GridLayout.TopToBottom
+
+ Label { text: "Line 1" }
+ Label { text: "Line 2" }
+ Label { text: "Line 3" }
+
+ TextField { }
+ TextField { }
+ TextField { }
+
+ TextArea {
+ text: "This widget spans over three rows in the GridLayout.\n"
+ + "All items in the GridLayout are implicitly positioned from top to bottom."
+ Layout.rowSpan: 3
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ }
+ }
+ }
+ TextArea {
+ id: t3
+ text: "This fills the whole cell"
+ Layout.minimumHeight: 30
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ }
+ }
+}
diff --git a/examples/quick/controls/gallery/content/Panel.qml b/examples/quick/controls/gallery/content/Panel.qml
deleted file mode 100644
index bdb10f83..00000000
--- a/examples/quick/controls/gallery/content/Panel.qml
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Quick Controls module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
-** of its contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-
-
-
-import QtQuick 2.1
-import QtQuick.Controls 1.0
-
-Rectangle {
- id:root
-
- width: 540
- height: 340
- color:"#c3c3c3"
- ScrollView {
- frameVisible: false
- anchors.fill: parent
-
- Item {
- width:600
- height:600
- BorderImage {
- id: page
- source: "../images/page.png"
- y:10; x:50
- width: 400; height: 400
- border.left: 12; border.top: 12
- border.right: 12; border.bottom: 12
- Text {
- id:text
- anchors.fill: parent
- anchors.margins: 40
- text:textfield.text
- }
- Rectangle {
- border.color: "#444"
- anchors.centerIn: parent
- color: Qt.rgba(s1.value, s2.value, s3.value)
- width: 200
- height: width
- }
-
- }
-
- BorderImage {
- id: sidebar
- source: "../images/panel.png"
- anchors.left: parent.left
- anchors.top: parent.top
- width: show ? 160 : 40
- height:root.height
- Behavior on width { NumberAnimation { easing.type: Easing.OutSine ; duration: 250 } }
- property bool show: false
- border.left: 0;
- border.right: 26;
- MouseArea {
- id:mouseArea
- anchors.fill: parent
- onClicked: sidebar.show = !sidebar.show
- }
- Column {
- id: panel1
- opacity: sidebar.show ? 1 : 0
- Behavior on opacity { NumberAnimation { easing.type:Easing.InCubic; duration: 600} }
-
- scale: sidebar.show ? 1 : 0
- Behavior on scale { NumberAnimation { easing.type:Easing.InCubic; duration: 200 } }
- transformOrigin: Item.Top
-
- anchors.top: parent.top
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.margins: 12
- spacing:12
-
- Button { width: parent.width - 12; text: "Close Panel"; onClicked: sidebar.show = false}
- TextField { id: textfield; text: "Some text" ; width: parent.width - 12}
- SpinBox { width: parent.width - 12}
- CheckBox{ id: expander; text:"Sliders"}
- }
-
- Column {
- id: panel2
- opacity: expander.checked && sidebar.show ? 1 : 0
- scale: opacity
- Behavior on opacity{ NumberAnimation { easing.type:Easing.OutSine; duration: 300}}
- transformOrigin: Item.Top
- anchors.top: panel1.bottom
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.margins: 12
- spacing: 12
- Slider { id: s1; width:parent.width - 12; value:0.5}
- Slider { id: s2; width:parent.width - 12; value:0.5}
- Slider { id: s3; width:parent.width - 12; value:0.5}
-
- }
- }
- }
- }
-}
diff --git a/examples/quick/controls/gallery/images/page.png b/examples/quick/controls/gallery/images/page.png
deleted file mode 100644
index b46f205d..00000000
--- a/examples/quick/controls/gallery/images/page.png
+++ /dev/null
Binary files differ
diff --git a/examples/quick/controls/gallery/images/panel.png b/examples/quick/controls/gallery/images/panel.png
deleted file mode 100644
index 02d655eb..00000000
--- a/examples/quick/controls/gallery/images/panel.png
+++ /dev/null
Binary files differ
diff --git a/examples/quick/controls/gallery/main.qml b/examples/quick/controls/gallery/main.qml
index 7da74031..e34858cd 100644
--- a/examples/quick/controls/gallery/main.qml
+++ b/examples/quick/controls/gallery/main.qml
@@ -281,8 +281,8 @@ ApplicationWindow {
Styles { anchors.fill: parent }
}
Tab {
- title: "Sidebar"
- Panel { anchors.fill:parent }
+ title: "Layouts"
+ Layouts { anchors.fill:parent }
}
}
}
diff --git a/examples/quick/controls/gallery/resources.qrc b/examples/quick/controls/gallery/resources.qrc
index 14e88e52..21362787 100644
--- a/examples/quick/controls/gallery/resources.qrc
+++ b/examples/quick/controls/gallery/resources.qrc
@@ -5,18 +5,16 @@
<file>content/Controls.qml</file>
<file>content/ImageViewer.qml</file>
<file>content/ModelView.qml</file>
- <file>content/Panel.qml</file>
+ <file>content/Layouts.qml</file>
<file>content/Styles.qml</file>
<file>images/document-open.png</file>
<file>images/document-open@2x.png</file>
<file>images/document-save-as.png</file>
<file>images/document-save-as@2x.png</file>
<file>images/folder_new.png</file>
- <file>images/page.png</file>
<file>images/tab.png</file>
<file>images/tab_selected.png</file>
<file>images/window-new.png</file>
<file>images/window-new@2x.png</file>
- <file>images/panel.png</file>
</qresource>
</RCC>
diff --git a/src/controls/GroupBox.qml b/src/controls/GroupBox.qml
index e358dd9d..9bf1c0cc 100644
--- a/src/controls/GroupBox.qml
+++ b/src/controls/GroupBox.qml
@@ -212,7 +212,11 @@ Item {
enabled: (!groupbox.checkable || groupbox.checked)
property Item layoutItem: container.children.length === 1 ? container.children[0] : null
- function calcWidth () { return (layoutItem ? (layoutItem.implicitWidth || layoutItem.width) : container.childrenRect.width) }
- function calcHeight () { return (layoutItem ? (layoutItem.implicitHeight || layoutItem.height) : container.childrenRect.height) }
+ function calcWidth () { return (layoutItem ? (layoutItem.implicitWidth || layoutItem.width) +
+ (layoutItem.anchors.fill ? layoutItem.anchors.leftMargin +
+ layoutItem.anchors.rightMargin : 0) : container.childrenRect.width) }
+ function calcHeight () { return (layoutItem ? (layoutItem.implicitHeight || layoutItem.height) +
+ (layoutItem.anchors.fill ? layoutItem.anchors.topMargin +
+ layoutItem.anchors.bottomMargin : 0) : container.childrenRect.height) }
}]
}