aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/delegatechooser
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/delegatechooser')
-rw-r--r--tests/manual/delegatechooser/CMakeLists.txt42
-rw-r--r--tests/manual/delegatechooser/delegatechooser.pro8
-rw-r--r--tests/manual/delegatechooser/delegatechooser.qml99
-rw-r--r--tests/manual/delegatechooser/main.cpp4
-rw-r--r--tests/manual/delegatechooser/qml.qrc5
5 files changed, 158 insertions, 0 deletions
diff --git a/tests/manual/delegatechooser/CMakeLists.txt b/tests/manual/delegatechooser/CMakeLists.txt
new file mode 100644
index 0000000000..0954fda17a
--- /dev/null
+++ b/tests/manual/delegatechooser/CMakeLists.txt
@@ -0,0 +1,42 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(delegatechooser LANGUAGES CXX)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/delegatechooser")
+
+find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Quick)
+
+qt_standard_project_setup(REQUIRES 6.5)
+
+add_subdirectory("../shared" "shared")
+
+qt_add_executable(delegatechooserexample WIN32 MACOSX_BUNDLE main.cpp)
+
+target_link_libraries(delegatechooserexample PRIVATE
+ Qt6::Core
+ Qt6::Gui
+ Qt6::Qml
+ Qt6::Quick
+)
+
+add_dependencies(delegatechooserexample delegatechooser_shared)
+
+qt_add_qml_module(delegatechooserexample
+ URI delegatechooser
+ QML_FILES
+ "delegatechooser.qml"
+)
+
+install(TARGETS delegatechooserexample
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
+
+bundle_shared(delegatechooserexample)
diff --git a/tests/manual/delegatechooser/delegatechooser.pro b/tests/manual/delegatechooser/delegatechooser.pro
new file mode 100644
index 0000000000..f06864ba89
--- /dev/null
+++ b/tests/manual/delegatechooser/delegatechooser.pro
@@ -0,0 +1,8 @@
+TEMPLATE = app
+QT += quick qml
+
+SOURCES += main.cpp
+RESOURCES += qml.qrc ../shared/shared.qrc
+
+target.path = $$[QT_INSTALL_EXAMPLES]/quick/delegatechooser
+INSTALLS += target
diff --git a/tests/manual/delegatechooser/delegatechooser.qml b/tests/manual/delegatechooser/delegatechooser.qml
new file mode 100644
index 0000000000..24af646ef9
--- /dev/null
+++ b/tests/manual/delegatechooser/delegatechooser.qml
@@ -0,0 +1,99 @@
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
+import QtQml.Models
+import QtQuick.Layouts
+import Qt.labs.qmlmodels
+import shared
+
+Rectangle {
+ visible: true
+ width: 640
+ height: 640
+
+ ListModel {
+ id: listModel
+ ListElement { dataType: "rect"; color: "green" }
+ ListElement { dataType: "image" }
+ ListElement { dataType: "rect"; color: "green" }
+ ListElement { dataType: "image" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "blue" }
+ }
+
+ ListModel {
+ id: listModel2
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "green" }
+ ListElement { dataType: "image" }
+ ListElement { dataType: "rect"; color: "green" }
+ ListElement { dataType: "image" }
+ ListElement { dataType: "rect"; color: "blue" }
+ ListElement { dataType: "rect"; color: "lightsteelblue" }
+ ListElement { dataType: "rect"; color: "fuchsia" }
+ ListElement { dataType: "rect"; color: "lime" }
+ }
+
+ DelegateChooser {
+ id: fancyDelegate
+ role: "dataType"
+ DelegateChoice {
+ roleValue: "rect"
+ delegate: DelegateChooser {
+ DelegateChoice {
+ row: 0
+ Rectangle {
+ width: parent.width
+ height: 50
+ color: "red"
+ border.color: "black"
+ border.width: 1
+ }
+ }
+ DelegateChoice {
+ Rectangle {
+ width: parent.width
+ height: 50
+ color: model.color
+ border.color: "black"
+ border.width: 1
+ }
+ }
+ }
+ }
+ DelegateChoice {
+ roleValue: "image"
+ delegate: Image {
+ width: parent.width
+ height: 100
+ source: Images.qtLogo
+ fillMode: Image.PreserveAspectFit
+ }
+ }
+ }
+
+ Item {
+ anchors.fill: parent
+ id: ite
+ RowLayout {
+ ListView {
+ Layout.preferredHeight: ite.height
+ Layout.preferredWidth: ite.width * 0.5
+ model: listModel
+ delegate: fancyDelegate
+ }
+ ListView {
+ Layout.preferredHeight: ite.height
+ Layout.preferredWidth: ite.width * 0.5
+ model: listModel2
+ delegate: fancyDelegate
+ }
+ }
+ }
+}
diff --git a/tests/manual/delegatechooser/main.cpp b/tests/manual/delegatechooser/main.cpp
new file mode 100644
index 0000000000..650434c1c0
--- /dev/null
+++ b/tests/manual/delegatechooser/main.cpp
@@ -0,0 +1,4 @@
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+#include "../shared/shared.h"
+DECLARATIVE_EXAMPLE_MAIN(delegatechooser/delegatechooser)
diff --git a/tests/manual/delegatechooser/qml.qrc b/tests/manual/delegatechooser/qml.qrc
new file mode 100644
index 0000000000..6128befab3
--- /dev/null
+++ b/tests/manual/delegatechooser/qml.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/qt/qml/delegatechooser">
+ <file>delegatechooser.qml</file>
+ </qresource>
+</RCC>