~ubuntu-branches/debian/jessie/qtdeclarative-opensource-src/jessie

« back to all changes in this revision

Viewing changes to examples/quick/tutorials/gettingStartedQml/parts/part4/MenuBar.qml

  • Committer: Package Import Robot
  • Author(s): Lisandro Damián Nicanor Pérez Meyer, Lisandro Damián Nicanor Pérez Meyer
  • Date: 2013-08-30 22:09:43 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130830220943-en0u2dm8cfxpi53o
Tags: 5.1.1-1
[ Lisandro Damián Nicanor Pérez Meyer ]
* New upstream release.
* Update symbols file with buildds' logs.
* Remove fix_systemdialogs_path, applied upstream.
* Adjust examples install file.
* Update symbols files with current build.
* Tighten Qt 5 build dependencies.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/****************************************************************************
2
 
**
3
 
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
4
 
** Contact: http://www.qt-project.org/legal
5
 
**
6
 
** This file is part of the QtQml module 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
 
import QtQml.Models 2.1
43
 
 
44
 
Rectangle {
45
 
    id: menuBar
46
 
    width: 1000
47
 
    height:300
48
 
 
49
 
    property color fileColor: "plum"
50
 
    property color editColor: "powderblue"
51
 
 
52
 
    //container for the header and the buttons
53
 
    Rectangle{
54
 
        
55
 
        id: labelList
56
 
        height:parent.height/10
57
 
        width: parent.width
58
 
        color: "beige"
59
 
        gradient: Gradient {
60
 
                        GradientStop { position: 0.0; color: "#8C8F8C" }
61
 
                        GradientStop { position: 0.17; color: "#6A6D6A" }
62
 
                        GradientStop { position: 0.98;color: "#3F3F3F" }
63
 
                        GradientStop { position: 1.0; color: "#0e1B20" }
64
 
                }
65
 
 
66
 
        //default z is 0, items with higher z values are shown on top of items with lower z values
67
 
        z: 1
68
 
 
69
 
        //row displays its children in a vertical row
70
 
        Row{
71
 
            anchors.centerIn: parent
72
 
            spacing:40
73
 
            Button{
74
 
                height: 20
75
 
                width: 50
76
 
                label: "File"
77
 
                id: fileButton
78
 
                buttonColor : menuListView.currentIndex == 0? fileColor : Qt.darker(fileColor, 1.5)
79
 
                scale: menuListView.currentIndex == 0? 1.25: 1
80
 
                radius: 1
81
 
 
82
 
                //on a button click, change the list's currently selected item to FileMenu
83
 
                onButtonClick: {
84
 
                    menuListView.currentIndex = 0
85
 
                }
86
 
            }
87
 
            Button{
88
 
                height: 20
89
 
                width: 50
90
 
                id: editButton
91
 
                buttonColor : menuListView.currentIndex == 1?  editColor : Qt.darker(editColor, 1.5)
92
 
                scale: menuListView.currentIndex == 1? 1.25: 1    
93
 
                label: "Edit"
94
 
                radius: 1
95
 
 
96
 
                //on a button click, change the list's currently selected item to EditMenu
97
 
                onButtonClick: {
98
 
                    menuListView.currentIndex = 1    
99
 
                }
100
 
 
101
 
                
102
 
            }
103
 
 
104
 
 
105
 
        }
106
 
    }
107
 
 
108
 
    //a list of visual items already have delegates handling their display
109
 
    ObjectModel{
110
 
        id: menuListModel
111
 
 
112
 
        FileMenu{
113
 
            width: menuListView.width
114
 
            height: menuBar.height
115
 
            color: fileColor
116
 
        }
117
 
        EditMenu{
118
 
            color: editColor
119
 
            width:  menuListView.width
120
 
            height: menuBar.height
121
 
            
122
 
        }
123
 
    }
124
 
 
125
 
    //list view will display a model according to a delegate
126
 
    ListView{
127
 
        id: menuListView
128
 
        anchors.fill:parent
129
 
        anchors.bottom: parent.bottom
130
 
        width:parent.width
131
 
        height: parent.height
132
 
 
133
 
        //the model contains the data
134
 
        model: menuListModel
135
 
 
136
 
        //control the movement of the menu switching
137
 
        snapMode: ListView.SnapOneItem
138
 
        orientation: ListView.Horizontal
139
 
        boundsBehavior: Flickable.StopAtBounds 
140
 
        flickDeceleration: 5000
141
 
        highlightFollowsCurrentItem: true
142
 
        highlightMoveDuration:240
143
 
        highlightRangeMode: ListView.StrictlyEnforceRange
144
 
    }
145
 
 
146
 
 
147
 
}