diff options
Diffstat (limited to 'tests/auto/quick/qquickvisualdatamodel/data')
28 files changed, 946 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickvisualdatamodel/data/create.qml b/tests/auto/quick/qquickvisualdatamodel/data/create.qml new file mode 100644 index 0000000000..9f4b754552 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/create.qml @@ -0,0 +1,22 @@ +import QtQuick 2.0 + +ListView { + width: 200 + height: 200 + + property var persistentHandle + + model: VisualDataModel { + id: visualModel + + persistedItems.includeByDefault: true + + model: myModel + delegate: Item { + id: delegate + objectName: "delegate" + width: 200 + height: 20 + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/datalist-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/datalist-package.qml new file mode 100644 index 0000000000..ae3bd81d91 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/datalist-package.qml @@ -0,0 +1,20 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: visualModel.parts.package + VisualDataModel { + id: visualModel + objectName: "visualModel" + model: myModel + delegate: Package { + Rectangle { + height: 25 + width: 100 + Package.name: "package" + Text { objectName: "display"; text: display } + } + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/datalist.qml b/tests/auto/quick/qquickvisualdatamodel/data/datalist.qml new file mode 100644 index 0000000000..8ce59caddc --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/datalist.qml @@ -0,0 +1,18 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: VisualDataModel { + id: visualModel + objectName: "visualModel" + model: myModel + delegate: Component { + Rectangle { + height: 25 + width: 100 + Text { objectName: "display"; text: display } + } + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/groups-invalid.qml b/tests/auto/quick/qquickvisualdatamodel/data/groups-invalid.qml new file mode 100644 index 0000000000..70c6f9f995 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/groups-invalid.qml @@ -0,0 +1,14 @@ +import QtQuick 2.0 + +VisualDataModel { + id: visualModel + + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" }, + VisualDataGroup { id: unnamed; objectName: "unnamed" }, + VisualDataGroup { id: capitalised; objectName: "capitalised"; name: "Capitalised" } + ] +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/groups-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/groups-package.qml new file mode 100644 index 0000000000..ea5ad5d3bd --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/groups-package.qml @@ -0,0 +1,52 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + + function contains(array, value) { + for (var i = 0; i < array.length; ++i) + if (array[i] == value) + return true + return false + } + model: visualModel.parts.package + + VisualDataModel { + id: visualModel + + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: myModel + delegate: Package { + id: delegate + + property variant test1: name + property variant test2: index + property variant test3: VisualDataModel.itemsIndex + property variant test4: VisualDataModel.inItems + property variant test5: VisualDataModel.visibleIndex + property variant test6: VisualDataModel.inVisible + property variant test7: VisualDataModel.selectedIndex + property variant test8: VisualDataModel.inSelected + property variant test9: VisualDataModel.groups + + function hide() { VisualDataModel.inVisible = false } + function select() { VisualDataModel.inSelected = true } + + Item { + Package.name: "package" + + objectName: "delegate" + width: 100 + height: 2 + } + } + } + +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/groups.qml b/tests/auto/quick/qquickvisualdatamodel/data/groups.qml new file mode 100644 index 0000000000..7502dd2502 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/groups.qml @@ -0,0 +1,46 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + + function contains(array, value) { + for (var i = 0; i < array.length; ++i) + if (array[i] == value) + return true + return false + } + + model: visualModel + VisualDataModel { + id: visualModel + + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: myModel + delegate: Item { + id: delegate + + objectName: "delegate" + width: 100 + height: 2 + property variant test1: name + property variant test2: index + property variant test3: VisualDataModel.itemsIndex + property variant test4: VisualDataModel.inItems + property variant test5: VisualDataModel.visibleIndex + property variant test6: VisualDataModel.inVisible + property variant test7: VisualDataModel.selectedIndex + property variant test8: VisualDataModel.inSelected + property variant test9: VisualDataModel.groups + + function hide() { VisualDataModel.inVisible = false } + function select() { VisualDataModel.inSelected = true } + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_listView.qml b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_listView.qml new file mode 100644 index 0000000000..103c4d2eb6 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_listView.qml @@ -0,0 +1,13 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + + model: myModel + delegate: Item { + objectName: "delegate" + width: 100 + height: 20 + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_package.qml b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_package.qml new file mode 100644 index 0000000000..b47f22dc34 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_package.qml @@ -0,0 +1,42 @@ +import QtQuick 2.0 + +Item { + width: 100 + height: 100 + + ListView { + anchors.fill: parent + + model: visualModel.parts.list + } + VisualDataModel { + id: visualModel + + model: myModel + delegate: Package { + Item { + Package.name: "list" + width: 100 + height: 20 + } + + Item { + id: gridItem + Package.name: "grid" + width: 50 + height: 50 + } + Rectangle { + objectName: "delegate" + parent: gridItem + width: 20 + height: 20 + } + } + } + GridView { + anchors.fill: parent + + model: visualModel.parts.grid + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_pathView.qml b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_pathView.qml new file mode 100644 index 0000000000..bc619124fd --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_pathView.qml @@ -0,0 +1,18 @@ +import QtQuick 2.0 + +PathView { + width: 100 + height: 100 + + model: myModel + delegate: Item { + objectName: "delegate" + width: 100 + height: 20 + } + + path: Path { + startX: 50; startY: 0 + PathLine { x: 50; y: 100 } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_repeater.qml b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_repeater.qml new file mode 100644 index 0000000000..e97e0dad2e --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/itemsDestroyed_repeater.qml @@ -0,0 +1,15 @@ +import QtQuick 2.0 + +Grid { + Repeater { + width: 100 + height: 100 + + model: myModel + delegate: Item { + objectName: "delegate" + width: 50 + height: 50 + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/listmodelproperties-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/listmodelproperties-package.qml new file mode 100644 index 0000000000..b6b56727e8 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/listmodelproperties-package.qml @@ -0,0 +1,51 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: visualModel.parts.package + + VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: ListModel { + id: listModel + + ListElement { number: "one" } + ListElement { number: "two" } + ListElement { number: "three" } + ListElement { number: "four" } + } + + delegate: Package { + id: delegate + + property variant test1: index + property variant test2: model.index + property variant test3: number + property variant test4: model.number + property variant test5: modelData + property variant test6: model.modelData + + function setTest3(arg) { number = arg } + function setTest4(arg) { model.number = arg } + function setTest5(arg) { modelData = arg } + function setTest6(arg) { model.modelData = arg } + + Item { + objectName: "delegate" + + Package.name: "package" + + width: 100 + height: 2 + } + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/listmodelproperties.qml b/tests/auto/quick/qquickvisualdatamodel/data/listmodelproperties.qml new file mode 100644 index 0000000000..d2dfc37e07 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/listmodelproperties.qml @@ -0,0 +1,45 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: ListModel { + id: listModel + + ListElement { number: "one" } + ListElement { number: "two" } + ListElement { number: "three" } + ListElement { number: "four" } + } + + delegate: Item { + id: delegate + + objectName: "delegate" + + property variant test1: index + property variant test2: model.index + property variant test3: number + property variant test4: model.number + property variant test5: modelData + property variant test6: model.modelData + + function setTest3(arg) { number = arg } + function setTest4(arg) { model.number = arg } + function setTest5(arg) { modelData = arg } + function setTest6(arg) { model.modelData = arg } + + width: 100 + height: 2 + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/modelproperties.qml b/tests/auto/quick/qquickvisualdatamodel/data/modelproperties.qml new file mode 100644 index 0000000000..73b766f1af --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/modelproperties.qml @@ -0,0 +1,21 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: myModel + delegate: Item { + objectName: "delegate" + width: 100 + height: 2 + property variant test1: name + property variant test2: model.name + property variant test3: modelData + property variant test4: model.modelData + property variant test5: modelData.name + property variant test6: model + property variant test7: index + property variant test8: model.index + property variant test9: model.modelData.name + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/modelproperties2.qml b/tests/auto/quick/qquickvisualdatamodel/data/modelproperties2.qml new file mode 100644 index 0000000000..ea5c240b29 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/modelproperties2.qml @@ -0,0 +1,21 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: myModel + delegate: Item { + objectName: "delegate" + property variant test1: display + property variant test2: model.display + property variant test3: modelData + property variant test4: model.modelData + property variant test5: modelData.display + property variant test6: model + property variant test7: index + property variant test8: model.index + property variant test9: model.modelData.display + width: 100 + height: 2 + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/multipleroleproperties-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/multipleroleproperties-package.qml new file mode 100644 index 0000000000..964ac426f8 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/multipleroleproperties-package.qml @@ -0,0 +1,46 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: visualModel.parts.package + VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: StandardItemModel { + StandardItem { text: "Row 1 Item" } + StandardItem { text: "Row 2 Item" } + StandardItem { text: "Row 3 Item" } + StandardItem { text: "Row 4 Item" } + } + + delegate: Package { + id: delegate + + property variant test1: index + property variant test2: model.index + property variant test3: display + property variant test4: model.display + + function setTest3(arg) { display = arg } + function setTest4(arg) { model.display = arg } + + Item { + objectName: "delegate" + + width: 100 + height: 2 + + Package.name: "package" + } + } + } +} + diff --git a/tests/auto/quick/qquickvisualdatamodel/data/multipleroleproperties.qml b/tests/auto/quick/qquickvisualdatamodel/data/multipleroleproperties.qml new file mode 100644 index 0000000000..77e30b69b9 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/multipleroleproperties.qml @@ -0,0 +1,41 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: StandardItemModel { + StandardItem { text: "Row 1 Item" } + StandardItem { text: "Row 2 Item" } + StandardItem { text: "Row 3 Item" } + StandardItem { text: "Row 4 Item" } + } + + delegate: Item { + id: delegate + + objectName: "delegate" + + property variant test1: index + property variant test2: model.index + property variant test3: display + property variant test4: model.display + + function setTest3(arg) { display = arg } + function setTest4(arg) { model.display = arg } + + width: 100 + height: 2 + } + } +} + diff --git a/tests/auto/quick/qquickvisualdatamodel/data/objectlist.qml b/tests/auto/quick/qquickvisualdatamodel/data/objectlist.qml new file mode 100644 index 0000000000..b3952a8a4d --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/objectlist.qml @@ -0,0 +1,19 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + anchors.fill: parent + model: myModel + delegate: Component { + Rectangle { + height: 25 + width: 100 + color: model.modelData.color + Text { objectName: "name"; text: name; function getText() { return name } } + Text { objectName: "section"; text: parent.ListView.section } + } + } + section.property: "name" + section.criteria: ViewSection.FullString +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/objectlistproperties-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/objectlistproperties-package.qml new file mode 100644 index 0000000000..c69e54c2f8 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/objectlistproperties-package.qml @@ -0,0 +1,48 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: visualModel.parts.package + + VisualDataModel { + id: visualModel + objectName: "visualModel" + + property list<DataObject> objects: [ + DataObject { name: "Item 1"; color: "red" }, + DataObject { name: "Item 2"; color: "green" }, + DataObject { name: "Item 3"; color: "blue"}, + DataObject { name: "Item 4"; color: "yellow" } + ] + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: objects + + delegate: Package { + id: delegate + + property variant test1: index + property variant test2: model.index + property variant test3: name + property variant test4: model.name + + function setTest3(arg) { name = arg } + function setTest4(arg) { model.name = arg } + + Item { + objectName: "delegate" + + width: 100 + height: 2 + Package.name: "package" + } + } + } +} + diff --git a/tests/auto/quick/qquickvisualdatamodel/data/objectlistproperties.qml b/tests/auto/quick/qquickvisualdatamodel/data/objectlistproperties.qml new file mode 100644 index 0000000000..0dbe2f5459 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/objectlistproperties.qml @@ -0,0 +1,43 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: VisualDataModel { + id: visualModel + objectName: "visualModel" + + property list<DataObject> objects: [ + DataObject { name: "Item 1"; color: "red" }, + DataObject { name: "Item 2"; color: "green" }, + DataObject { name: "Item 3"; color: "blue"}, + DataObject { name: "Item 4"; color: "yellow" } + ] + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: objects + + delegate: Item { + id: delegate + + objectName: "delegate" + + property variant test1: index + property variant test2: model.index + property variant test3: name + property variant test4: model.name + + function setTest3(arg) { name = arg } + function setTest4(arg) { model.name = arg } + + width: 100 + height: 2 + } + } +} + diff --git a/tests/auto/quick/qquickvisualdatamodel/data/onChanged.qml b/tests/auto/quick/qquickvisualdatamodel/data/onChanged.qml new file mode 100644 index 0000000000..71dc7d72d7 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/onChanged.qml @@ -0,0 +1,87 @@ +import QtQuick 2.0 + +VisualDataModel { + id: vm + + property var inserted + property var removed + + Component.onCompleted: { + vm.inserted = [] + vm.removed = [] + vi.inserted = [] + vi.removed = [] + si.inserted = [] + si.removed = [] + } + + function verify(changes, indexes, counts, moveIds) { + if (changes.length != indexes.length + || changes.length != counts.length + || changes.length != moveIds.length) { + console.log("invalid length", changes.length, indexes.length, counts.length, moveIds.length) + return false + } + + var valid = true; + for (var i = 0; i < changes.length; ++i) { + if (changes[i].index != indexes[i]) { + console.log(i, "incorrect index. actual:", changes[i].index, "expected:", indexes[i]) + valid = false; + } + if (changes[i].count != counts[i]) { + console.log(i, "incorrect count. actual:", changes[i].count, "expected:", counts[i]) + valid = false; + } + if (changes[i].moveId != moveIds[i]) { + console.log(i, "incorrect moveId. actual:", changes[i].moveId, "expected:", moveIds[i]) + valid = false; + } + } + return valid + } + + groups: [ + VisualDataGroup { + id: vi; + + property var inserted + property var removed + + name: "visible" + includeByDefault: true + + onChanged: { + vi.inserted = inserted + vi.removed = removed + } + }, + VisualDataGroup { + id: si; + + property var inserted + property var removed + + name: "selected" + onChanged: { + si.inserted = inserted + si.removed = removed + } + } + ] + + model: ListModel { + id: listModel + ListElement { number: "one" } + ListElement { number: "two" } + ListElement { number: "three" } + ListElement { number: "four" } + } + + delegate: Item {} + + items.onChanged: { + vm.inserted = inserted + vm.removed = removed + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml b/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml new file mode 100644 index 0000000000..682f3833d1 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/packageView.qml @@ -0,0 +1,63 @@ +import QtQuick 2.0 + +Item { + width: 240 + height: 320 + + Component { + id: myDelegate + + Package { + Rectangle { + id: leftWrapper + objectName: "wrapper" + Package.name: "left" + height: 20 + width: 120 + Text { + text: index + } + color: ListView.isCurrentItem ? "lightsteelblue" : "white" + } + Rectangle { + id: rightWrapper + objectName: "wrapper" + Package.name: "right" + height: 20 + width: 120 + Text { + text: index + } + color: ListView.isCurrentItem ? "lightsteelblue" : "white" + } + } + + } + + VisualDataModel { + id: visualModel + + delegate: myDelegate + model: testModel + } + + ListView { + id: leftList + objectName: "leftList" + anchors { + left: parent.left; top: parent.top; + right: parent.horizontalCenter; bottom: parent.bottom + } + model: visualModel.parts.left + } + + ListView { + id: rightList + objectName: "rightList" + anchors { + left: parent.horizontalCenter; top: parent.top; + right: parent.right; bottom: parent.bottom + } + model: visualModel.parts.right + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/singlerole1.qml b/tests/auto/quick/qquickvisualdatamodel/data/singlerole1.qml new file mode 100644 index 0000000000..c471893e1d --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/singlerole1.qml @@ -0,0 +1,10 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: myModel + delegate: Component { + Text { objectName: "name"; text: name; function getText() { return name; } } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/singlerole2.qml b/tests/auto/quick/qquickvisualdatamodel/data/singlerole2.qml new file mode 100644 index 0000000000..ab1798999d --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/singlerole2.qml @@ -0,0 +1,10 @@ +import QtQuick 2.0 + +ListView { + width: 100 + height: 100 + model: myModel + delegate: Component { + Text { objectName: "name"; text: modelData; function getText() { return modelData } } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/singleroleproperties-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/singleroleproperties-package.qml new file mode 100644 index 0000000000..910df816f3 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/singleroleproperties-package.qml @@ -0,0 +1,45 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: visualModel.parts.package + + VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: SingleRoleModel {} + + delegate: Package { + id: delegate + + property variant test1: index + property variant test2: model.index + property variant test3: name + property variant test4: model.name + property variant test5: modelData + property variant test6: model.modelData + + + function setTest3(arg) { name = arg } + function setTest4(arg) { model.name = arg } + function setTest5(arg) { modelData = arg } + function setTest6(arg) { model.modelData = arg } + + Item { + objectName: "delegate" + width: 100 + height: 2 + Package.name: "package" + } + } + + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/singleroleproperties.qml b/tests/auto/quick/qquickvisualdatamodel/data/singleroleproperties.qml new file mode 100644 index 0000000000..6133c61bc5 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/singleroleproperties.qml @@ -0,0 +1,39 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: SingleRoleModel {} + + delegate: Item { + id: delegate + + objectName: "delegate" + width: 100 + height: 2 + property variant test1: index + property variant test2: model.index + property variant test3: name + property variant test4: model.name + property variant test5: modelData + property variant test6: model.modelData + + + function setTest3(arg) { name = arg } + function setTest4(arg) { model.name = arg } + function setTest5(arg) { modelData = arg } + function setTest6(arg) { model.modelData = arg } + } + + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/stringlistproperties-package.qml b/tests/auto/quick/qquickvisualdatamodel/data/stringlistproperties-package.qml new file mode 100644 index 0000000000..d1a4604b77 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/stringlistproperties-package.qml @@ -0,0 +1,45 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: visualModel.parts.package + VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: [ + "one", + "two", + "three", + "four" + ] + + delegate: Package { + id: delegate + + property variant test1: index + property variant test2: model.index + property variant test3: modelData + property variant test4: model.modelData + + function setTest3(arg) { modelData = arg } + function setTest4(arg) { model.modelData = arg } + + Item { + objectName: "delegate" + + width: 100 + height: 2 + + Package.name: "package" + } + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/stringlistproperties.qml b/tests/auto/quick/qquickvisualdatamodel/data/stringlistproperties.qml new file mode 100644 index 0000000000..a075ccb4d9 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/stringlistproperties.qml @@ -0,0 +1,40 @@ +import QtQuick 2.0 +import tst_qquickvisualdatamodel 1.0 + +ListView { + width: 100 + height: 100 + model: VisualDataModel { + id: visualModel + objectName: "visualModel" + + groups: [ + VisualDataGroup { id: visibleItems; objectName: "visibleItems"; name: "visible"; includeByDefault: true }, + VisualDataGroup { id: selectedItems; objectName: "selectedItems"; name: "selected" } + ] + + model: [ + "one", + "two", + "three", + "four" + ] + + delegate: Item { + id: delegate + + objectName: "delegate" + + property variant test1: index + property variant test2: model.index + property variant test3: modelData + property variant test4: model.modelData + + function setTest3(arg) { modelData = arg } + function setTest4(arg) { model.modelData = arg } + + width: 100 + height: 2 + } + } +} diff --git a/tests/auto/quick/qquickvisualdatamodel/data/visualdatamodel.qml b/tests/auto/quick/qquickvisualdatamodel/data/visualdatamodel.qml new file mode 100644 index 0000000000..0d4d9e2e46 --- /dev/null +++ b/tests/auto/quick/qquickvisualdatamodel/data/visualdatamodel.qml @@ -0,0 +1,12 @@ +import QtQuick 2.0 + +VisualDataModel { + function setRoot() { + rootIndex = modelIndex(0); + } + function setRootToParent() { + rootIndex = parentModelIndex(); + } + model: myModel + delegate: Item {} +} |