Unity 8
 All Classes Functions
IndicatorRepresentation.qml
1 /*
2  * Copyright 2013 Canonical Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authors:
17  * Renato Araujo Oliveira Filho <renato@canonical.com>
18  * Nick Dedekind <nick.dedekind@canonical.com>
19  */
20 
21 import QtQuick 2.0
22 import Ubuntu.Components 0.1
23 import Ubuntu.Components.ListItems 0.1 as ListItem
24 import "../.."
25 
26 Page {
27  id: root
28 
29  title: indicatorProperties && indicatorProperties.title ? indicatorProperties.title : ""
30  property variant indicatorProperties
31 
32  anchors.fill: parent
33 
34  ListItem.Standard {
35  id: visualCheckItem
36  text: "Enable Visual Representation"
37  control: Switch {
38  id: visualCheck
39  checked: true
40  }
41  }
42 
43  Loader {
44  id: pageLoader
45  objectName: "pageLoader"
46  clip:true
47  asynchronous: true
48 
49  Rectangle {
50  anchors.fill: pageLoader
51  color: "#221e1c" // FIXME not in palette yet
52  }
53 
54  anchors {
55  top: visualCheckItem.bottom
56  left: parent.left
57  right: parent.right
58  bottom: buttons.top
59  topMargin: units.gu(2)
60  bottomMargin: units.gu(2)
61  }
62  sourceComponent: visualCheck.checked ? page : tree
63 
64  Component {
65  id: page
66  IndicatorPage {
67  identifier: model.identifier
68  busName: indicatorProperties.busName
69  actionsObjectPath: indicatorProperties.actionsObjectPath
70  menuObjectPath: indicatorProperties.menuObjectPath
71  }
72  }
73  Component {
74  id: tree
75  IndicatorsTree {
76  identifier: model.identifier
77  busName: indicatorProperties.busName
78  actionsObjectPath: indicatorProperties.actionsObjectPath
79  menuObjectPath: indicatorProperties.menuObjectPath
80  }
81  }
82  }
83 
84  Item {
85  id: buttons
86  anchors {
87  left: parent.left
88  right: parent.right
89  bottom: parent.bottom
90  margins: units.gu(1)
91  }
92  height: childrenRect.height
93 
94  Button {
95  anchors {
96  left: parent.left
97  }
98  text: "Back"
99  onClicked: root.pageStack.reset()
100  }
101  }
102 }