Skip to content

Commit

Permalink
Update positioners examples to new guidelines
Browse files Browse the repository at this point in the history
Change-Id: I197a94bca26adbb79f1822b693fa73109db5a4ac
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
  • Loading branch information
Alan Alpert authored and Qt by Nokia committed Mar 9, 2012
1 parent 88a6f77 commit 12c74ff
Show file tree
Hide file tree
Showing 8 changed files with 326 additions and 266 deletions.
Binary file removed examples/quick/positioners/content/add.png
Binary file not shown.
Binary file removed examples/quick/positioners/content/del.png
Binary file not shown.
Expand Up @@ -37,42 +37,5 @@
** $QT_END_LICENSE$
**
****************************************************************************/

import QtQuick 2.0

Rectangle {
id: page

property string text
property string icon
signal clicked

border.color: "black"; color: "steelblue"; radius: 5
width: pix.width + textelement.width + 13
height: pix.height + 10

Image { id: pix; x: 5; y:5; source: parent.icon }

Text {
id: textelement
text: page.text; color: "white"
x: pix.width + pix.x + 3
anchors.verticalCenter: pix.verticalCenter
}

MouseArea {
id: mr
anchors.fill: parent
onClicked: { parent.focus = true; page.clicked() }
}

states: State {
name: "pressed"; when: mr.pressed
PropertyChanges { target: textelement; x: 5 }
PropertyChanges { target: pix; x: textelement.x + textelement.width + 3 }
}

transitions: Transition {
NumberAnimation { properties: "x,left"; easing.type: Easing.InOutQuad; duration: 200 }
}
}
#include "../../shared/shared.h"
DECLARATIVE_EXAMPLE_MAIN(positioners)
43 changes: 35 additions & 8 deletions examples/quick/positioners/positioners-attachedproperties.qml
Expand Up @@ -41,23 +41,32 @@
import QtQuick 2.0

Rectangle {
width: 400
height: 100
width: 320
height: 480

// Create row with four rectangles, the fourth one is hidden
Row {
id: row
// Create column with four rectangles, the fourth one is hidden
Column {
id: column

Rectangle {
id: red
color: "red"
width: 100
height: 100

Text {
anchors.left: parent.right
anchors.leftMargin: 20
anchors.verticalCenter: parent.verticalCenter
text: "Index: " + parent.Positioner.index
+ (parent.Positioner.isFirstItem ? " (First)" : "")
+ (parent.Positioner.isLastItem ? " (Last)" : "")
}

// When mouse is clicked, display the values of the positioner
MouseArea {
anchors.fill: parent
onClicked: row.showInfo(red.Positioner)
onClicked: column.showInfo(red.Positioner)
}
}

Expand All @@ -67,10 +76,19 @@ Rectangle {
width: 100
height: 100

Text {
anchors.left: parent.right
anchors.leftMargin: 20
anchors.verticalCenter: parent.verticalCenter
text: "Index: " + parent.Positioner.index
+ (parent.Positioner.isFirstItem ? " (First)" : "")
+ (parent.Positioner.isLastItem ? " (Last)" : "")
}

// When mouse is clicked, display the values of the positioner
MouseArea {
anchors.fill: parent
onClicked: row.showInfo(green.Positioner)
onClicked: column.showInfo(green.Positioner)
}
}

Expand All @@ -80,10 +98,19 @@ Rectangle {
width: 100
height: 100

Text {
anchors.left: parent.right
anchors.leftMargin: 20
anchors.verticalCenter: parent.verticalCenter
text: "Index: " + parent.Positioner.index
+ (parent.Positioner.isFirstItem ? " (First)" : "")
+ (parent.Positioner.isLastItem ? " (Last)" : "")
}

// When mouse is clicked, display the values of the positioner
MouseArea {
anchors.fill: parent
onClicked: row.showInfo(blue.Positioner)
onClicked: column.showInfo(blue.Positioner)
}
}

Expand Down
243 changes: 243 additions & 0 deletions examples/quick/positioners/positioners-transitions.qml
@@ -0,0 +1,243 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
** the names of its contributors may be used to endorse or promote
** products derived from this software without specific prior written
** permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/

import QtQuick 2.0

Rectangle {
id: page
width: 320; height: 480
property int effectiveOpacity: 1.0
Timer {
interval: 2000
running: true
repeat: true
onTriggered: effectiveOpacity = (effectiveOpacity == 1.0 ? 0.0 : 1.0)
}

Column {
id: layout1
y: 0
move: Transition {
NumberAnimation { properties: "y"; easing.type: Easing.OutBounce }
}
add: Transition {
NumberAnimation { properties: "y"; easing.type: Easing.OutQuad }
}

Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueV1
visible: opacity != 0
width: 100; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "green"; width: 100; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueV2
visible: opacity != 0
width: 100; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "orange"; width: 100; height: 50; border.color: "black"; radius: 15 }
Rectangle { color: "red"; width: 100; height: 50; border.color: "black"; radius: 15 }
}

Row {
id: layout2
y: 320
move: Transition {
NumberAnimation { properties: "x"; easing.type: Easing.OutBounce }
}
add: Transition {
NumberAnimation { properties: "x"; easing.type: Easing.OutQuad }
}

Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }

Rectangle {
id: blueH1
visible: opacity != 0
width: 50; height: 100
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "green"; width: 50; height: 100; border.color: "black"; radius: 15 }

Rectangle {
id: blueH2
visible: opacity != 0
width: 50; height: 100
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "orange"; width: 50; height: 100; border.color: "black"; radius: 15 }
Rectangle { color: "red"; width: 50; height: 100; border.color: "black"; radius: 15 }
}

Grid {
x: 120; y: 0
columns: 3

move: Transition {
NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
}

add: Transition {
NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
}

Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueG1
visible: opacity != 0
width: 50; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueG2
visible: opacity != 0
width: 50; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueG3
visible: opacity != 0
width: 50; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { color: "green"; width: 50; height: 50; border.color: "black"; radius: 15 }
Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }
}

Flow {
id: layout4
x: 120; y: 160; width: 150

move: Transition {
NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
}

add: Transition {
NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce }
}

Rectangle { color: "red"; width: 50; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueF1
visible: opacity != 0
width: 60; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "green"; width: 30; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueF2
visible: opacity != 0
width: 60; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "orange"; width: 50; height: 50; border.color: "black"; radius: 15 }

Rectangle {
id: blueF3
visible: opacity != 0
width: 40; height: 50
color: "lightsteelblue"
border.color: "black"
radius: 15
Behavior on opacity { NumberAnimation {} }
opacity: effectiveOpacity
}

Rectangle { color: "red"; width: 80; height: 50; border.color: "black"; radius: 15 }
}
}
10 changes: 10 additions & 0 deletions examples/quick/positioners/positioners.pro
@@ -0,0 +1,10 @@
TEMPLATE = app

QT += quick declarative
SOURCES += main.cpp

target.path = $$[QT_INSTALL_EXAMPLES]/qtdeclarative/quick/positioners
qml.files = positioners.qml positioners-transitions.qml positioners-attachedproperties.qml
qml.path = $$[QT_INSTALL_EXAMPLES]/qtdeclarative/quick/positioners
INSTALLS += target qml

0 comments on commit 12c74ff

Please sign in to comment.