Only free context if the owning QV8ContextResource gets destroyed
[profile/ivi/qtdeclarative.git] / examples / quick / demos / stocqt / content / StockView.qml
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the examples of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** You may use this file under the terms of the BSD license as follows:
10 **
11 ** "Redistribution and use in source and binary forms, with or without
12 ** modification, are permitted provided that the following conditions are
13 ** met:
14 **   * Redistributions of source code must retain the above copyright
15 **     notice, this list of conditions and the following disclaimer.
16 **   * Redistributions in binary form must reproduce the above copyright
17 **     notice, this list of conditions and the following disclaimer in
18 **     the documentation and/or other materials provided with the
19 **     distribution.
20 **   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
21 **     of its contributors may be used to endorse or promote products derived
22 **     from this software without specific prior written permission.
23 **
24 **
25 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36 **
37 ** $QT_END_LICENSE$
38 **
39 ****************************************************************************/
40
41 import QtQuick 2.0
42 Rectangle {
43   id:root
44   width:320
45   height:480
46   color:"#423A2F"
47   property var stock:null
48   property var stocklist:null
49   property var settings:null
50   signal listViewClicked
51   signal settingsClicked
52
53   function update() {
54      chart.endDate = settings.endDate
55      chart.update()
56   }
57
58   Rectangle {
59     color:"#272822"
60     anchors.fill:parent
61     radius:20
62
63     Image {
64       source:"images/icon-items.png"
65       anchors.left:parent.left
66       anchors.leftMargin:10
67       anchors.top:parent.top
68       anchors.topMargin:10
69       MouseArea {
70         anchors.fill:parent
71         onClicked:listViewClicked()
72       }
73     }
74     Image {
75       source:"images/icon-settings.png"
76       anchors.right:parent.right
77       anchors.rightMargin:10
78       anchors.top:parent.top
79       anchors.topMargin:10
80       MouseArea {
81         anchors.fill:parent
82         onClicked:settingsClicked()
83       }
84     }
85
86     Text {
87       id:desc
88       anchors.left:parent.left
89       anchors.leftMargin:20
90       anchors.top:parent.top
91       anchors.topMargin:40
92       color:"#564c3A"
93       font.pointSize:15
94       text:root.stock.stockId + " - " + root.stock.stockName
95     }
96
97     Text {
98       id:price
99       anchors.left:parent.left
100       anchors.leftMargin:20
101       anchors.top:desc.bottom
102       anchors.topMargin:5
103       color:"#ECC089"
104       font.pointSize:30
105       text:root.stock.stockPrice
106     }
107
108     Text {
109       id:priceChange
110       anchors.left:parent.left
111       anchors.leftMargin:20
112       anchors.top:price.bottom
113       anchors.topMargin:5
114       color: root.stock.stockPriceChanged < 0 ? "#A43D3D" : "#679B3A"
115       font.pointSize:25
116       text: root.stock.stockPriceChanged + " (" + Math.abs(Math.round(root.stock.stockPriceChanged/(root.stock.stockPrice - root.stock.stockPriceChanged) * 100))/100  +"%)"
117     }
118
119     StockChart {
120         id:chart
121         anchors.bottom: parent.bottom
122         anchors.top : priceChange.bottom
123         anchors.topMargin: 30
124         width:parent.width
125         stockModel:root.stock
126         settings:root.settings
127     }
128   }
129 }