Permalink
Browse files

Merge pull request #105 from cristim/v1

Ported some of the qtquickcontrols examples.
  • Loading branch information...
2 parents 929da27 + b35cbc7 commit 1116cb9cd8dee23f8d444ded354eb53122739f99 @niemeyer niemeyer committed Oct 24, 2014
Showing with 3,008 additions and 0 deletions.
  1. +5 −0 examples/controls/.gitignore
  2. +8 −0 examples/controls/README.md
  3. +29 −0 examples/controls/basiclayouts/basiclayouts.go
  4. +116 −0 examples/controls/basiclayouts/main.qml
  5. +48 −0 examples/controls/gallery/content/AboutDialog.qml
  6. +122 −0 examples/controls/gallery/content/ChildWindow.qml
  7. +229 −0 examples/controls/gallery/content/Controls.qml
  8. +58 −0 examples/controls/gallery/content/ImageViewer.qml
  9. +107 −0 examples/controls/gallery/content/Layouts.qml
  10. +103 −0 examples/controls/gallery/content/ModelView.qml
  11. +387 −0 examples/controls/gallery/content/Styles.qml
  12. +29 −0 examples/controls/gallery/gallery.go
  13. BIN examples/controls/gallery/images/bubble.png
  14. BIN examples/controls/gallery/images/button-pressed.png
  15. BIN examples/controls/gallery/images/button.png
  16. BIN examples/controls/gallery/images/document-open.png
  17. BIN examples/controls/gallery/images/document-open@2x.png
  18. BIN examples/controls/gallery/images/document-save-as.png
  19. BIN examples/controls/gallery/images/document-save-as@2x.png
  20. BIN examples/controls/gallery/images/folder_new.png
  21. BIN examples/controls/gallery/images/go-next.png
  22. BIN examples/controls/gallery/images/go-previous.png
  23. BIN examples/controls/gallery/images/preferences-system.png
  24. BIN examples/controls/gallery/images/process-stop.png
  25. BIN examples/controls/gallery/images/progress-background.png
  26. BIN examples/controls/gallery/images/progress-fill.png
  27. BIN examples/controls/gallery/images/slider-handle.png
  28. BIN examples/controls/gallery/images/tab.png
  29. BIN examples/controls/gallery/images/tab_selected.png
  30. BIN examples/controls/gallery/images/textfield.png
  31. BIN examples/controls/gallery/images/toplevel_window.png
  32. BIN examples/controls/gallery/images/view-refresh.png
  33. BIN examples/controls/gallery/images/window-new.png
  34. BIN examples/controls/gallery/images/window-new@2x.png
  35. +266 −0 examples/controls/gallery/main.qml
  36. +82 −0 examples/controls/splitview/main.qml
  37. +29 −0 examples/controls/splitview/splitview.go
  38. BIN examples/controls/tableview/images/header.png
  39. BIN examples/controls/tableview/images/selectedrow.png
  40. +405 −0 examples/controls/tableview/main.qml
  41. +29 −0 examples/controls/tableview/tableview.go
  42. +92 −0 examples/controls/touch/content/AndroidDelegate.qml
  43. +176 −0 examples/controls/touch/content/ButtonPage.qml
  44. +82 −0 examples/controls/touch/content/ListPage.qml
  45. +114 −0 examples/controls/touch/content/ProgressBarPage.qml
  46. +106 −0 examples/controls/touch/content/SliderPage.qml
  47. +102 −0 examples/controls/touch/content/TabBarPage.qml
  48. +106 −0 examples/controls/touch/content/TextInputPage.qml
  49. +2 −0 examples/controls/touch/images/NOTICE.txt
  50. BIN examples/controls/touch/images/button_default.png
  51. BIN examples/controls/touch/images/button_pressed.png
  52. BIN examples/controls/touch/images/navigation_next_item.png
  53. BIN examples/controls/touch/images/navigation_previous_item.png
  54. BIN examples/controls/touch/images/tab_selected.png
  55. BIN examples/controls/touch/images/tabs_standard.png
  56. BIN examples/controls/touch/images/textinput.png
  57. BIN examples/controls/touch/images/toolbar.png
  58. +147 −0 examples/controls/touch/main.qml
  59. +29 −0 examples/controls/touch/touch.go
@@ -0,0 +1,5 @@
+basiclayouts/basiclayouts
+gallery/gallery
+splitview/splitview
+tableview/tableview
+touch/touch
@@ -0,0 +1,8 @@
+These examples were ported from [qtquickcontrols](git@gitorious.org:qt/qtquickcontrols.git).
+
+Only the basic ones were ported, in order to demonstrate how easy it is to create a full-fledged UI with Go and QML.
+
+There were a few more, but they that had native modules and those were omitted due to laziness.
+
+In order to run them you might need some extra Qt5 plugins. On Ubuntu those can be installed using this command:
+ sudo apt-get install qtdeclarative5-controls-plugin qtdeclarative5-xmllistmodel-plugin
@@ -0,0 +1,29 @@
+package main
+
+import (
+ "fmt"
+ "gopkg.in/qml.v1"
+ "os"
+)
+
+func main() {
+ if err := qml.Run(run); err != nil {
+ fmt.Fprintf(os.Stderr, "error: %v\n", err)
+ os.Exit(1)
+ }
+}
+
+func run() error {
+ engine := qml.NewEngine()
+
+ controls, err := engine.LoadFile("main.qml")
+ if err != nil {
+ return err
+ }
+
+ window := controls.CreateWindow(nil)
+
+ window.Show()
+ window.Wait()
+ return nil
+}
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** 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.2
+import QtQuick.Controls 1.1
+import QtQuick.Layouts 1.0
+
+ApplicationWindow {
+ visible: true
+ title: "Basic layouts"
+ property int margin: 11
+ width: mainLayout.implicitWidth + 2 * margin
+ height: mainLayout.implicitHeight + 2 * margin
+ minimumWidth: mainLayout.Layout.minimumWidth + 2 * margin
+ minimumHeight: mainLayout.Layout.minimumHeight + 2 * margin
+
+ ColumnLayout {
+ id: mainLayout
+ anchors.fill: parent
+ anchors.margins: margin
+ 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
+ rows: 3
+ flow: GridLayout.TopToBottom
+ anchors.fill: parent
+
+ 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
+ }
+ }
+}
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** 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.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"
+}
@@ -0,0 +1,122 @@
+/****************************************************************************
+**
+** 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.2
+import QtQuick.Window 2.1
+import QtQuick.Controls 1.1
+
+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;
+ }
+ }
+}
+
Oops, something went wrong.

0 comments on commit 1116cb9

Please sign in to comment.