/**************************************************************************** ** ** 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: "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. "; 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}); } } }