Unity 8
 All Classes Functions Properties
IndicatorsPage.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 
25 Page {
26  id: page
27 
28  title: indicatorProperties && indicatorProperties.title ? indicatorProperties.title : ""
29  property variant indicatorProperties
30  property string pageSource : pageLoader.source
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 
48  Rectangle {
49  anchors.fill: pageLoader
50  color: "#221e1c" // FIXME not in palette yet
51  }
52 
53  anchors {
54  top: visualCheckItem.bottom
55  left: parent.left
56  right: parent.right
57  bottom: buttons.top
58  topMargin: units.gu(2)
59  bottomMargin: units.gu(2)
60  }
61  source : visualCheck.checked ? page.pageSource : "IndicatorsTree.qml"
62 
63  onLoaded: {
64  for(var pName in indicatorProperties) {
65  if (item.hasOwnProperty(pName)) {
66  item[pName] = indicatorProperties[pName];
67  }
68  }
69  item.start();
70  }
71  }
72 
73  Item {
74  id: buttons
75  anchors {
76  left: parent.left
77  right: parent.right
78  bottom: parent.bottom
79  margins: units.gu(1)
80  }
81  height: childrenRect.height
82 
83  Button {
84  anchors {
85  left: parent.left
86  }
87  text: "Back"
88  onClicked: page.pageStack.reset()
89  }
90  }
91 }