diff options
Diffstat (limited to 'tests/manual/delegatechooser')
-rw-r--r-- | tests/manual/delegatechooser/CMakeLists.txt | 42 | ||||
-rw-r--r-- | tests/manual/delegatechooser/delegatechooser.pro | 8 | ||||
-rw-r--r-- | tests/manual/delegatechooser/delegatechooser.qml | 99 | ||||
-rw-r--r-- | tests/manual/delegatechooser/main.cpp | 4 | ||||
-rw-r--r-- | tests/manual/delegatechooser/qml.qrc | 5 |
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> |