b0c270c0321bdf5ca5019535a6533fa85e9dae0c
[profile/ivi/qtdeclarative.git] / examples / declarative / painteditem / textballoons / textballoons.qml
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: http://www.qt-project.org/
6 **
7 ** This file is part of the demonstration applications of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:LGPL$
10 ** GNU Lesser General Public License Usage
11 ** This file may be used under the terms of the GNU Lesser General Public
12 ** License version 2.1 as published by the Free Software Foundation and
13 ** appearing in the file LICENSE.LGPL included in the packaging of this
14 ** file. Please review the following information to ensure the GNU Lesser
15 ** General Public License version 2.1 requirements will be met:
16 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17 **
18 ** In addition, as a special exception, Nokia gives you certain additional
19 ** rights. These rights are described in the Nokia Qt LGPL Exception
20 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21 **
22 ** GNU General Public License Usage
23 ** Alternatively, this file may be used under the terms of the GNU General
24 ** Public License version 3.0 as published by the Free Software Foundation
25 ** and appearing in the file LICENSE.GPL included in the packaging of this
26 ** file. Please review the following information to ensure the GNU General
27 ** Public License version 3.0 requirements will be met:
28 ** http://www.gnu.org/copyleft/gpl.html.
29 **
30 ** Other Usage
31 ** Alternatively, this file may be used in accordance with the terms and
32 ** conditions contained in a signed written agreement between you and Nokia.
33 **
34 **
35 **
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 import QtQuick 2.0
43 import TextBalloonPlugin 1.0
44
45 Item {
46     height: 480
47     width: 640
48
49     //! [0]
50     ListModel {
51         id: balloonModel
52         ListElement {
53             balloonWidth: 200
54         }
55         ListElement {
56             balloonWidth: 350
57         }
58     }
59
60     ListView {
61         anchors.bottom: controls.top
62         anchors.bottomMargin: 2
63         anchors.top: parent.top
64         id: balloonView
65         delegate: TextBalloon {
66             anchors.right: index % 2 == 0 ? undefined : parent.right
67             height: 60
68             rightAligned: index % 2 == 0 ? false : true
69             width: balloonWidth
70         }
71         model: balloonModel
72         spacing: 5
73         width: parent.width
74     }
75     //! [0]
76
77     //! [1]
78     Rectangle {
79         id: controls
80  
81         anchors.bottom: parent.bottom
82         anchors.left: parent.left
83         anchors.margins: 1
84         anchors.right: parent.right
85         border.width: 2
86         color: "white"
87         height: parent.height * 0.15
88
89         Text {
90             anchors.centerIn: parent
91             text: "Add another balloon"
92         }
93
94         MouseArea {
95             anchors.fill: parent
96             hoverEnabled: true
97             onClicked: {
98                 balloonModel.append({"balloonWidth": Math.floor(Math.random() * 300 + 100)})
99                 balloonView.positionViewAtIndex(balloonView.count -1, ListView.End)
100             }
101             onEntered: {
102                 parent.color = "#8ac953"
103             }
104             onExited: {
105                 parent.color = "white"
106             }
107         }
108     }
109     //! [1]
110 }