~loic.molinari/+junk/qtdeclarative-shadereffectsource-changes

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