| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the test suite of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:BSD$ |
| ** 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 https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** BSD License Usage |
| ** Alternatively, 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 The Qt Company Ltd 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.2 |
| import QtQuick.Controls 1.2 |
| import QtQuick.Controls.Styles 1.1 |
| import QtQuick.Controls.Private 1.0 |
| |
| Item { |
| property Component button: Button { text: "Push me"} |
| property Component calendar: Calendar {} |
| property Component checkbox: CheckBox { text: "A CheckBox" } |
| property Component toolbutton: ToolButton { text: "A ToolButton" } |
| property Component radiobutton: RadioButton { text: "A RadioButton" } |
| property Component textfield: TextField { } |
| property Component busyIndicator: BusyIndicator { } |
| property Component spinbox: SpinBox {} |
| property Component slider : Slider {} |
| property Component combobox: ComboBox { model: testDataModel } |
| property Component textarea: TextArea { text: loremIpsum } |
| property Component toolbar: ToolBar { } |
| property Component statusbar: StatusBar { } |
| property Component switchcontrol: Switch { } |
| property Component label: Label {text: "I am a label" } |
| property Component tableview: TableView { property bool movableColumns: true; model: testDataModel ; TableViewColumn {title: "Column 1"; movable: movableColumns} TableViewColumn {title: "Column 2"; movable: movableColumns} } |
| property Component tabView: TabView { Repeater { model: 3 ; delegate:Tab { title: "Tab " + index } }} |
| property Component scrollview: ScrollView { |
| Rectangle { |
| color: "#eee" |
| width: 1000 |
| height: 1000 |
| Image { |
| source: "../../images/checkered.png" ; |
| fillMode: Image.Tile |
| anchors.fill: parent |
| opacity: 0.1 |
| } |
| } |
| } |
| |
| property Component groupbox: GroupBox { |
| Column { |
| CheckBox { |
| text: "checkbox1" |
| } |
| CheckBox { |
| text: "checkbox2" |
| } |
| } |
| } |
| |
| property Component progressbar: ProgressBar { |
| property bool ___isRunning: true |
| Timer { |
| id: timer |
| running: ___isRunning |
| repeat: true |
| interval: 25 |
| onTriggered: { |
| var next = parent.value + 0.01; |
| parent.value = (next > parent.maximumValue) ? parent.minimumValue : next; |
| } |
| } |
| } |
| |
| property var model: ListModel{ |
| id: testDataModel |
| Component.onCompleted: { |
| for (var i = 0 ; i < 10 ; ++i) |
| testDataModel.append({text: "Value " + i}); |
| } |
| } |
| |
| property string loremIpsum: |
| "<a href='lipsum.com'>Lorem ipsum</a> 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. "; |
| |
| property var componentModel: ListModel { |
| Component.onCompleted: { |
| append({ name: "Button", component: button}); |
| append({ name: "Calendar", component: calendar}); |
| append({ name: "BusyIndicator", component: busyIndicator}); |
| append({ name: "ToolButton", component: toolbutton}); |
| append({ name: "CheckBox", component: checkbox}); |
| append({ name: "ComboBox", component: combobox}); |
| append({ name: "RadioButton", component: radiobutton}); |
| append({ name: "Slider", component: slider}); |
| append({ name: "Switch", component: switchcontrol}); |
| append({ name: "ProgressBar", component: progressbar}); |
| append({ name: "TextField", component: textfield}); |
| append({ name: "TextArea", component: textarea}); |
| append({ name: "SpinBox", component: spinbox}); |
| append({ name: "ToolBar", component: toolbar}); |
| append({ name: "StatusBar", component: statusbar}); |
| append({ name: "TableView", component: tableview}); |
| append({ name: "ScrollView", component: scrollview}); |
| append({ name: "GroupBox", component: groupbox}); |
| append({ name: "TabView", component: tabView}); |
| append({ name: "Label", component: label}); |
| } |
| } |
| |
| property Component buttonStyle: ButtonStyle {} |
| property Component calendarStyle: CalendarStyle {} |
| property Component toolbuttonStyle: ToolButtonStyle {} |
| property Component checkboxStyle: CheckBoxStyle {} |
| property Component comboboxStyle: ComboBoxStyle {} |
| property Component radiobuttonStyle: RadioButtonStyle {} |
| property Component sliderStyle: SliderStyle {} |
| property Component progressbarStyle: ProgressBarStyle {} |
| property Component textfieldStyle: TextFieldStyle {} |
| property Component textareaStyle: TextAreaStyle {} |
| property Component spinboxStyle: SpinBoxStyle {} |
| property Component toolbarStyle: ToolBarStyle {} |
| property Component statusbarStyle: StatusBarStyle {} |
| property Component switchStyle: SwitchStyle {} |
| property Component tableviewStyle: TableViewStyle {} |
| property Component scrollviewStyle: ScrollViewStyle {} |
| property Component groupboxStyle: GroupBoxStyle {} |
| property Component tabViewStyle: TabViewStyle {} |
| property Component busyIndicatorStyle: BusyIndicatorStyle {} |
| property Component labelStyle: null |
| |
| property var customStyles: ListModel { |
| Component.onCompleted: { |
| append({ name: "Button", component: buttonStyle}); |
| append({ name: "BusyIndicator", component: busyIndicatorStyle}); |
| append({ name: "Calendar", component: calendarStyle}); |
| append({ name: "ToolButton", component: toolbuttonStyle}); |
| append({ name: "CheckBox", component: checkboxStyle}); |
| append({ name: "ComboBox", component: comboboxStyle}); |
| append({ name: "RadioButton", component: radiobuttonStyle}); |
| append({ name: "Slider", component: sliderStyle}); |
| append({ name: "Switch", component: switchStyle}); |
| append({ name: "ProgressBar", component: progressbarStyle}); |
| append({ name: "TextField", component: textfieldStyle}); |
| append({ name: "TextArea", component: textareaStyle}); |
| append({ name: "SpinBox", component: spinboxStyle}); |
| append({ name: "ToolBar", component: toolbarStyle}); |
| append({ name: "StatusBar", component: statusbarStyle}); |
| append({ name: "TableView", component: tableviewStyle}); |
| append({ name: "ScrollView", component: scrollviewStyle}); |
| append({ name: "GroupBox", component: groupboxStyle}); |
| append({ name: "TabView", component: tabViewStyle}); |
| append({ name: "Label", component: labelStyle}); |
| } |
| } |
| } |