aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qtquick1/qdeclarativepathview
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qtquick1/qdeclarativepathview')
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/closedPath.qml24
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/datamodel.qml38
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/displaypath.qml59
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/dragpath.qml19
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/emptymodel.qml5
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/openPath.qml10
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathUpdate.qml18
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathUpdateOnStartChanged.qml38
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathtest.qml14
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathview0.qml84
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathview1.qml4
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathview2.qml57
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathview3.qml59
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/pathview_package.qml88
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/propertychanges.qml116
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/treemodel.qml19
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/undefinedpath.qml17
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/data/vdm.qml28
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/qdeclarativepathview.pro11
-rw-r--r--tests/auto/qtquick1/qdeclarativepathview/tst_qdeclarativepathview.cpp1061
20 files changed, 0 insertions, 1769 deletions
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/closedPath.qml b/tests/auto/qtquick1/qdeclarativepathview/data/closedPath.qml
deleted file mode 100644
index 08b0d2a203..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/closedPath.qml
+++ /dev/null
@@ -1,24 +0,0 @@
-import QtQuick 1.0
-
-Path {
- startY: 120
- startX: 160
- PathQuad {
- y: 120
- x: 80
- controlY: 330
- controlX: 100
- }
- PathLine {
- y: 160
- x: 20
- }
- PathCubic {
- y: 120
- x: 160
- control1Y: 0
- control1X: 100
- control2Y: 000
- control2X: 200
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/datamodel.qml b/tests/auto/qtquick1/qdeclarativepathview/data/datamodel.qml
deleted file mode 100644
index e2c4e3dd00..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/datamodel.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- id: pathview
- property int viewCount: count
- objectName: "pathview"
- width: 240; height: 320
- pathItemCount: testObject.pathItemCount
-
- function checkProperties() {
- testObject.error = false;
- if (testObject.useModel && pathview.model != testData) {
- console.log("model property incorrect");
- testObject.error = true;
- }
- }
-
- model: testObject.useModel ? testData : 0
-
- delegate: Component {
- id: myDelegate
- Rectangle {
- id: wrapper
- objectName: "wrapper"
- property bool onPath: PathView.onPath
- width: 20; height: 20; color: name
- Text {
- objectName: "myText"
- text: name
- }
- }
- }
-
- path: Path {
- startX: 120; startY: 20;
- PathLine { x: 120; y: 300 }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/displaypath.qml b/tests/auto/qtquick1/qdeclarativepathview/data/displaypath.qml
deleted file mode 100644
index 88dfc57b72..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/displaypath.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 240
- height: 320
- color: "#ffffff"
- resources: [
- Component {
- id: delegate
- Rectangle {
- id: wrapper
- objectName: "wrapper"
- height: 20
- width: 60
- color: "white"
- border.color: "black"
- Text {
- text: index
- }
- Text {
- x: 20
- id: displayText
- objectName: "displayText"
- text: display
- }
- }
- }
- ]
- PathView {
- id: view
- objectName: "view"
- width: 240
- height: 320
- model: testModel
- delegate: delegate
- path: Path {
- startY: 120
- startX: 160
- PathQuad {
- y: 120
- x: 80
- controlY: 330
- controlX: 100
- }
- PathLine {
- y: 160
- x: 20
- }
- PathCubic {
- y: 120
- x: 160
- control1Y: 0
- control1X: 100
- control2Y: 000
- control2X: 200
- }
- }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/dragpath.qml b/tests/auto/qtquick1/qdeclarativepathview/data/dragpath.qml
deleted file mode 100644
index 0f9484083e..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/dragpath.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- width: 400
- height: 200
- model: 100
- pathItemCount: 20
- path: Path {
- startX: 0; startY: 100
- PathLine { x: 400; y: 100 }
- }
- delegate: Rectangle { objectName: "wrapper"; height: 100; width: 2; color: PathView.isCurrentItem?"red" : "black" }
- dragMargin: 100
- preferredHighlightBegin: 0.5
- preferredHighlightEnd: 0.5
- Text {
- text: "current index: " + parent.currentIndex
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/emptymodel.qml b/tests/auto/qtquick1/qdeclarativepathview/data/emptymodel.qml
deleted file mode 100644
index 4deb45fdb3..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/emptymodel.qml
+++ /dev/null
@@ -1,5 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- model: emptyModel
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/openPath.qml b/tests/auto/qtquick1/qdeclarativepathview/data/openPath.qml
deleted file mode 100644
index 328e3cdefb..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/openPath.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 1.0
-
-Path {
- startY: 120
- startX: 160
- PathLine {
- y: 160
- x: 20
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathUpdate.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathUpdate.qml
deleted file mode 100644
index 0c2ac0ce98..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathUpdate.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 400
- height: 400
-
- PathView {
- id: view
- objectName: "pathView"
- anchors.fill: parent
- model: 10
- delegate: Rectangle { objectName: "wrapper"; color: "green"; width: 100; height: 100 }
- path: Path {
- startX: view.width/2; startY: 0
- PathLine { x: view.width/2; y: view.height }
- }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathUpdateOnStartChanged.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathUpdateOnStartChanged.qml
deleted file mode 100644
index bd732ab17b..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathUpdateOnStartChanged.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 800
- height: 480
- color: "black"
- resources: [
- ListModel {
- id: appModel
- ListElement { color: "green" }
- },
- Component {
- id: appDelegate
- Rectangle {
- id: wrapper
- objectName: "wrapper"
- color: "green"
- width: 100
- height: 100
- }
- }
- ]
- PathView {
- id: pathView
- objectName: "pathView"
- model: appModel
- anchors.fill: parent
-
- transformOrigin: "Top"
- delegate: appDelegate
- path: Path {
- objectName: "path"
- startX: pathView.width / 2 // startX: 400 <- this works as expected
- startY: 300
- PathLine { x: 400; y: 120 }
- }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathtest.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathtest.qml
deleted file mode 100644
index b13c00662e..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathtest.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 1.0
-
-Path {
- startX: 120; startY: 100
-
- PathAttribute { name: "scale"; value: 1.0 }
- PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }
- PathPercent { value: 0.3 }
- PathLine { x: 120; y: 100 }
- PathCubic {
- x: 180; y: 0; control1X: -10; control1Y: 90
- control2X: 210; control2Y: 90
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathview0.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathview0.qml
deleted file mode 100644
index 28b6fb9a72..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathview0.qml
+++ /dev/null
@@ -1,84 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: root
- property int count: view.count
- property int currentA: -1
- property int currentB: -1
- property real delegateWidth: 60
- property real delegateHeight: 20
- property real delegateScale: 1.0
- width: 240
- height: 320
- color: "#ffffff"
- resources: [
- Component {
- id: delegate
- Rectangle {
- id: wrapper
- objectName: "wrapper"
- height: root.delegateHeight
- width: root.delegateWidth
- scale: root.delegateScale
- color: PathView.isCurrentItem ? "lightsteelblue" : "white"
- border.color: "black"
- Text {
- text: index
- }
- Text {
- x: 20
- id: textName
- objectName: "textName"
- text: name
- }
- Text {
- x: 40
- id: textNumber
- objectName: "textNumber"
- text: number
- }
- PathView.onCurrentItemChanged: {
- if (PathView.isCurrentItem) {
- root.currentA = index;
- root.currentB = wrapper.PathView.view.currentIndex;
- }
- }
- }
- }
- ]
- PathView {
- id: view
- objectName: "view"
- width: 240
- height: 320
- model: testModel
- delegate: delegate
- highlight: Rectangle {
- width: 60
- height: 20
- color: "yellow"
- }
- path: Path {
- startY: 120
- startX: 160
- PathQuad {
- y: 120
- x: 80
- controlY: 330
- controlX: 100
- }
- PathLine {
- y: 160
- x: 20
- }
- PathCubic {
- y: 120
- x: 160
- control1Y: 0
- control1X: 100
- control2Y: 000
- control2X: 200
- }
- }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathview1.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathview1.qml
deleted file mode 100644
index d1ac5171db..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathview1.qml
+++ /dev/null
@@ -1,4 +0,0 @@
-import QtQuick 1.0
-
-PathView {
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathview2.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathview2.qml
deleted file mode 100644
index 1e1e893a9c..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathview2.qml
+++ /dev/null
@@ -1,57 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- id: photoPathView
- y: 100; width: 800; height: 330; pathItemCount: 10; z: 1
-
- path: Path {
- startX: -50; startY: 40;
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: -45 }
-
- PathCubic {
- x: 400; y: 220
- control1X: 140; control1Y: 40
- control2X: 210; control2Y: 220
- }
-
- PathAttribute { name: "scale"; value: 1.2 }
- PathAttribute { name: "angle"; value: 0 }
-
- PathCubic {
- x: 850; y: 40
- control2X: 660; control2Y: 40
- control1X: 590; control1Y: 220
- }
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: 45 }
- }
-
- model: ListModel {
- id: rssModel
- ListElement { lColor: "red" }
- ListElement { lColor: "green" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "thistle" }
- }
-
- delegate: Component {
- id: photoDelegate
- Rectangle {
- id: wrapper
- width: 85; height: 85; color: lColor
- scale: wrapper.PathView.scale
-
- transform: Rotation {
- id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
- axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle
- }
- }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathview3.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathview3.qml
deleted file mode 100644
index cd1ba0375d..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathview3.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- id: photoPathView
- y: 100; width: 800; height: 330; pathItemCount: 4; offset: 1
- dragMargin: 24
- preferredHighlightBegin: 0.50
- preferredHighlightEnd: 0.50
-
- path: Path {
- startX: -50; startY: 40;
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: -45 }
-
- PathCubic {
- x: 400; y: 220
- control1X: 140; control1Y: 40
- control2X: 210; control2Y: 220
- }
-
- PathAttribute { name: "scale"; value: 1.2 }
- PathAttribute { name: "angle"; value: 0 }
-
- PathCubic {
- x: 850; y: 40
- control2X: 660; control2Y: 40
- control1X: 590; control1Y: 220
- }
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: 45 }
- }
-
- model: ListModel {
- id: rssModel
- ListElement { lColor: "red" }
- ListElement { lColor: "green" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "thistle" }
- }
-
- delegate: Component {
- id: photoDelegate
- Rectangle {
- id: wrapper
- width: 85; height: 85; color: lColor
-
- transform: Rotation {
- id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
- axis.y: 1; axis.z: 0
- }
- }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/pathview_package.qml b/tests/auto/qtquick1/qdeclarativepathview/data/pathview_package.qml
deleted file mode 100644
index f9157bddeb..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/pathview_package.qml
+++ /dev/null
@@ -1,88 +0,0 @@
-import QtQuick 1.0
-
-Item {
- width: 800; height: 600
- Component {
- id: photoDelegate
- Package {
- Item { id: pathItem; objectName: "pathItem"; Package.name: 'path'; width: 85; height: 85; scale: pathItem.PathView.scale }
- Item { id: linearItem; Package.name: 'linear'; width: 85; height: 85 }
- Rectangle {
- id: wrapper
- width: 85; height: 85; color: lColor
-
- transform: Rotation {
- id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
- axis.y: 1; axis.z: 0
- }
- state: 'path'
- states: [
- State {
- name: 'path'
- ParentChange { target: wrapper; parent: pathItem; x: 0; y: 0 }
- PropertyChanges { target: wrapper; opacity: pathItem.PathView.onPath ? 1.0 : 0 }
- }
- ]
- }
- }
- }
- ListModel {
- id: rssModel
- ListElement { lColor: "red" }
- ListElement { lColor: "green" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "thistle" }
- }
- VisualDataModel { id: visualModel; model: rssModel; delegate: photoDelegate }
-
- PathView {
- id: photoPathView
- objectName: "photoPathView"
- width: 800; height: 330; pathItemCount: 4; offset: 1
- dragMargin: 24
- preferredHighlightBegin: 0.50
- preferredHighlightEnd: 0.50
-
- path: Path {
- startX: -50; startY: 40;
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: -45 }
-
- PathCubic {
- x: 400; y: 220
- control1X: 140; control1Y: 40
- control2X: 210; control2Y: 220
- }
-
- PathAttribute { name: "scale"; value: 1.2 }
- PathAttribute { name: "angle"; value: 0 }
-
- PathCubic {
- x: 850; y: 40
- control2X: 660; control2Y: 40
- control1X: 590; control1Y: 220
- }
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: 45 }
- }
-
- model: visualModel.parts.path
- }
-
- PathView {
- y: 400; width: 800; height: 330; pathItemCount: 8
-
- path: Path {
- startX: 0; startY: 40;
- PathLine { x: 800; y: 40 }
- }
-
- model: visualModel.parts.linear
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/propertychanges.qml b/tests/auto/qtquick1/qdeclarativepathview/data/propertychanges.qml
deleted file mode 100644
index c0cc8555e7..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/propertychanges.qml
+++ /dev/null
@@ -1,116 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 350; height: 220; color: "white"
- Component {
- id: myDelegate
- Item {
- id: wrapper
- width: 180; height: 40;
- opacity: PathView.opacity
- Column {
- x: 5; y: 5
- Text { text: '<b>Name:</b> ' + name }
- Text { text: '<b>Number:</b> ' + number }
- }
- }
- }
-
- PathView {
- preferredHighlightBegin: 0.1
- preferredHighlightEnd: 0.1
- dragMargin: 5.0
- id: pathView
- objectName: "pathView"
- anchors.fill: parent
- model: listModel
- delegate: myDelegate
- focus: true
- path: Path {
- id: myPath
- objectName: "path"
- startX: 220; startY: 200
- PathAttribute { name: "opacity"; value: 1.0; objectName: "pathAttribute"; }
- PathQuad { x: 220; y: 25; controlX: 260; controlY: 75 }
- PathAttribute { name: "opacity"; value: 0.3 }
- PathQuad { x: 220; y: 200; controlX: -20; controlY: 75 }
- }
- Timer {
- interval: 2000; running: true; repeat: true
- onTriggered: {
- if (pathView.path == alternatePath)
- pathView.path = myPath;
- else
- pathView.path = alternatePath;
- }
- }
- }
-
- data:[
- ListModel {
- id: listModel
- ListElement {
- name: "Bill Smith"
- number: "555 3264"
- }
- ListElement {
- name: "John Brown"
- number: "555 8426"
- }
- ListElement {
- name: "Sam Wise"
- number: "555 0473"
- }
- ListElement {
- name: "Bill Smith"
- number: "555 3264"
- }
- ListElement {
- name: "John Brown"
- number: "555 8426"
- }
- ListElement {
- name: "Sam Wise"
- number: "555 0473"
- }
- ListElement {
- name: "Bill Smith"
- number: "555 3264"
- }
- ListElement {
- name: "John Brown"
- number: "555 8426"
- }
- ListElement {
- name: "Sam Wise"
- number: "555 0473"
- }
- },
- ListModel {
- objectName: "alternateModel"
- ListElement {
- name: "Jack"
- number: "555 8426"
- }
- ListElement {
- name: "Mary"
- number: "555 3264"
- }
- },
- Path {
- id: alternatePath
- objectName: "alternatePath"
- startX: 100; startY: 40
- PathAttribute { name: "opacity"; value: 0.0 }
- PathLine { x: 100; y: 160 }
- PathAttribute { name: "opacity"; value: 0.2 }
- PathLine { x: 300; y: 160 }
- PathAttribute { name: "opacity"; value: 0.0 }
- PathLine { x: 300; y: 40 }
- PathAttribute { name: "opacity"; value: 0.2 }
- PathLine { x: 100; y: 40 }
- }
- ]
-}
-
-
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/treemodel.qml b/tests/auto/qtquick1/qdeclarativepathview/data/treemodel.qml
deleted file mode 100644
index 56f7ae46da..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/treemodel.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- width: 320
- height: 240
- function setRoot(index) {
- vdm.rootIndex = vdm.modelIndex(index);
- }
- model: VisualDataModel {
- id: vdm
- model: myModel
- delegate: Text { objectName: "wrapper"; text: display }
- }
-
- path: Path {
- startX: 0; startY: 120
- PathLine { x: 320; y: 120 }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/undefinedpath.qml b/tests/auto/qtquick1/qdeclarativepathview/data/undefinedpath.qml
deleted file mode 100644
index 5a647cb079..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/undefinedpath.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- id: pathView
- width: 240; height: 200
- path: Path {
- startX: pathView.undef/2.0; startY: 0
- PathLine { x: pathView.undef/2.0; y: 0 }
- }
-
- delegate: Text { text: value }
- model: ListModel {
- ListElement { value: "one" }
- ListElement { value: "two" }
- ListElement { value: "three" }
- }
-}
diff --git a/tests/auto/qtquick1/qdeclarativepathview/data/vdm.qml b/tests/auto/qtquick1/qdeclarativepathview/data/vdm.qml
deleted file mode 100644
index 012db3fb57..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/data/vdm.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-import QtQuick 1.0
-
-PathView {
- id: pathView
- width: 240; height: 320
-
- pathItemCount: 4
- preferredHighlightBegin : 0.5
- preferredHighlightEnd : 0.5
-
- path: Path {
- startX: 120; startY: 20;
- PathLine { x: 120; y: 300 }
- }
-
- ListModel {
- id: mo
- ListElement { value: "one" }
- ListElement { value: "two" }
- ListElement { value: "three" }
- }
-
- model: VisualDataModel {
- delegate: Text { text: model.value }
- model : mo
- }
-}
-
diff --git a/tests/auto/qtquick1/qdeclarativepathview/qdeclarativepathview.pro b/tests/auto/qtquick1/qdeclarativepathview/qdeclarativepathview.pro
deleted file mode 100644
index cf5cf64d01..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/qdeclarativepathview.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-CONFIG += testcase
-TARGET = tst_qdeclarativepathview
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_qdeclarativepathview.cpp
-
-DEFINES += SRCDIR=\\\"$$PWD\\\"
-
-CONFIG += parallel_test
-
-QT += core-private gui-private widgets-private v8-private declarative-private qtquick1-private testlib
diff --git a/tests/auto/qtquick1/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/qtquick1/qdeclarativepathview/tst_qdeclarativepathview.cpp
deleted file mode 100644
index 470ceca5fe..0000000000
--- a/tests/auto/qtquick1/qdeclarativepathview/tst_qdeclarativepathview.cpp
+++ /dev/null
@@ -1,1061 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QtQuick1/qdeclarativeview.h>
-#include <QtDeclarative/qdeclarativeengine.h>
-#include <QtDeclarative/qdeclarativecomponent.h>
-#include <QtDeclarative/qdeclarativecontext.h>
-#include <QtDeclarative/qdeclarativeexpression.h>
-#include <QtQuick1/private/qdeclarativepathview_p.h>
-#include <QtQuick1/private/qdeclarativepath_p.h>
-#include <QtQuick1/private/qdeclarativetext_p.h>
-#include <QtQuick1/private/qdeclarativerectangle_p.h>
-#include <QtDeclarative/private/qdeclarativevaluetype_p.h>
-#include <QAbstractListModel>
-#include <QStringListModel>
-#include <QStandardItemModel>
-#include <QFile>
-
-static void initStandardTreeModel(QStandardItemModel *model)
-{
- QStandardItem *item;
- item = new QStandardItem(QLatin1String("Row 1 Item"));
- model->insertRow(0, item);
-
- item = new QStandardItem(QLatin1String("Row 2 Item"));
- item->setCheckable(true);
- model->insertRow(1, item);
-
- QStandardItem *childItem = new QStandardItem(QLatin1String("Row 2 Child Item"));
- item->setChild(0, childItem);
-
- item = new QStandardItem(QLatin1String("Row 3 Item"));
- item->setIcon(QIcon());
- model->insertRow(2, item);
-}
-
-
-class tst_QDeclarative1PathView : public QObject
-{
- Q_OBJECT
-public:
- tst_QDeclarative1PathView();
-
-private slots:
- void initValues();
- void items();
- void dataModel();
- void pathview2();
- void pathview3();
- void path();
- void pathMoved();
- void setCurrentIndex();
- void resetModel();
- void propertyChanges();
- void pathChanges();
- void componentChanges();
- void modelChanges();
- void pathUpdateOnStartChanged();
- void package();
- void emptyModel();
- void closed();
- void pathUpdate();
- void visualDataModel();
- void undefinedPath();
- void mouseDrag();
- void treeModel();
- void changePreferredHighlight();
-
-private:
- QDeclarativeView *createView();
- template<typename T>
- T *findItem(QGraphicsObject *parent, const QString &objectName, int index=-1);
- template<typename T>
- QList<T*> findItems(QGraphicsObject *parent, const QString &objectName);
-};
-
-class TestObject : public QObject
-{
- Q_OBJECT
-
- Q_PROPERTY(bool error READ error WRITE setError)
- Q_PROPERTY(bool useModel READ useModel NOTIFY useModelChanged)
- Q_PROPERTY(int pathItemCount READ pathItemCount NOTIFY pathItemCountChanged)
-
-public:
- TestObject() : QObject(), mError(true), mUseModel(true), mPathItemCount(-1) {}
-
- bool error() const { return mError; }
- void setError(bool err) { mError = err; }
-
- bool useModel() const { return mUseModel; }
- void setUseModel(bool use) { mUseModel = use; emit useModelChanged(); }
-
- int pathItemCount() const { return mPathItemCount; }
- void setPathItemCount(int count) { mPathItemCount = count; emit pathItemCountChanged(); }
-
-signals:
- void useModelChanged();
- void pathItemCountChanged();
-
-private:
- bool mError;
- bool mUseModel;
- int mPathItemCount;
-};
-
-class TestModel : public QAbstractListModel
-{
-public:
- enum Roles { Name = Qt::UserRole+1, Number = Qt::UserRole+2 };
-
- TestModel(QObject *parent=0) : QAbstractListModel(parent) {
- QHash<int, QByteArray> roles;
- roles[Name] = "name";
- roles[Number] = "number";
- setRoleNames(roles);
- }
-
- int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
- QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
- QVariant rv;
- if (role == Name)
- rv = list.at(index.row()).first;
- else if (role == Number)
- rv = list.at(index.row()).second;
-
- return rv;
- }
-
- int count() const { return rowCount(); }
- QString name(int index) const { return list.at(index).first; }
- QString number(int index) const { return list.at(index).second; }
-
- void addItem(const QString &name, const QString &number) {
- beginInsertRows(QModelIndex(), list.count(), list.count());
- list.append(QPair<QString,QString>(name, number));
- endInsertRows();
- }
-
- void insertItem(int index, const QString &name, const QString &number) {
- beginInsertRows(QModelIndex(), index, index);
- list.insert(index, QPair<QString,QString>(name, number));
- endInsertRows();
- }
-
- void removeItem(int index) {
- beginRemoveRows(QModelIndex(), index, index);
- list.removeAt(index);
- endRemoveRows();
- }
-
- void moveItem(int from, int to) {
- beginMoveRows(QModelIndex(), from, from, QModelIndex(), to);
- list.move(from, to);
- endMoveRows();
- }
-
- void modifyItem(int idx, const QString &name, const QString &number) {
- list[idx] = QPair<QString,QString>(name, number);
- emit dataChanged(index(idx,0), index(idx,0));
- }
-
-private:
- QList<QPair<QString,QString> > list;
-};
-
-
-tst_QDeclarative1PathView::tst_QDeclarative1PathView()
-{
-}
-
-void tst_QDeclarative1PathView::initValues()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathview1.qml"));
- QDeclarative1PathView *obj = qobject_cast<QDeclarative1PathView*>(c.create());
-
- QVERIFY(obj != 0);
- QVERIFY(obj->path() == 0);
- QVERIFY(obj->delegate() == 0);
- QCOMPARE(obj->model(), QVariant());
- QCOMPARE(obj->currentIndex(), 0);
- QCOMPARE(obj->offset(), 0.);
- QCOMPARE(obj->preferredHighlightBegin(), 0.);
- QCOMPARE(obj->dragMargin(), 0.);
- QCOMPARE(obj->count(), 0);
- QCOMPARE(obj->pathItemCount(), -1);
-}
-
-void tst_QDeclarative1PathView::items()
-{
- QDeclarativeView *canvas = createView();
-
- TestModel model;
- model.addItem("Fred", "12345");
- model.addItem("John", "2345");
- model.addItem("Bob", "54321");
- model.addItem("Bill", "4321");
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("testModel", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview0.qml"));
- qApp->processEvents();
-
- QDeclarative1PathView *pathview = findItem<QDeclarative1PathView>(canvas->rootObject(), "view");
- QVERIFY(pathview != 0);
-
- QCOMPARE(pathview->count(), model.count());
- QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count());
- QCOMPARE(pathview->childItems().count(), model.count()+1); // assumes all are visible, including highlight
-
- for (int i = 0; i < model.count(); ++i) {
- QDeclarative1Text *name = findItem<QDeclarative1Text>(pathview, "textName", i);
- QVERIFY(name != 0);
- QCOMPARE(name->text(), model.name(i));
- QDeclarative1Text *number = findItem<QDeclarative1Text>(pathview, "textNumber", i);
- QVERIFY(number != 0);
- QCOMPARE(number->text(), model.number(i));
- }
-
- QDeclarative1Path *path = qobject_cast<QDeclarative1Path*>(pathview->path());
- QVERIFY(path);
-
- QVERIFY(pathview->highlightItem());
- QPointF start = path->pointAt(0.0);
- QPointF offset;
- offset.setX(pathview->highlightItem()->width()/2);
- offset.setY(pathview->highlightItem()->height()/2);
- QCOMPARE(pathview->highlightItem()->pos() + offset, start);
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::pathview2()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathview2.qml"));
- QDeclarative1PathView *obj = qobject_cast<QDeclarative1PathView*>(c.create());
-
- QVERIFY(obj != 0);
- QVERIFY(obj->path() != 0);
- QVERIFY(obj->delegate() != 0);
- QVERIFY(obj->model() != QVariant());
- QCOMPARE(obj->currentIndex(), 0);
- QCOMPARE(obj->offset(), 0.);
- QCOMPARE(obj->preferredHighlightBegin(), 0.);
- QCOMPARE(obj->dragMargin(), 0.);
- QCOMPARE(obj->count(), 8);
- QCOMPARE(obj->pathItemCount(), 10);
-}
-
-void tst_QDeclarative1PathView::pathview3()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathview3.qml"));
- QDeclarative1PathView *obj = qobject_cast<QDeclarative1PathView*>(c.create());
-
- QVERIFY(obj != 0);
- QVERIFY(obj->path() != 0);
- QVERIFY(obj->delegate() != 0);
- QVERIFY(obj->model() != QVariant());
- QCOMPARE(obj->currentIndex(), 0);
- QCOMPARE(obj->offset(), 1.0);
- QCOMPARE(obj->preferredHighlightBegin(), 0.5);
- QCOMPARE(obj->dragMargin(), 24.);
- QCOMPARE(obj->count(), 8);
- QCOMPARE(obj->pathItemCount(), 4);
-}
-
-void tst_QDeclarative1PathView::path()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathtest.qml"));
- QDeclarative1Path *obj = qobject_cast<QDeclarative1Path*>(c.create());
-
- QVERIFY(obj != 0);
- QCOMPARE(obj->startX(), 120.);
- QCOMPARE(obj->startY(), 100.);
- QVERIFY(obj->path() != QPainterPath());
-
- QDeclarativeListReference list(obj, "pathElements");
- QCOMPARE(list.count(), 5);
-
- QDeclarative1PathAttribute* attr = qobject_cast<QDeclarative1PathAttribute*>(list.at(0));
- QVERIFY(attr != 0);
- QCOMPARE(attr->name(), QString("scale"));
- QCOMPARE(attr->value(), 1.0);
-
- QDeclarative1PathQuad* quad = qobject_cast<QDeclarative1PathQuad*>(list.at(1));
- QVERIFY(quad != 0);
- QCOMPARE(quad->x(), 120.);
- QCOMPARE(quad->y(), 25.);
- QCOMPARE(quad->controlX(), 260.);
- QCOMPARE(quad->controlY(), 75.);
-
- QDeclarative1PathPercent* perc = qobject_cast<QDeclarative1PathPercent*>(list.at(2));
- QVERIFY(perc != 0);
- QCOMPARE(perc->value(), 0.3);
-
- QDeclarative1PathLine* line = qobject_cast<QDeclarative1PathLine*>(list.at(3));
- QVERIFY(line != 0);
- QCOMPARE(line->x(), 120.);
- QCOMPARE(line->y(), 100.);
-
- QDeclarative1PathCubic* cubic = qobject_cast<QDeclarative1PathCubic*>(list.at(4));
- QVERIFY(cubic != 0);
- QCOMPARE(cubic->x(), 180.);
- QCOMPARE(cubic->y(), 0.);
- QCOMPARE(cubic->control1X(), -10.);
- QCOMPARE(cubic->control1Y(), 90.);
- QCOMPARE(cubic->control2X(), 210.);
- QCOMPARE(cubic->control2Y(), 90.);
-}
-
-void tst_QDeclarative1PathView::dataModel()
-{
- QDeclarativeView *canvas = createView();
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- TestObject *testObject = new TestObject;
- ctxt->setContextProperty("testObject", testObject);
-
- TestModel model;
- model.addItem("red", "1");
- model.addItem("green", "2");
- model.addItem("blue", "3");
- model.addItem("purple", "4");
- model.addItem("gray", "5");
- model.addItem("brown", "6");
- model.addItem("yellow", "7");
- model.addItem("thistle", "8");
- model.addItem("cyan", "9");
- model.addItem("peachpuff", "10");
- model.addItem("powderblue", "11");
- model.addItem("gold", "12");
- model.addItem("sandybrown", "13");
-
- ctxt->setContextProperty("testData", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/datamodel.qml"));
- qApp->processEvents();
-
- QDeclarative1PathView *pathview = qobject_cast<QDeclarative1PathView*>(canvas->rootObject());
- QVERIFY(pathview != 0);
-
- QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
- QVERIFY(testObject->error() == false);
-
- QDeclarativeItem *item = findItem<QDeclarativeItem>(pathview, "wrapper", 0);
- QVERIFY(item);
- QCOMPARE(item->x(), 110.0);
- QCOMPARE(item->y(), 10.0);
-
- model.insertItem(4, "orange", "10");
- QTest::qWait(100);
-
- QCOMPARE(canvas->rootObject()->property("viewCount").toInt(), model.count());
- QTRY_COMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 14);
-
- QVERIFY(pathview->currentIndex() == 0);
-
- QDeclarative1Text *text = findItem<QDeclarative1Text>(pathview, "myText", 4);
- QVERIFY(text);
- QCOMPARE(text->text(), model.name(4));
-
- model.removeItem(2);
- QCOMPARE(canvas->rootObject()->property("viewCount").toInt(), model.count());
- text = findItem<QDeclarative1Text>(pathview, "myText", 2);
- QVERIFY(text);
- QCOMPARE(text->text(), model.name(2));
-
- testObject->setPathItemCount(5);
- QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
- QVERIFY(testObject->error() == false);
-
- QTRY_COMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 5);
-
- QDeclarative1Rectangle *testItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 4);
- QVERIFY(testItem != 0);
- testItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 5);
- QVERIFY(testItem == 0);
-
- pathview->setCurrentIndex(1);
-
- model.insertItem(2, "pink", "2");
- QTest::qWait(100);
-
- QTRY_COMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 5);
- QVERIFY(pathview->currentIndex() == 1);
-
- text = findItem<QDeclarative1Text>(pathview, "myText", 2);
- QVERIFY(text);
- QCOMPARE(text->text(), model.name(2));
-
- model.removeItem(3);
- QTRY_COMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 5);
- text = findItem<QDeclarative1Text>(pathview, "myText", 3);
- QVERIFY(text);
- QCOMPARE(text->text(), model.name(3));
-
- model.moveItem(3, 5);
- QTRY_COMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 5);
- QList<QDeclarativeItem*> items = findItems<QDeclarativeItem>(pathview, "wrapper");
- foreach (QDeclarativeItem *item, items) {
- QVERIFY(item->property("onPath").toBool());
- }
-
- // QTBUG-14199
- pathview->setOffset(7);
- pathview->setOffset(0);
- QCOMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 5);
-
- pathview->setCurrentIndex(model.count()-1);
- model.removeItem(model.count()-1);
- QCOMPARE(pathview->currentIndex(), model.count()-1);
-
- // QTBUG-18825
- // Confirm that the target offset is adjusted when removing items
- pathview->setCurrentIndex(model.count()-1);
- QTRY_COMPARE(pathview->offset(), 1.);
- pathview->setCurrentIndex(model.count()-5);
- model.removeItem(model.count()-1);
- model.removeItem(model.count()-1);
- model.removeItem(model.count()-1);
- QTRY_COMPARE(pathview->offset(), 2.);
-
- delete canvas;
- delete testObject;
-}
-
-void tst_QDeclarative1PathView::pathMoved()
-{
- QDeclarativeView *canvas = createView();
-
- TestModel model;
- model.addItem("Ben", "12345");
- model.addItem("Bohn", "2345");
- model.addItem("Bob", "54321");
- model.addItem("Bill", "4321");
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("testModel", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview0.qml"));
- qApp->processEvents();
-
- QDeclarative1PathView *pathview = findItem<QDeclarative1PathView>(canvas->rootObject(), "view");
- QVERIFY(pathview != 0);
-
- QDeclarative1Rectangle *firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 0);
- QVERIFY(firstItem);
- QDeclarative1Path *path = qobject_cast<QDeclarative1Path*>(pathview->path());
- QVERIFY(path);
- QPointF start = path->pointAt(0.0);
- QPointF offset;//Center of item is at point, but pos is from corner
- offset.setX(firstItem->width()/2);
- offset.setY(firstItem->height()/2);
- QCOMPARE(firstItem->pos() + offset, start);
- pathview->setOffset(1.0);
-
- for(int i=0; i<model.count(); i++){
- QDeclarative1Rectangle *curItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", i);
- QPointF itemPos(path->pointAt(0.25 + i*0.25));
- QCOMPARE(curItem->pos() + offset, QPointF(qRound(itemPos.x()), qRound(itemPos.y())));
- }
-
- pathview->setOffset(0.0);
- QCOMPARE(firstItem->pos() + offset, start);
-
- // Change delegate size
- pathview->setOffset(0.1);
- pathview->setOffset(0.0);
- canvas->rootObject()->setProperty("delegateWidth", 30);
- QCOMPARE(firstItem->width(), 30.0);
- offset.setX(firstItem->width()/2);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- // Change delegate scale
- pathview->setOffset(0.1);
- pathview->setOffset(0.0);
- canvas->rootObject()->setProperty("delegateScale", 1.2);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::setCurrentIndex()
-{
- QDeclarativeView *canvas = createView();
-
- TestModel model;
- model.addItem("Ben", "12345");
- model.addItem("Bohn", "2345");
- model.addItem("Bob", "54321");
- model.addItem("Bill", "4321");
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("testModel", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview0.qml"));
- qApp->processEvents();
-
- QDeclarative1PathView *pathview = findItem<QDeclarative1PathView>(canvas->rootObject(), "view");
- QVERIFY(pathview != 0);
-
- QDeclarative1Rectangle *firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 0);
- QVERIFY(firstItem);
- QDeclarative1Path *path = qobject_cast<QDeclarative1Path*>(pathview->path());
- QVERIFY(path);
- QPointF start = path->pointAt(0.0);
- QPointF offset;//Center of item is at point, but pos is from corner
- offset.setX(firstItem->width()/2);
- offset.setY(firstItem->height()/2);
- QCOMPARE(firstItem->pos() + offset, start);
- QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 0);
- QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 0);
-
- pathview->setCurrentIndex(2);
-
- firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 2);
- QTRY_COMPARE(firstItem->pos() + offset, start);
- QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 2);
- QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 2);
-
- pathview->decrementCurrentIndex();
- QTRY_COMPARE(pathview->currentIndex(), 1);
- firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 1);
- QVERIFY(firstItem);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- pathview->decrementCurrentIndex();
- QTRY_COMPARE(pathview->currentIndex(), 0);
- firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 0);
- QVERIFY(firstItem);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- pathview->decrementCurrentIndex();
- QTRY_COMPARE(pathview->currentIndex(), 3);
- firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 3);
- QVERIFY(firstItem);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- pathview->incrementCurrentIndex();
- QTRY_COMPARE(pathview->currentIndex(), 0);
- firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 0);
- QVERIFY(firstItem);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::resetModel()
-{
- QDeclarativeView *canvas = createView();
-
- QStringList strings;
- strings << "one" << "two" << "three";
- QStringListModel model(strings);
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("testModel", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaypath.qml"));
- qApp->processEvents();
-
- QDeclarative1PathView *pathview = findItem<QDeclarative1PathView>(canvas->rootObject(), "view");
- QVERIFY(pathview != 0);
-
- QCOMPARE(pathview->count(), model.rowCount());
-
- for (int i = 0; i < model.rowCount(); ++i) {
- QDeclarative1Text *display = findItem<QDeclarative1Text>(pathview, "displayText", i);
- QVERIFY(display != 0);
- QCOMPARE(display->text(), strings.at(i));
- }
-
- strings.clear();
- strings << "four" << "five" << "six" << "seven";
- model.setStringList(strings);
-
- QCOMPARE(pathview->count(), model.rowCount());
-
- for (int i = 0; i < model.rowCount(); ++i) {
- QDeclarative1Text *display = findItem<QDeclarative1Text>(pathview, "displayText", i);
- QVERIFY(display != 0);
- QCOMPARE(display->text(), strings.at(i));
- }
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::propertyChanges()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("pathView");
- QVERIFY(pathView);
-
- QSignalSpy snapPositionSpy(pathView, SIGNAL(preferredHighlightBeginChanged()));
- QSignalSpy dragMarginSpy(pathView, SIGNAL(dragMarginChanged()));
-
- QCOMPARE(pathView->preferredHighlightBegin(), 0.1);
- QCOMPARE(pathView->dragMargin(), 5.0);
-
- pathView->setPreferredHighlightBegin(0.4);
- pathView->setPreferredHighlightEnd(0.4);
- pathView->setDragMargin(20.0);
-
- QCOMPARE(pathView->preferredHighlightBegin(), 0.4);
- QCOMPARE(pathView->preferredHighlightEnd(), 0.4);
- QCOMPARE(pathView->dragMargin(), 20.0);
-
- QCOMPARE(snapPositionSpy.count(), 1);
- QCOMPARE(dragMarginSpy.count(), 1);
-
- pathView->setPreferredHighlightBegin(0.4);
- pathView->setPreferredHighlightEnd(0.4);
- pathView->setDragMargin(20.0);
-
- QCOMPARE(snapPositionSpy.count(), 1);
- QCOMPARE(dragMarginSpy.count(), 1);
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::pathChanges()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("pathView");
- QVERIFY(pathView);
-
- QDeclarative1Path *path = canvas->rootObject()->findChild<QDeclarative1Path*>("path");
- QVERIFY(path);
-
- QSignalSpy startXSpy(path, SIGNAL(startXChanged()));
- QSignalSpy startYSpy(path, SIGNAL(startYChanged()));
-
- QCOMPARE(path->startX(), 220.0);
- QCOMPARE(path->startY(), 200.0);
-
- path->setStartX(240.0);
- path->setStartY(220.0);
-
- QCOMPARE(path->startX(), 240.0);
- QCOMPARE(path->startY(), 220.0);
-
- QCOMPARE(startXSpy.count(),1);
- QCOMPARE(startYSpy.count(),1);
-
- path->setStartX(240);
- path->setStartY(220);
-
- QCOMPARE(startXSpy.count(),1);
- QCOMPARE(startYSpy.count(),1);
-
- QDeclarative1Path *alternatePath = canvas->rootObject()->findChild<QDeclarative1Path*>("alternatePath");
- QVERIFY(alternatePath);
-
- QSignalSpy pathSpy(pathView, SIGNAL(pathChanged()));
-
- QCOMPARE(pathView->path(), path);
-
- pathView->setPath(alternatePath);
- QCOMPARE(pathView->path(), alternatePath);
- QCOMPARE(pathSpy.count(),1);
-
- pathView->setPath(alternatePath);
- QCOMPARE(pathSpy.count(),1);
-
- QDeclarative1PathAttribute *pathAttribute = canvas->rootObject()->findChild<QDeclarative1PathAttribute*>("pathAttribute");
- QVERIFY(pathAttribute);
-
- QSignalSpy nameSpy(pathAttribute, SIGNAL(nameChanged()));
- QCOMPARE(pathAttribute->name(), QString("opacity"));
-
- pathAttribute->setName("scale");
- QCOMPARE(pathAttribute->name(), QString("scale"));
- QCOMPARE(nameSpy.count(),1);
-
- pathAttribute->setName("scale");
- QCOMPARE(nameSpy.count(),1);
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::componentChanges()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("pathView");
- QVERIFY(pathView);
-
- QDeclarativeComponent delegateComponent(canvas->engine());
- delegateComponent.setData("import QtQuick 1.0; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
-
- QSignalSpy delegateSpy(pathView, SIGNAL(delegateChanged()));
-
- pathView->setDelegate(&delegateComponent);
- QCOMPARE(pathView->delegate(), &delegateComponent);
- QCOMPARE(delegateSpy.count(),1);
-
- pathView->setDelegate(&delegateComponent);
- QCOMPARE(delegateSpy.count(),1);
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::modelChanges()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("pathView");
- QVERIFY(pathView);
-
-// QDeclarative1ListModel *alternateModel = canvas->rootObject()->findChild<QDeclarative1ListModel*>("alternateModel");
- QObject *alternateModel = canvas->rootObject()->findChild<QObject*>("alternateModel");
- QVERIFY(alternateModel);
- QVariant modelVariant = QVariant::fromValue(alternateModel);
- QSignalSpy modelSpy(pathView, SIGNAL(modelChanged()));
-
- pathView->setModel(modelVariant);
- QCOMPARE(pathView->model(), modelVariant);
- QCOMPARE(modelSpy.count(),1);
-
- pathView->setModel(modelVariant);
- QCOMPARE(modelSpy.count(),1);
-
- pathView->setModel(QVariant());
- QCOMPARE(modelSpy.count(),2);
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::pathUpdateOnStartChanged()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathUpdateOnStartChanged.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("pathView");
- QVERIFY(pathView);
-
- QDeclarative1Path *path = canvas->rootObject()->findChild<QDeclarative1Path*>("path");
- QVERIFY(path);
- QCOMPARE(path->startX(), 400.0);
- QCOMPARE(path->startY(), 300.0);
-
- QDeclarativeItem *item = findItem<QDeclarativeItem>(pathView, "wrapper", 0);
- QVERIFY(item);
- QCOMPARE(item->x(), path->startX() - item->width() / 2.0);
- QCOMPARE(item->y(), path->startY() - item->height() / 2.0);
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::package()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview_package.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("photoPathView");
- QVERIFY(pathView);
-
- QDeclarativeItem *item = findItem<QDeclarativeItem>(pathView, "pathItem");
- QVERIFY(item);
- QVERIFY(item->scale() != 1.0);
-
- delete canvas;
-}
-
-//QTBUG-13017
-void tst_QDeclarative1PathView::emptyModel()
-{
- QDeclarativeView *canvas = createView();
-
- QStringListModel model;
-
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("emptyModel", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/emptymodel.qml"));
- qApp->processEvents();
-
- QDeclarative1PathView *pathview = qobject_cast<QDeclarative1PathView*>(canvas->rootObject());
- QVERIFY(pathview != 0);
-
- QCOMPARE(pathview->offset(), qreal(0.0));
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::closed()
-{
- QDeclarativeEngine engine;
-
- {
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/openPath.qml"));
- QDeclarative1Path *obj = qobject_cast<QDeclarative1Path*>(c.create());
- QVERIFY(obj);
- QCOMPARE(obj->isClosed(), false);
- delete obj;
- }
-
- {
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/closedPath.qml"));
- QDeclarative1Path *obj = qobject_cast<QDeclarative1Path*>(c.create());
- QVERIFY(obj);
- QCOMPARE(obj->isClosed(), true);
- delete obj;
- }
-}
-
-// QTBUG-14239
-void tst_QDeclarative1PathView::pathUpdate()
-{
- QDeclarativeView *canvas = createView();
- QVERIFY(canvas);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathUpdate.qml"));
-
- QDeclarative1PathView *pathView = canvas->rootObject()->findChild<QDeclarative1PathView*>("pathView");
- QVERIFY(pathView);
-
- QDeclarativeItem *item = findItem<QDeclarativeItem>(pathView, "wrapper", 0);
- QVERIFY(item);
- QCOMPARE(item->x(), 150.0);
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::visualDataModel()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/vdm.qml"));
-
- QDeclarative1PathView *obj = qobject_cast<QDeclarative1PathView*>(c.create());
- QVERIFY(obj != 0);
-
- QCOMPARE(obj->count(), 3);
-
- delete obj;
-}
-
-void tst_QDeclarative1PathView::undefinedPath()
-{
- QDeclarativeEngine engine;
- QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/undefinedpath.qml"));
-
- QDeclarative1PathView *obj = qobject_cast<QDeclarative1PathView*>(c.create());
- QVERIFY(obj != 0);
-
- QCOMPARE(obj->count(), 3);
-
- delete obj;
-}
-
-void tst_QDeclarative1PathView::mouseDrag()
-{
- QDeclarativeView *canvas = createView();
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragpath.qml"));
- canvas->show();
- QApplication::setActiveWindow(canvas);
- QTest::qWaitForWindowShown(canvas);
- QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
-
- QDeclarative1PathView *pathview = qobject_cast<QDeclarative1PathView*>(canvas->rootObject());
- QVERIFY(pathview != 0);
-
- int current = pathview->currentIndex();
-
- QTest::mousePress(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(QPoint(10,100)));
-
- {
- QMouseEvent mv(QEvent::MouseMove, canvas->mapFromScene(QPoint(30,100)), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
- QApplication::sendEvent(canvas->viewport(), &mv);
- }
- {
- QMouseEvent mv(QEvent::MouseMove, canvas->mapFromScene(QPoint(90,100)), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
- QApplication::sendEvent(canvas->viewport(), &mv);
- }
-
- QVERIFY(pathview->currentIndex() != current);
-
- QTest::mouseRelease(canvas->viewport(), Qt::LeftButton, 0, canvas->mapFromScene(QPoint(40,100)));
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::treeModel()
-{
- QDeclarativeView *canvas = createView();
-
- QStandardItemModel model;
- initStandardTreeModel(&model);
- canvas->engine()->rootContext()->setContextProperty("myModel", &model);
-
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/treemodel.qml"));
-
- QDeclarative1PathView *pathview = qobject_cast<QDeclarative1PathView*>(canvas->rootObject());
- QVERIFY(pathview != 0);
- QCOMPARE(pathview->count(), 3);
-
- QDeclarative1Text *item = findItem<QDeclarative1Text>(pathview, "wrapper", 0);
- QVERIFY(item);
- QCOMPARE(item->text(), QLatin1String("Row 1 Item"));
-
- QVERIFY(QMetaObject::invokeMethod(pathview, "setRoot", Q_ARG(QVariant, 1)));
- QCOMPARE(pathview->count(), 1);
-
- QTRY_VERIFY(item = findItem<QDeclarative1Text>(pathview, "wrapper", 0));
- QTRY_COMPARE(item->text(), QLatin1String("Row 2 Child Item"));
-
- delete canvas;
-}
-
-void tst_QDeclarative1PathView::changePreferredHighlight()
-{
- QDeclarativeView *canvas = createView();
- canvas->setFixedSize(400,200);
- canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragpath.qml"));
- canvas->show();
- QApplication::setActiveWindow(canvas);
- QTest::qWaitForWindowShown(canvas);
- QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
-
- QDeclarative1PathView *pathview = qobject_cast<QDeclarative1PathView*>(canvas->rootObject());
- QVERIFY(pathview != 0);
-
- int current = pathview->currentIndex();
- QCOMPARE(current, 0);
-
- QDeclarative1Rectangle *firstItem = findItem<QDeclarative1Rectangle>(pathview, "wrapper", 0);
- QVERIFY(firstItem);
- QDeclarative1Path *path = qobject_cast<QDeclarative1Path*>(pathview->path());
- QVERIFY(path);
- QPointF start = path->pointAt(0.5);
- start.setX(qRound(start.x()));
- start.setY(qRound(start.y()));
- QPointF offset;//Center of item is at point, but pos is from corner
- offset.setX(firstItem->width()/2);
- offset.setY(firstItem->height()/2);
- QTRY_COMPARE(firstItem->pos() + offset, start);
-
- pathview->setPreferredHighlightBegin(0.8);
- pathview->setPreferredHighlightEnd(0.8);
- start = path->pointAt(0.8);
- start.setX(qRound(start.x()));
- start.setY(qRound(start.y()));
- QTRY_COMPARE(firstItem->pos() + offset, start);
- QCOMPARE(pathview->currentIndex(), 0);
-
- delete canvas;
-}
-
-QDeclarativeView *tst_QDeclarative1PathView::createView()
-{
- QDeclarativeView *canvas = new QDeclarativeView(0);
- canvas->setFixedSize(240,320);
-
- return canvas;
-}
-
-/*
- Find an item with the specified objectName. If index is supplied then the
- item must also evaluate the {index} expression equal to index
- */
-template<typename T>
-T *tst_QDeclarative1PathView::findItem(QGraphicsObject *parent, const QString &objectName, int index)
-{
- const QMetaObject &mo = T::staticMetaObject;
- //qDebug() << parent->childItems().count() << "children";
- for (int i = 0; i < parent->childItems().count(); ++i) {
- QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(parent->childItems().at(i));
- if(!item)
- continue;
- //qDebug() << "try" << item;
- if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
- if (index != -1) {
- QDeclarativeExpression e(qmlContext(item), item, "index");
- if (e.evaluate().toInt() == index)
- return static_cast<T*>(item);
- } else {
- return static_cast<T*>(item);
- }
- }
- item = findItem<T>(item, objectName, index);
- if (item)
- return static_cast<T*>(item);
- }
-
- return 0;
-}
-
-template<typename T>
-QList<T*> tst_QDeclarative1PathView::findItems(QGraphicsObject *parent, const QString &objectName)
-{
- QList<T*> items;
- const QMetaObject &mo = T::staticMetaObject;
- //qDebug() << parent->QGraphicsObject::children().count() << "children";
- for (int i = 0; i < parent->childItems().count(); ++i) {
- QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(parent->childItems().at(i));
- if(!item)
- continue;
- //qDebug() << "try" << item;
- if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName))
- items.append(static_cast<T*>(item));
- items += findItems<T>(item, objectName);
- }
-
- return items;
-}
-
-QTEST_MAIN(tst_QDeclarative1PathView)
-
-#include "tst_qdeclarativepathview.moc"