tests: remove manuel uisplit tests
They were using Quick Controls 1 Change-Id: Idc60e648d65445538defaa1c3f4e28d67581b902 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
@@ -1,82 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.0
|
||||
|
||||
ColumnLayout {
|
||||
property alias rowBox_1: rowBox_1
|
||||
property alias rowLayout_1: rowLayout_1
|
||||
property alias textField_1: textField_1
|
||||
property alias button_1: button_1
|
||||
property alias gridBox_1: gridBox_1
|
||||
property alias gridLayout_1: gridLayout_1
|
||||
property alias label_1: label_1
|
||||
property alias label_2: label_2
|
||||
property alias label_3: label_3
|
||||
property alias textField_2: textField_2
|
||||
property alias textField_3: textField_3
|
||||
property alias textField_4: textField_4
|
||||
property alias textField_5: textField_5
|
||||
property alias textArea_1: textArea_1
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
GroupBox {
|
||||
id: rowBox_1
|
||||
title: "Row layout"
|
||||
Layout.fillWidth: true
|
||||
|
||||
RowLayout {
|
||||
id: rowLayout_1
|
||||
anchors.fill: parent
|
||||
TextField {
|
||||
id: textField_1
|
||||
placeholderText: "This wants to grow horizontally"
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Button {
|
||||
id: button_1
|
||||
text: "Button"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GroupBox {
|
||||
id: gridBox_1
|
||||
title: "Grid layout"
|
||||
Layout.fillWidth: true
|
||||
|
||||
GridLayout {
|
||||
id: gridLayout_1
|
||||
rows: 3
|
||||
flow: GridLayout.TopToBottom
|
||||
anchors.fill: parent
|
||||
|
||||
Label { id: label_1; text: "Line 1" }
|
||||
Label { id: label_2; text: "Line 2" }
|
||||
Label { id: label_3; text: "Line 3" }
|
||||
|
||||
TextField { id: textField_2 }
|
||||
TextField { id: textField_3 }
|
||||
TextField { id: textField_4 }
|
||||
|
||||
TextArea {
|
||||
id: textField_5
|
||||
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: textArea_1
|
||||
text: "This fills the whole cell"
|
||||
Layout.minimumHeight: 30
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
QT += qml quick
|
||||
TARGET = basiclayouts
|
||||
!no_desktop: QT += widgets
|
||||
|
||||
include(src/src.pri)
|
||||
include(../shared/shared.pri)
|
||||
|
||||
OTHER_FILES += \
|
||||
main.qml \
|
||||
MainForm.qml \
|
||||
|
||||
RESOURCES += \
|
||||
resources.qrc
|
@@ -1,16 +0,0 @@
|
||||
import QmlProject 1.1
|
||||
|
||||
Project {
|
||||
mainFile: "main.qml"
|
||||
|
||||
/* Include .qml, .js, and image files from current directory and subdirectories */
|
||||
QmlFiles {
|
||||
directory: "."
|
||||
}
|
||||
JavaScriptFiles {
|
||||
directory: "."
|
||||
}
|
||||
ImageFiles {
|
||||
directory: "."
|
||||
}
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.0
|
||||
|
||||
ApplicationWindow {
|
||||
visible: true
|
||||
title: "Basic layouts"
|
||||
property int margin: 11
|
||||
width: mainForm.implicitWidth + 2 * margin
|
||||
height: mainForm.implicitHeight + 2 * margin
|
||||
minimumWidth: mainForm.Layout.minimumWidth + 2 * margin
|
||||
minimumHeight: mainForm.Layout.minimumHeight + 2 * margin
|
||||
|
||||
MainForm {
|
||||
id: mainForm
|
||||
anchors.margins: margin
|
||||
}
|
||||
|
||||
}
|
@@ -1,47 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.Dialogs 1.0
|
||||
import "content"
|
||||
|
||||
TabView {
|
||||
|
||||
id: tabView
|
||||
|
||||
tabPosition: controlPage.item ? controlPage.item.tabPosition : Qt.TopEdge
|
||||
|
||||
width: 640
|
||||
height: 420
|
||||
|
||||
Tab {
|
||||
id: controlPage
|
||||
title: "Controls"
|
||||
Controls {
|
||||
anchors.fill: parent
|
||||
enabled: tabView.enabled
|
||||
}
|
||||
}
|
||||
Tab {
|
||||
title: "Itemviews"
|
||||
ModelView {
|
||||
anchors.fill: parent
|
||||
anchors.margins: Qt.platform.os === "osx" ? 12 : 6
|
||||
}
|
||||
}
|
||||
Tab {
|
||||
title: "Styles"
|
||||
Styles {
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
Tab {
|
||||
title: "Layouts"
|
||||
Layouts {
|
||||
anchors.fill:parent
|
||||
anchors.margins: 8
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Dialogs 1.1
|
||||
|
||||
MessageDialog {
|
||||
icon: StandardIcon.Information
|
||||
text: "QtQuick.Controls gallery example"
|
||||
detailedText: "This example demonstrates most of the available Qt Quick Controls."
|
||||
title: "About Gallery"
|
||||
}
|
@@ -1,81 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Window {
|
||||
id: window1
|
||||
|
||||
width: 400
|
||||
height: 400
|
||||
|
||||
title: "child window"
|
||||
flags: Qt.Dialog
|
||||
|
||||
Rectangle {
|
||||
color: syspal.window
|
||||
anchors.fill: parent
|
||||
|
||||
Label {
|
||||
id: dimensionsText
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
width: parent.width
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
|
||||
Label {
|
||||
id: availableDimensionsText
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: dimensionsText.bottom
|
||||
width: parent.width
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
|
||||
Label {
|
||||
id: closeText
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: availableDimensionsText.bottom
|
||||
text: "This is a new Window, press the\nbutton below to close it again."
|
||||
}
|
||||
Button {
|
||||
anchors.horizontalCenter: closeText.horizontalCenter
|
||||
anchors.top: closeText.bottom
|
||||
id: closeWindowButton
|
||||
text:"Close"
|
||||
width: 98
|
||||
tooltip:"Press me, to close this window again"
|
||||
onClicked: window1.visible = false
|
||||
}
|
||||
Button {
|
||||
anchors.horizontalCenter: closeText.horizontalCenter
|
||||
anchors.top: closeWindowButton.bottom
|
||||
id: maximizeWindowButton
|
||||
text:"Maximize"
|
||||
width: 98
|
||||
tooltip:"Press me, to maximize this window again"
|
||||
onClicked: window1.visibility = Window.Maximized;
|
||||
}
|
||||
Button {
|
||||
anchors.horizontalCenter: closeText.horizontalCenter
|
||||
anchors.top: maximizeWindowButton.bottom
|
||||
id: normalizeWindowButton
|
||||
text:"Normalize"
|
||||
width: 98
|
||||
tooltip:"Press me, to normalize this window again"
|
||||
onClicked: window1.visibility = Window.Windowed;
|
||||
}
|
||||
Button {
|
||||
anchors.horizontalCenter: closeText.horizontalCenter
|
||||
anchors.top: normalizeWindowButton.bottom
|
||||
id: minimizeWindowButton
|
||||
text:"Minimize"
|
||||
width: 98
|
||||
tooltip:"Press me, to minimize this window again"
|
||||
onClicked: window1.visibility = Window.Minimized;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,27 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
ControlsForm {
|
||||
id: flickable
|
||||
button2.menu: Menu {
|
||||
MenuItem { text: "This Button" }
|
||||
MenuItem { text: "Happens To Have" }
|
||||
MenuItem { text: "A Menu Assigned" }
|
||||
}
|
||||
|
||||
editableCombo.onAccepted: {
|
||||
if (editableCombo.find(currentText) === -1) {
|
||||
choices.append({text: editText})
|
||||
currentIndex = editableCombo.find(editText)
|
||||
}
|
||||
}
|
||||
|
||||
fontComboBox.model: Qt.fontFamilies()
|
||||
|
||||
rowLayout1.data: [ ExclusiveGroup { id: tabPositionGroup } ]
|
||||
}
|
@@ -1,180 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
Item {
|
||||
id: flickable
|
||||
|
||||
width: 640
|
||||
height: 420
|
||||
property alias fontComboBox: fontComboBox
|
||||
property alias rowLayout1: rowLayout1
|
||||
property alias button2: button2
|
||||
property alias editableCombo: editableCombo
|
||||
|
||||
property int tabPosition: tabPositionGroup.current === r2 ? Qt.BottomEdge : Qt.TopEdge
|
||||
|
||||
RowLayout {
|
||||
id: contentRow
|
||||
anchors.fill:parent
|
||||
anchors.margins: 8
|
||||
spacing: 16
|
||||
ColumnLayout {
|
||||
id: firstColumn
|
||||
Layout.minimumWidth: implicitWidth
|
||||
Layout.fillWidth: false
|
||||
RowLayout {
|
||||
id: buttonrow
|
||||
|
||||
Button {
|
||||
id: button1
|
||||
text: "Button 1"
|
||||
tooltip:"This is an interesting tool tip"
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Button {
|
||||
id:button2
|
||||
text:"Button 2"
|
||||
Layout.fillWidth: true
|
||||
|
||||
}
|
||||
}
|
||||
ComboBox {
|
||||
id: combo
|
||||
model: choices
|
||||
currentIndex: 2
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
ComboBox {
|
||||
id: fontComboBox
|
||||
Layout.fillWidth: true
|
||||
currentIndex: 47
|
||||
}
|
||||
ComboBox {
|
||||
id: editableCombo
|
||||
editable: true
|
||||
model: choices
|
||||
Layout.fillWidth: true
|
||||
currentIndex: 2
|
||||
}
|
||||
RowLayout {
|
||||
SpinBox {
|
||||
id: t1
|
||||
Layout.fillWidth: true
|
||||
minimumValue: -50
|
||||
value: -20
|
||||
}
|
||||
SpinBox {
|
||||
id: t2
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
TextField {
|
||||
id: t3
|
||||
placeholderText: "This is a placeholder for a TextField"
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
ProgressBar {
|
||||
// normalize value [0.0 .. 1.0]
|
||||
value: (slider.value - slider.minimumValue) / (slider.maximumValue - slider.minimumValue)
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
ProgressBar {
|
||||
indeterminate: true
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Slider {
|
||||
id: slider
|
||||
value: 0.5
|
||||
Layout.fillWidth: true
|
||||
tickmarksEnabled: tickmarkCheck.checked
|
||||
stepSize: tickmarksEnabled ? 0.1 : 0
|
||||
}
|
||||
MouseArea {
|
||||
id: busyCheck
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
hoverEnabled:true
|
||||
Layout.preferredHeight: busyIndicator.height
|
||||
BusyIndicator {
|
||||
id: busyIndicator
|
||||
running: busyCheck.containsMouse
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
id: rightcol
|
||||
Layout.fillWidth: true
|
||||
anchors {
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
}
|
||||
|
||||
GroupBox {
|
||||
id: group1
|
||||
title: "CheckBox"
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
CheckBox {
|
||||
id: frameCheckbox
|
||||
text: "Text frame"
|
||||
checked: true
|
||||
Layout.minimumWidth: 100
|
||||
}
|
||||
CheckBox {
|
||||
id: tickmarkCheck
|
||||
text: "Tickmarks"
|
||||
checked: false
|
||||
Layout.minimumWidth: 100
|
||||
}
|
||||
CheckBox {
|
||||
id: wrapCheck
|
||||
text: "Word wrap"
|
||||
checked: true
|
||||
Layout.minimumWidth: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
GroupBox {
|
||||
id: group2
|
||||
title:"Tab Position"
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
id: rowLayout1
|
||||
|
||||
RadioButton {
|
||||
id: r1
|
||||
text: "Top"
|
||||
checked: true
|
||||
exclusiveGroup: tabPositionGroup
|
||||
Layout.minimumWidth: 100
|
||||
}
|
||||
RadioButton {
|
||||
id: r2
|
||||
text: "Bottom"
|
||||
exclusiveGroup: tabPositionGroup
|
||||
Layout.minimumWidth: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TextArea {
|
||||
id: area
|
||||
frameVisible: frameCheckbox.checked
|
||||
text: loremIpsum + loremIpsum
|
||||
textFormat: Qt.RichText
|
||||
wrapMode: wrapCheck.checked ? TextEdit.WordWrap : TextEdit.NoWrap
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
//menu: editmenu
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
ListModel {
|
||||
id: dummyModel
|
||||
Component.onCompleted: {
|
||||
for (var i = 0 ; i < 100 ; ++i) {
|
||||
append({"index": i, "title": "A title " + i, "imagesource" :"http://someurl.com", "credit" : "N/A"})
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
Window {
|
||||
id: imageViewer
|
||||
minimumWidth: viewerImage.width
|
||||
minimumHeight: viewerImage.height
|
||||
function open(source) {
|
||||
viewerImage.source = source
|
||||
width = viewerImage.implicitWidth + 20
|
||||
height = viewerImage.implicitHeight + 20
|
||||
title = source
|
||||
visible = true
|
||||
}
|
||||
Image {
|
||||
id: viewerImage
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
@@ -1,71 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.0
|
||||
|
||||
Item {
|
||||
id:root
|
||||
|
||||
width: 600
|
||||
height: 300
|
||||
|
||||
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
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,55 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
//import QtQuick.XmlListModel 2.1
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
width: 600
|
||||
height: 300
|
||||
|
||||
// XmlListModel {
|
||||
// id: flickerModel
|
||||
// source: "http://api.flickr.com/services/feeds/photos_public.gne?format=rss2&tags=" + "Cat"
|
||||
// query: "/rss/channel/item"
|
||||
// namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";"
|
||||
// XmlRole { name: "title"; query: "title/string()" }
|
||||
// XmlRole { name: "imagesource"; query: "media:thumbnail/@url/string()" }
|
||||
// XmlRole { name: "credit"; query: "media:credit/string()" }
|
||||
// }
|
||||
|
||||
TableView{
|
||||
model: DummyModel {
|
||||
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
TableViewColumn {
|
||||
role: "index"
|
||||
title: "#"
|
||||
width: 36
|
||||
resizable: false
|
||||
movable: false
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "title"
|
||||
title: "Title"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "credit"
|
||||
title: "Credit"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "imagesource"
|
||||
title: "Image source"
|
||||
width: 200
|
||||
visible: true
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,146 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Particles 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
import "styles"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
width: 600
|
||||
height: 300
|
||||
|
||||
property int columnWidth: 120
|
||||
GridLayout {
|
||||
rowSpacing: 12
|
||||
columnSpacing: 30
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.margins: 30
|
||||
|
||||
Button {
|
||||
text: "Push me"
|
||||
style: ButtonStyle { }
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
Button {
|
||||
text: "Push me"
|
||||
style: MyButtonStyle1 {
|
||||
}
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
Button {
|
||||
text: "Push me"
|
||||
style: MyButtonStyle2 {
|
||||
|
||||
}
|
||||
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
|
||||
TextField {
|
||||
Layout.row: 1
|
||||
style: TextFieldStyle { }
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
TextField {
|
||||
style: MyTextFieldStyle1 {
|
||||
}
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
TextField {
|
||||
style: MyTextFieldStyle2 {
|
||||
}
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
|
||||
Slider {
|
||||
id: slider1
|
||||
Layout.row: 2
|
||||
value: 0.5
|
||||
implicitWidth: columnWidth
|
||||
style: SliderStyle { }
|
||||
}
|
||||
Slider {
|
||||
id: slider2
|
||||
value: 0.5
|
||||
implicitWidth: columnWidth
|
||||
style: MySliderStyle1 {
|
||||
}
|
||||
}
|
||||
Slider {
|
||||
id: slider3
|
||||
value: 0.5
|
||||
implicitWidth: columnWidth
|
||||
style: MySliderStyle2 {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
ProgressBar {
|
||||
Layout.row: 3
|
||||
value: slider1.value
|
||||
implicitWidth: columnWidth
|
||||
style: ProgressBarStyle { }
|
||||
}
|
||||
ProgressBar {
|
||||
value: slider2.value
|
||||
implicitWidth: columnWidth
|
||||
style: MyProgressBarStyle1 { }
|
||||
}
|
||||
ProgressBar {
|
||||
value: slider3.value
|
||||
implicitWidth: columnWidth
|
||||
style: MyProgressBarStyle2 { }
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
text: "CheckBox"
|
||||
style: CheckBoxStyle{}
|
||||
Layout.row: 4
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
RadioButton {
|
||||
style: RadioButtonStyle{}
|
||||
text: "RadioButton"
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
model: ["Paris", "Oslo", "New York"]
|
||||
style: ComboBoxStyle{}
|
||||
implicitWidth: columnWidth
|
||||
}
|
||||
|
||||
TabView {
|
||||
Layout.row: 5
|
||||
Layout.columnSpan: 3
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 30
|
||||
Tab { title: "One" ; Item {}}
|
||||
Tab { title: "Two" ; Item {}}
|
||||
Tab { title: "Three" ; Item {}}
|
||||
Tab { title: "Four" ; Item {}}
|
||||
style: TabViewStyle {}
|
||||
}
|
||||
|
||||
TabView {
|
||||
Layout.row: 6
|
||||
Layout.columnSpan: 3
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 30
|
||||
Tab { title: "One" ; Item {}}
|
||||
Tab { title: "Two" ; Item {}}
|
||||
Tab { title: "Three" ; Item {}}
|
||||
Tab { title: "Four" ; Item {}}
|
||||
style: MyTabViewStyle {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
ButtonStyle {
|
||||
background: BorderImage {
|
||||
source: control.pressed ? "../../images/button-pressed.png" : "../../images/button.png"
|
||||
border.left: 4 ; border.right: 4 ; border.top: 4 ; border.bottom: 4
|
||||
}
|
||||
}
|
@@ -1,26 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
ButtonStyle {
|
||||
background: Rectangle {
|
||||
implicitHeight: 22
|
||||
implicitWidth: columnWidth
|
||||
color: control.pressed ? "darkGray" : control.activeFocus ? "#cdd" : "#ccc"
|
||||
antialiasing: true
|
||||
border.color: "gray"
|
||||
radius: height/2
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 1
|
||||
color: "transparent"
|
||||
antialiasing: true
|
||||
visible: !control.pressed
|
||||
border.color: "#aaffffff"
|
||||
radius: height/2
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,54 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Particles 2.0
|
||||
|
||||
ProgressBarStyle {
|
||||
background: BorderImage {
|
||||
source: "../../images/progress-background.png"
|
||||
border.left: 2 ; border.right: 2 ; border.top: 2 ; border.bottom: 2
|
||||
}
|
||||
progress: Item {
|
||||
clip: true
|
||||
BorderImage {
|
||||
anchors.fill: parent
|
||||
anchors.rightMargin: (control.value < control.maximumValue) ? -4 : 0
|
||||
source: "../../images/progress-fill.png"
|
||||
border.left: 10 ; border.right: 10
|
||||
Rectangle {
|
||||
width: 1
|
||||
color: "#a70"
|
||||
opacity: 0.8
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 1
|
||||
anchors.right: parent.right
|
||||
visible: control.value < control.maximumValue
|
||||
anchors.rightMargin: -parent.anchors.rightMargin
|
||||
}
|
||||
}
|
||||
ParticleSystem{ id: bubbles; running: visible }
|
||||
ImageParticle{
|
||||
id: fireball
|
||||
system: bubbles
|
||||
source: "../../images/bubble.png"
|
||||
opacity: 0.7
|
||||
}
|
||||
Emitter{
|
||||
system: bubbles
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.margins: 4
|
||||
anchors.bottomMargin: -4
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
size: 4
|
||||
sizeVariation: 4
|
||||
acceleration: PointDirection{ y: -6; xVariation: 3 }
|
||||
emitRate: 6 * control.value
|
||||
lifeSpan: 3000
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,25 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
ProgressBarStyle {
|
||||
background: Rectangle {
|
||||
implicitWidth: columnWidth
|
||||
implicitHeight: 24
|
||||
color: "#f0f0f0"
|
||||
border.color: "gray"
|
||||
}
|
||||
progress: Rectangle {
|
||||
color: "#ccc"
|
||||
border.color: "gray"
|
||||
Rectangle {
|
||||
color: "transparent"
|
||||
border.color: "#44ffffff"
|
||||
anchors.fill: parent
|
||||
anchors.margins: 1
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,35 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Particles 2.0
|
||||
import QtQuick.Layouts 1.0
|
||||
|
||||
SliderStyle {
|
||||
groove: BorderImage {
|
||||
height: 6
|
||||
border.top: 1
|
||||
border.bottom: 1
|
||||
source: "../../images/progress-background.png"
|
||||
border.left: 6
|
||||
border.right: 6
|
||||
BorderImage {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
source: "../../images/progress-fill.png"
|
||||
border.left: 5 ; border.top: 1
|
||||
border.right: 5 ; border.bottom: 1
|
||||
width: styleData.handlePosition
|
||||
height: parent.height
|
||||
}
|
||||
}
|
||||
handle: Item {
|
||||
width: 13
|
||||
height: 13
|
||||
Image {
|
||||
anchors.centerIn: parent
|
||||
source: "../../images/slider-handle.png"
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,44 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
SliderStyle {
|
||||
handle: Rectangle {
|
||||
width: 18
|
||||
height: 18
|
||||
color: control.pressed ? "darkGray" : "lightGray"
|
||||
border.color: "gray"
|
||||
antialiasing: true
|
||||
radius: height/2
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 1
|
||||
color: "transparent"
|
||||
antialiasing: true
|
||||
border.color: "#eee"
|
||||
radius: height/2
|
||||
}
|
||||
}
|
||||
|
||||
groove: Rectangle {
|
||||
height: 8
|
||||
implicitWidth: columnWidth
|
||||
implicitHeight: 22
|
||||
|
||||
antialiasing: true
|
||||
color: "#ccc"
|
||||
border.color: "#777"
|
||||
radius: height/2
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 1
|
||||
color: "transparent"
|
||||
antialiasing: true
|
||||
border.color: "#66ffffff"
|
||||
radius: height/2
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,41 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
Component {
|
||||
TabViewStyle {
|
||||
tabOverlap: 16
|
||||
frameOverlap: 4
|
||||
tabsMovable: true
|
||||
|
||||
frame: Rectangle {
|
||||
gradient: Gradient{
|
||||
GradientStop { color: "#e5e5e5" ; position: 0 }
|
||||
GradientStop { color: "#e0e0e0" ; position: 1 }
|
||||
}
|
||||
border.color: "#898989"
|
||||
Rectangle { anchors.fill: parent ; anchors.margins: 1 ; border.color: "white" ; color: "transparent" }
|
||||
}
|
||||
tab: Item {
|
||||
property int totalOverlap: tabOverlap * (control.count - 1)
|
||||
implicitWidth: Math.min ((styleData.availableWidth + totalOverlap)/control.count - 4, image.sourceSize.width)
|
||||
implicitHeight: image.sourceSize.height
|
||||
BorderImage {
|
||||
id: image
|
||||
anchors.fill: parent
|
||||
source: styleData.selected ? "../../images/tab_selected.png" : "../../images/tab.png"
|
||||
border.left: 30
|
||||
smooth: false
|
||||
border.right: 30
|
||||
}
|
||||
Text {
|
||||
text: styleData.title
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
||||
leftCorner: Item { implicitWidth: 12 }
|
||||
}
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
TextFieldStyle {
|
||||
background: BorderImage {
|
||||
source: "../../images/textfield.png"
|
||||
border.left: 4 ; border.right: 4 ; border.top: 4 ; border.bottom: 4
|
||||
}
|
||||
}
|
@@ -1,25 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
TextFieldStyle {
|
||||
background: Rectangle {
|
||||
implicitWidth: columnWidth
|
||||
implicitHeight: 22
|
||||
color: "#f0f0f0"
|
||||
antialiasing: true
|
||||
border.color: "gray"
|
||||
radius: height/2
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 1
|
||||
color: "transparent"
|
||||
antialiasing: true
|
||||
border.color: "#aaffffff"
|
||||
radius: height/2
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
import QmlProject 1.1
|
||||
|
||||
Project {
|
||||
//mainFile: "main.qml"
|
||||
|
||||
/* Include .qml, .js, and image files from current directory and subdirectories */
|
||||
QmlFiles {
|
||||
directory: "."
|
||||
}
|
||||
JavaScriptFiles {
|
||||
directory: "."
|
||||
}
|
||||
ImageFiles {
|
||||
directory: "."
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 395 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 456 B |
Before Width: | Height: | Size: 507 B |
Before Width: | Height: | Size: 434 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 196 B |
Before Width: | Height: | Size: 993 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 1.9 KiB |
@@ -1,209 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.3
|
||||
import QtQuick.Controls 1.3
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.Dialogs 1.0
|
||||
import "content"
|
||||
|
||||
ApplicationWindow {
|
||||
visible: true
|
||||
title: "Component Gallery"
|
||||
|
||||
width: 640
|
||||
height: 420
|
||||
minimumHeight: 400
|
||||
minimumWidth: 600
|
||||
|
||||
property string loremIpsum:
|
||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor "+
|
||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor "+
|
||||
"incididunt ut labore et dolore magna aliqua.\n Ut enim ad minim veniam, quis nostrud "+
|
||||
"exercitation ullamco laboris nisi ut aliquip ex ea commodo cosnsequat. ";
|
||||
|
||||
ImageViewer { id: imageViewer }
|
||||
|
||||
FileDialog {
|
||||
id: fileDialog
|
||||
nameFilters: [ "Image files (*.png *.jpg)" ]
|
||||
onAccepted: imageViewer.open(fileUrl)
|
||||
}
|
||||
|
||||
AboutDialog { id: aboutDialog }
|
||||
|
||||
Action {
|
||||
id: openAction
|
||||
text: "&Open"
|
||||
shortcut: StandardKey.Open
|
||||
iconSource: "images/document-open.png"
|
||||
onTriggered: fileDialog.open()
|
||||
tooltip: "Open an image"
|
||||
}
|
||||
|
||||
Action {
|
||||
id: copyAction
|
||||
text: "&Copy"
|
||||
shortcut: StandardKey.Copy
|
||||
iconName: "edit-copy"
|
||||
enabled: (!!activeFocusItem && !!activeFocusItem["copy"])
|
||||
onTriggered: activeFocusItem.copy()
|
||||
}
|
||||
|
||||
Action {
|
||||
id: cutAction
|
||||
text: "Cu&t"
|
||||
shortcut: StandardKey.Cut
|
||||
iconName: "edit-cut"
|
||||
enabled: (!!activeFocusItem && !!activeFocusItem["cut"])
|
||||
onTriggered: activeFocusItem.cut()
|
||||
}
|
||||
|
||||
Action {
|
||||
id: pasteAction
|
||||
text: "&Paste"
|
||||
shortcut: StandardKey.Paste
|
||||
iconName: "edit-paste"
|
||||
enabled: (!!activeFocusItem && !!activeFocusItem["paste"])
|
||||
onTriggered: activeFocusItem.paste()
|
||||
}
|
||||
|
||||
Action {
|
||||
id: aboutAction
|
||||
text: "About"
|
||||
onTriggered: aboutDialog.open()
|
||||
}
|
||||
|
||||
ExclusiveGroup {
|
||||
id: textFormatGroup
|
||||
|
||||
Action {
|
||||
id: a1
|
||||
text: "Align &Left"
|
||||
checkable: true
|
||||
Component.onCompleted: checked = true
|
||||
}
|
||||
|
||||
Action {
|
||||
id: a2
|
||||
text: "&Center"
|
||||
checkable: true
|
||||
}
|
||||
|
||||
Action {
|
||||
id: a3
|
||||
text: "Align &Right"
|
||||
checkable: true
|
||||
}
|
||||
}
|
||||
|
||||
ChildWindow { id: window1 }
|
||||
|
||||
Component {
|
||||
id: editmenu
|
||||
Menu {
|
||||
MenuItem { action: cutAction }
|
||||
MenuItem { action: copyAction }
|
||||
MenuItem { action: pasteAction }
|
||||
MenuSeparator {}
|
||||
Menu {
|
||||
title: "Text &Format"
|
||||
MenuItem { action: a1 }
|
||||
MenuItem { action: a2 }
|
||||
MenuItem { action: a3 }
|
||||
MenuSeparator { }
|
||||
MenuItem { text: "Allow &Hyphenation"; checkable: true }
|
||||
}
|
||||
Menu {
|
||||
title: "Font &Style"
|
||||
MenuItem { text: "&Bold"; checkable: true }
|
||||
MenuItem { text: "&Italic"; checkable: true }
|
||||
MenuItem { text: "&Underline"; checkable: true }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
toolBar: ToolBar {
|
||||
id: toolbar
|
||||
RowLayout {
|
||||
id: toolbarLayout
|
||||
spacing: 0
|
||||
anchors.fill: parent
|
||||
ToolButton {
|
||||
iconSource: "images/window-new.png"
|
||||
onClicked: window1.visible = !window1.visible
|
||||
Accessible.name: "New window"
|
||||
tooltip: "Toggle visibility of the second window"
|
||||
}
|
||||
ToolButton { action: openAction }
|
||||
ToolButton {
|
||||
Accessible.name: "Save as"
|
||||
iconSource: "images/document-save-as.png"
|
||||
tooltip: "(Pretend to) Save as..."
|
||||
}
|
||||
Item { Layout.fillWidth: true }
|
||||
CheckBox {
|
||||
id: enabledCheck
|
||||
text: "Enabled"
|
||||
checked: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menuBar: MenuBar {
|
||||
Menu {
|
||||
title: "&File"
|
||||
MenuItem { action: openAction }
|
||||
MenuItem {
|
||||
text: "Close"
|
||||
shortcut: StandardKey.Quit
|
||||
onTriggered: Qt.quit()
|
||||
}
|
||||
}
|
||||
Menu {
|
||||
title: "&Edit"
|
||||
MenuItem { action: cutAction }
|
||||
MenuItem { action: copyAction }
|
||||
MenuItem { action: pasteAction }
|
||||
MenuSeparator { }
|
||||
MenuItem {
|
||||
text: "Do Nothing"
|
||||
shortcut: "Ctrl+E,Shift+Ctrl+X"
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: "Not Even There"
|
||||
shortcut: "Ctrl+E,Shift+Ctrl+Y"
|
||||
visible: false
|
||||
}
|
||||
Menu {
|
||||
title: "Me Neither"
|
||||
visible: false
|
||||
}
|
||||
}
|
||||
Menu {
|
||||
title: "&Help"
|
||||
MenuItem { action: aboutAction }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SystemPalette {id: syspal}
|
||||
color: syspal.window
|
||||
ListModel {
|
||||
id: choices
|
||||
ListElement { text: "Banana" }
|
||||
ListElement { text: "Orange" }
|
||||
ListElement { text: "Apple" }
|
||||
ListElement { text: "Coconut" }
|
||||
}
|
||||
|
||||
MainTabView {
|
||||
id: frame
|
||||
|
||||
enabled: enabledCheck.checked
|
||||
anchors.fill: parent
|
||||
anchors.margins: Qt.platform.os === "osx" ? 12 : 2
|
||||
}
|
||||
}
|
||||
|
@@ -1,38 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.0
|
||||
|
||||
SplitView {
|
||||
width: 600
|
||||
height: 400
|
||||
|
||||
Rectangle {
|
||||
id: column
|
||||
width: 200
|
||||
Layout.minimumWidth: 100
|
||||
Layout.maximumWidth: 300
|
||||
color: "lightsteelblue"
|
||||
}
|
||||
|
||||
SplitView {
|
||||
orientation: Qt.Vertical
|
||||
Layout.fillWidth: true
|
||||
|
||||
Rectangle {
|
||||
id: row1
|
||||
height: 200
|
||||
color: "lightblue"
|
||||
Layout.minimumHeight: 1
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: row2
|
||||
color: "lightgray"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,17 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
ApplicationWindow {
|
||||
visible: true
|
||||
width: 600
|
||||
height: 400
|
||||
|
||||
MainForm {
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
import QmlProject 1.1
|
||||
|
||||
Project {
|
||||
mainFile: "main.qml"
|
||||
|
||||
/* Include .qml, .js, and image files from current directory and subdirectories */
|
||||
QmlFiles {
|
||||
directory: "."
|
||||
}
|
||||
JavaScriptFiles {
|
||||
directory: "."
|
||||
}
|
||||
ImageFiles {
|
||||
directory: "."
|
||||
}
|
||||
}
|
@@ -1,59 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Column {
|
||||
|
||||
width: 540
|
||||
height: 360
|
||||
property alias frame: frame
|
||||
|
||||
property int margins: Qt.platform.os === "osx" ? 16 : 0
|
||||
|
||||
MainTabView {
|
||||
id: frame
|
||||
|
||||
height: parent.height - 34
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
anchors.margins: margins
|
||||
|
||||
|
||||
genteratedTabFrameVisible: frameCheckbox.checked
|
||||
genteratedTabHeaderVisible: headerCheckbox.checked
|
||||
genteratedTabSortIndicatorVisible: sortableCheckbox.checked
|
||||
genteratedTabAlternatingRowColors: alternateCheckbox.checked
|
||||
}
|
||||
|
||||
Row {
|
||||
x: 12
|
||||
height: 34
|
||||
CheckBox{
|
||||
id: alternateCheckbox
|
||||
checked: true
|
||||
text: "Alternate"
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
CheckBox{
|
||||
id: sortableCheckbox
|
||||
checked: false
|
||||
text: "Sort indicator"
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
CheckBox{
|
||||
id: frameCheckbox
|
||||
checked: true
|
||||
text: "Frame"
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
CheckBox{
|
||||
id: headerCheckbox
|
||||
checked: true
|
||||
text: "Headers"
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,70 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
import "tabs"
|
||||
|
||||
TabView {
|
||||
id:frame
|
||||
focus:true
|
||||
|
||||
width: 540
|
||||
height: 360
|
||||
|
||||
property bool genteratedTabFrameVisible: false
|
||||
property bool genteratedTabHeaderVisible: false
|
||||
property bool genteratedTabSortIndicatorVisible: false
|
||||
property bool genteratedTabAlternatingRowColors: false
|
||||
|
||||
Tab {
|
||||
title: "XmlListModel"
|
||||
|
||||
TabXmlListModel {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 12
|
||||
|
||||
frameVisible: genteratedTabFrameVisible
|
||||
headerVisible: genteratedTabHeaderVisible
|
||||
sortIndicatorVisible: genteratedTabSortIndicatorVisible
|
||||
alternatingRowColors: genteratedTabAlternatingRowColors
|
||||
}
|
||||
}
|
||||
|
||||
Tab {
|
||||
title: "Multivalue"
|
||||
|
||||
TabMultivalue {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 12
|
||||
|
||||
frameVisible: genteratedTabFrameVisible
|
||||
headerVisible: genteratedTabHeaderVisible
|
||||
sortIndicatorVisible: genteratedTabSortIndicatorVisible
|
||||
alternatingRowColors: genteratedTabAlternatingRowColors
|
||||
}
|
||||
}
|
||||
|
||||
Tab {
|
||||
title: "Generated"
|
||||
id: generatedTab
|
||||
|
||||
TabGenerated {
|
||||
anchors.margins: 12
|
||||
anchors.fill: parent
|
||||
|
||||
frameVisible: genteratedTabFrameVisible
|
||||
headerVisible: genteratedTabHeaderVisible
|
||||
sortIndicatorVisible: genteratedTabSortIndicatorVisible
|
||||
alternatingRowColors: genteratedTabAlternatingRowColors
|
||||
}
|
||||
}
|
||||
|
||||
Tab {
|
||||
title: "Delegates"
|
||||
|
||||
TabDelegates {
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Component {
|
||||
id: delegate1
|
||||
Item {
|
||||
clip: true
|
||||
Text {
|
||||
width: parent.width
|
||||
anchors.margins: 4
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
elide: styleData.elideMode
|
||||
text: styleData.value !== undefined ? styleData.value : ""
|
||||
color: styleData.textColor
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Component {
|
||||
id: delegate2
|
||||
Text {
|
||||
width: parent.width
|
||||
anchors.margins: 4
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
elide: styleData.elideMode
|
||||
text: styleData.value !== undefined ? styleData.value : ""
|
||||
color: styleData.textColor
|
||||
}
|
||||
}
|
@@ -1,51 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Component {
|
||||
Item {
|
||||
Text {
|
||||
width: parent.width
|
||||
anchors.margins: 4
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
elide: styleData.elideMode
|
||||
text: styleData.value !== undefined ? styleData.value : ""
|
||||
color: styleData.textColor
|
||||
visible: !styleData.selected
|
||||
}
|
||||
|
||||
Loader { // Initialize text editor lazily to improve performance
|
||||
id: loaderEditor
|
||||
anchors.fill: parent
|
||||
anchors.margins: 4
|
||||
Connections {
|
||||
target: loaderEditor.item
|
||||
onAccepted: {
|
||||
if (typeof styleData.value === 'number')
|
||||
largeModel.setProperty(styleData.row, styleData.role, Number(parseFloat(loaderEditor.item.text).toFixed(0)))
|
||||
else
|
||||
largeModel.setProperty(styleData.row, styleData.role, loaderEditor.item.text)
|
||||
}
|
||||
}
|
||||
sourceComponent: styleData.selected ? editor : null
|
||||
Component {
|
||||
id: editor
|
||||
TextInput {
|
||||
id: textinput
|
||||
color: styleData.textColor
|
||||
text: styleData.value
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: textinput.forceActiveFocus()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
BorderImage{
|
||||
source: "../images/header.png"
|
||||
border{left:2;right:2;top:2;bottom:2}
|
||||
Text {
|
||||
text: styleData.value
|
||||
anchors.centerIn:parent
|
||||
color:"#333"
|
||||
}
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Item {
|
||||
Rectangle{
|
||||
color: styleData.value.get(0).color
|
||||
anchors.top:parent.top
|
||||
anchors.right:parent.right
|
||||
anchors.bottom:parent.bottom
|
||||
anchors.margins: 4
|
||||
width:32
|
||||
border.color:"#666"
|
||||
}
|
||||
Text {
|
||||
width: parent.width
|
||||
anchors.margins: 4
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
elide: styleData.elideMode
|
||||
text: styleData.value.get(0).description
|
||||
color: styleData.textColor
|
||||
}
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
Component {
|
||||
Rectangle {
|
||||
height: (delegateChooser.currentIndex == 1 && styleData.selected) ? 30 : 20
|
||||
Behavior on height{ NumberAnimation{} }
|
||||
|
||||
color: styleData.selected ? "#448" : (styleData.alternate? "#eee" : "#fff")
|
||||
BorderImage{
|
||||
id: selected
|
||||
anchors.fill: parent
|
||||
source: "../images/selectedrow.png"
|
||||
visible: styleData.selected
|
||||
border{left:2; right:2; top:2; bottom:2}
|
||||
SequentialAnimation {
|
||||
running: true; loops: Animation.Infinite
|
||||
NumberAnimation { target:selected; property: "opacity"; to: 1.0; duration: 900}
|
||||
NumberAnimation { target:selected; property: "opacity"; to: 0.5; duration: 900}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 247 B |
Before Width: | Height: | Size: 192 B |
@@ -1,61 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
import "models"
|
||||
|
||||
Window {
|
||||
visible: true
|
||||
width: 538 + form.margins * 2
|
||||
height: 360 + form.margins * 2
|
||||
|
||||
ToolBar {
|
||||
id: toolbar
|
||||
width: parent.width
|
||||
|
||||
ListModel {
|
||||
id: delegatemenu
|
||||
ListElement { text: "Shiny delegate" }
|
||||
ListElement { text: "Scale selected" }
|
||||
ListElement { text: "Editable items" }
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
id: delegateChooser
|
||||
enabled: form.frame.currentIndex === 3 ? 1 : 0
|
||||
model: delegatemenu
|
||||
width: 150
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 8
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: enabledCheck
|
||||
text: "Enabled"
|
||||
checked: true
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
SystemPalette {id: syspal}
|
||||
color: syspal.window
|
||||
|
||||
LargeModel {
|
||||
id: largeModel
|
||||
}
|
||||
|
||||
MainForm {
|
||||
id: form
|
||||
anchors.top: toolbar.bottom
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.margins: 8
|
||||
frame.enabled: enabledCheck.checked
|
||||
}
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.XmlListModel 2.0
|
||||
|
||||
XmlListModel {
|
||||
source: "http://api.flickr.com/services/feeds/photos_public.gne?format=rss2&tags=" + "Qt"
|
||||
query: "/rss/channel/item"
|
||||
namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";"
|
||||
XmlRole { name: "title"; query: "title/string()" }
|
||||
XmlRole { name: "imagesource"; query: "media:thumbnail/@url/string()" }
|
||||
XmlRole { name: "credit"; query: "media:credit/string()" }
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
ListModel {
|
||||
id: largeModel
|
||||
Component.onCompleted: {
|
||||
for (var i=0 ; i< 500 ; ++i)
|
||||
largeModel.append({"name":"Person "+i , "age": Math.round(Math.random()*100), "gender": Math.random()>0.5 ? "Male" : "Female"})
|
||||
}
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
ListModel {
|
||||
ListElement{content: ListElement { description: "Core" ; color:"#ffaacc"}}
|
||||
ListElement{content: ListElement { description: "Second" ; color:"#ffccaa"}}
|
||||
ListElement{content: ListElement { description: "Third" ; color:"#ffffaa"}}
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
import QmlProject 1.1
|
||||
|
||||
Project {
|
||||
mainFile: "main.qml"
|
||||
|
||||
/* Include .qml, .js, and image files from current directory and subdirectories */
|
||||
QmlFiles {
|
||||
directory: "."
|
||||
}
|
||||
JavaScriptFiles {
|
||||
directory: "."
|
||||
}
|
||||
ImageFiles {
|
||||
directory: "."
|
||||
}
|
||||
}
|
@@ -1,38 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
import "../delegates"
|
||||
|
||||
TabDelegatesForm {
|
||||
anchors.fill: parent
|
||||
|
||||
tableView.model: largeModel
|
||||
tableView.frameVisible: frameCheckbox.checked
|
||||
tableView.headerVisible: headerCheckbox.checked
|
||||
tableView.sortIndicatorVisible: sortableCheckbox.checked
|
||||
tableView.alternatingRowColors: alternateCheckbox.checked
|
||||
|
||||
tableView.itemDelegate: {
|
||||
if (delegateChooser.currentIndex == 2)
|
||||
return editableDelegate;
|
||||
else
|
||||
return delegate1;
|
||||
}
|
||||
|
||||
EditableDelegate {
|
||||
id: editableDelegate
|
||||
}
|
||||
|
||||
Delegate1 {
|
||||
id: delegate1
|
||||
}
|
||||
|
||||
Delegate2 {
|
||||
id: delegate2
|
||||
}
|
||||
|
||||
}
|
@@ -1,45 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
import "../delegates"
|
||||
|
||||
Item {
|
||||
property alias tableView: tableView
|
||||
|
||||
width: 540
|
||||
height: 360
|
||||
|
||||
TableView {
|
||||
id: tableView
|
||||
|
||||
anchors.margins: 12
|
||||
anchors.fill:parent
|
||||
|
||||
TableViewColumn {
|
||||
role: "name"
|
||||
title: "Name"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "age"
|
||||
title: "Age"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "gender"
|
||||
title: "Gender"
|
||||
width: 120
|
||||
}
|
||||
|
||||
headerDelegate: HeaderDelegate {
|
||||
}
|
||||
|
||||
rowDelegate: RowDelegate {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -1,29 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
TableView {
|
||||
model: largeModel
|
||||
|
||||
width: 540
|
||||
height: 360
|
||||
|
||||
TableViewColumn {
|
||||
role: "name"
|
||||
title: "Name"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "age"
|
||||
title: "Age"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "gender"
|
||||
title: "Gender"
|
||||
width: 120
|
||||
}
|
||||
}
|
@@ -1,31 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
import "../delegates"
|
||||
import "../models"
|
||||
|
||||
TableView {
|
||||
model: NestedModel {
|
||||
}
|
||||
|
||||
width: 540
|
||||
height: 360
|
||||
|
||||
TableViewColumn {
|
||||
role: "content"
|
||||
title: "Text and Color"
|
||||
width: 220
|
||||
}
|
||||
|
||||
itemDelegate: MultiValueDelegate {
|
||||
}
|
||||
|
||||
frameVisible: frameCheckbox.checked
|
||||
headerVisible: headerCheckbox.checked
|
||||
sortIndicatorVisible: sortableCheckbox.checked
|
||||
alternatingRowColors: alternateCheckbox.checked
|
||||
}
|
@@ -1,39 +0,0 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
import "../models"
|
||||
|
||||
TableView {
|
||||
model: FlickerModel {
|
||||
}
|
||||
|
||||
width: 540
|
||||
height: 360
|
||||
|
||||
TableViewColumn {
|
||||
role: "title"
|
||||
title: "Title"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "credit"
|
||||
title: "Credit"
|
||||
width: 120
|
||||
}
|
||||
TableViewColumn {
|
||||
role: "imagesource"
|
||||
title: "Image source"
|
||||
width: 200
|
||||
visible: true
|
||||
}
|
||||
|
||||
frameVisible: frameCheckbox.checked
|
||||
headerVisible: headerCheckbox.checked
|
||||
sortIndicatorVisible: sortableCheckbox.checked
|
||||
alternatingRowColors: alternateCheckbox.checked
|
||||
}
|
||||
|