Skip to content

Commit 7c34e1d

Browse files
authored
Merge pull request #250 from cneben/f/#248-modern-qt-cmake
F/#248 modern qt cmake
2 parents 2b36555 + f4db809 commit 7c34e1d

File tree

136 files changed

+489
-726
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+489
-726
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ samples/build*
1414
.idea
1515
.DS_Store
1616
build-tests-*
17+
18+
build

CMakeLists.txt

+14-11
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,20 @@ add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x050F00)
1515
add_subdirectory(src)
1616

1717
option(QUICK_QANAVA_BUILD_SAMPLES "Build QuickQanava samples" OFF)
18-
if (${QUICK_QANAVA_BUILD_SAMPLES})
19-
#add_subdirectory(samples/advanced)
20-
#add_subdirectory(samples/connector)
21-
#add_subdirectory(samples/cpp)
22-
#add_subdirectory(samples/dataflow)
23-
#add_subdirectory(samples/edges)
18+
#if (${QUICK_QANAVA_BUILD_SAMPLES})
19+
add_subdirectory(samples/advanced)
20+
add_subdirectory(samples/connector)
21+
add_subdirectory(samples/cpp)
22+
23+
add_subdirectory(samples/dataflow)
24+
add_subdirectory(samples/edges)
2425
add_subdirectory(samples/groups)
25-
#add_subdirectory(samples/navigable)
26+
add_subdirectory(samples/navigable)
27+
2628
add_subdirectory(samples/nodes)
2729
add_subdirectory(samples/layouts)
28-
#add_subdirectory(samples/selection)
29-
#add_subdirectory(samples/style)
30-
#add_subdirectory(samples/topology)
31-
endif()
30+
add_subdirectory(samples/selection)
31+
32+
add_subdirectory(samples/style)
33+
add_subdirectory(samples/topology)
34+
#endif()

samples/advanced/AdvancedGroup.qml

+4-9
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ import QtQuick 2.8
3636
import QtQuick.Controls 2.1
3737
import QtQuick.Layouts 1.3
3838

39-
import QuickQanava 2.0 as Qan
40-
import "qrc:/QuickQanava" as Qan
39+
import QuickQanava as Qan
4140

4241
Qan.GroupItem {
4342
id: advancedGroup
@@ -47,13 +46,9 @@ Qan.GroupItem {
4746
height: 150
4847

4948
default property alias children : template
50-
container: template.content // See qan::GroupItem::container property documentation
51-
52-
//! Show or hide group top left label editor (default to visible).
53-
property alias labelEditorVisible : template.labelEditorVisible
54-
55-
//! Show or hide group top left expand button (default to visible).
56-
property alias expandButtonVisible : template.expandButtonVisible
49+
container: template.container // See qan::GroupItem::container property documentation
50+
labelEditorVisible : template.labelEditorVisible
51+
//expandButtonVisible : template.expandButtonVisible
5752

5853
Qan.RectGroupTemplate {
5954
id: template

samples/advanced/AdvancedNode.qml

+1-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ import QtQuick 2.8
3636
import QtQuick.Controls 2.1
3737
import QtQuick.Layouts 1.3
3838

39-
import QuickQanava 2.0 as Qan
40-
import "qrc:/QuickQanava" as Qan
39+
import QuickQanava as Qan
4140

4241
Qan.NodeItem {
4342
id: customNode

samples/advanced/CMakeLists.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,20 @@ cmake_minimum_required(VERSION 3.16)
22

33
project(QuickQanava_sample_advanced VERSION 2.5.0 LANGUAGES CXX)
44

5+
# Configure Qt
6+
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
7+
qt_standard_project_setup(REQUIRES 6.6)
58
set(CMAKE_CXX_STANDARD 17)
69
set(CMAKE_CXX_STANDARD_REQUIRED ON)
710
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
811

9-
set(source_files main.cpp)
10-
set(resources_files advanced.qrc)
11-
12-
# Configure Qt
13-
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
14-
1512
set(CMAKE_AUTOMOC ON)
1613
set(CMAKE_AUTORCC ON)
1714
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:QT_QML_DEBUG>)
1815
set(CMAKE_INCLUDE_CURRENT_DIR ON)
1916

17+
set(source_files main.cpp)
18+
set(resources_files advanced.qrc)
2019
qt_add_resources(source_files ${resources_files})
2120

2221
if(NOT TARGET QuickQanava)
@@ -28,6 +27,7 @@ add_executable(sample_advanced ${source_files} advanced.qrc)
2827
target_include_directories(sample_advanced PUBLIC QuickQanava Qt${QT_VERSION_MAJOR}::QuickControls2)
2928
target_link_libraries(sample_advanced
3029
QuickQanava
30+
QuickQanavaplugin
3131
Qt${QT_VERSION_MAJOR}::Core
3232
Qt${QT_VERSION_MAJOR}::Gui
3333
Qt${QT_VERSION_MAJOR}::QuickControls2

samples/advanced/Hook.qml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
// \date 2023 11 17
3333
//-----------------------------------------------------------------------------
3434

35-
import QtQuick 2.7
36-
import QuickQanava 2.0 as Qan
35+
import QtQuick 2.7
36+
import QuickQanava as Qan
3737

3838
/*! A Hook has is transparent square which is only visible when selected.
3939
*

samples/advanced/advanced.qml

+3-4
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ import QtQuick.Controls.Material 2.1
3030
import QtQuick.Layouts 1.3
3131
import QtQuick.Shapes 1.0
3232

33-
import QuickQanava 2.0 as Qan
34-
import "qrc:/QuickQanava" as Qan
33+
import QuickQanava as Qan
3534
import "." as Qan
3635

3736
ApplicationWindow {
@@ -67,7 +66,7 @@ ApplicationWindow {
6766
const g1 = topology.insertGroup(advancedGroupDelegate);
6867
g1.label = "GROUP 1";
6968
g1.item.x = 300; g1.item.y = 80;
70-
g1.item.width = 450; g1.item.height = 220;
69+
g1.item.width = 450; g1.item.height = 260;
7170

7271
const g1n1 = topology.insertNode(advancedNodeDelegate);
7372
topology.groupNode(g1, g1n1);
@@ -98,7 +97,7 @@ ApplicationWindow {
9897
const g2 = topology.insertGroup(advancedGroupDelegate);
9998
g2.label = "GROUP 2";
10099
g2.item.x = 200; g2.item.y = 380;
101-
g2.item.width = 190; g2.item.height = 120;
100+
g2.item.width = 190; g2.item.height = 150;
102101

103102
const g2n1 = topology.insertNode(advancedNodeDelegate);
104103
topology.groupNode(g2, g2n1);

samples/advanced/main.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@
4141
#include <QuickQanava>
4242

4343
//-----------------------------------------------------------------------------
44-
int main( int argc, char** argv )
44+
int main(int argc, char** argv)
4545
{
4646
QGuiApplication app(argc, argv);
4747
QQuickStyle::setStyle("Material");
4848
QQmlApplicationEngine engine;
49+
engine.addImportPath("../../src/");
4950
QuickQanava::initialize(&engine);
5051
engine.load(QUrl("qrc:/advanced.qml"));
5152
return app.exec();

samples/connector/CMakeLists.txt

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ cmake_minimum_required(VERSION 3.16)
22

33
project(QuickQanava_sample_connector VERSION 2.5.0 LANGUAGES CXX)
44

5+
# Configure Qt
6+
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
7+
qt_standard_project_setup(REQUIRES 6.6)
58
set(CMAKE_CXX_STANDARD 17)
69
set(CMAKE_CXX_STANDARD_REQUIRED ON)
710
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
811

9-
# Configure Qt
10-
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
11-
1212
set(CMAKE_AUTOMOC ON)
1313
set(CMAKE_AUTORCC ON)
1414
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:QT_QML_DEBUG>)
@@ -28,6 +28,7 @@ add_executable(sample_connector ${source_files} connector.qrc)
2828
target_include_directories(sample_connector PUBLIC QuickQanava Qt${QT_VERSION_MAJOR}::QuickControls2)
2929
target_link_libraries(sample_connector
3030
QuickQanava
31+
QuickQanavaplugin
3132
Qt${QT_VERSION_MAJOR}::Core
3233
Qt${QT_VERSION_MAJOR}::Gui
3334
Qt${QT_VERSION_MAJOR}::QuickControls2

samples/connector/connector.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ int main( int argc, char** argv )
5252
QGuiApplication app(argc, argv); // Necessary for Qt.labs ColorDialog
5353
QQuickStyle::setStyle("Material");
5454
QQmlApplicationEngine engine;
55-
engine.addPluginPath(QStringLiteral("../../src")); // Necessary only for development when plugin is not installed to QTDIR/qml
55+
engine.addImportPath("../../src/");
5656
QuickQanava::initialize(&engine);
5757
engine.load(QUrl("qrc:/connector.qml"));
5858
return app.exec();

samples/connector/connector.qml

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ import QtQuick.Controls.Material 2.1
3030
import QtQuick.Layouts 1.3
3131
import QtQuick.Shapes 1.0
3232

33-
import QuickQanava 2.0 as Qan
34-
import "qrc:/QuickQanava" as Qan
33+
import QuickQanava as Qan
3534
import "." as Qan
3635

3736
ApplicationWindow {

samples/connector/custom.qml

+1-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ import QtQuick.Controls 2.1
2929
import QtQuick.Controls.Material 2.1
3030
import QtQuick.Layouts 1.3
3131

32-
import QuickQanava 2.0 as Qan
33-
import "qrc:/QuickQanava" as Qan
32+
import QuickQanava as Qan
3433
import "." as Qan
3534

3635
Qan.GraphView {

samples/connector/customdocks.qml

+1-3
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ import QtQuick.Controls.Material 2.1
3030
import QtQuick.Layouts 1.3
3131
import Qt.labs.platform 1.0 // ColorDialog
3232

33-
import QuickQanava 2.0 as Qan
34-
import "qrc:/QuickQanava" as Qan
33+
import QuickQanava as Qan
3534
import "." as Qan
3635

37-
3836
Qan.GraphView {
3937
id: graphView
4038
z: -1

samples/connector/default.qml

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ import QtQuick.Controls.Material 2.1
3030
import QtQuick.Layouts 1.3
3131
import Qt.labs.platform 1.0 // ColorDialog
3232

33-
import QuickQanava 2.0 as Qan
34-
import "qrc:/QuickQanava" as Qan
33+
import QuickQanava as Qan
3534
import "." as Qan
3635

3736
Qan.GraphView {

samples/connector/docks.qml

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ import QtQuick.Controls.Material 2.1
3030
import QtQuick.Layouts 1.3
3131
import Qt.labs.platform 1.0 // ColorDialog
3232

33-
import QuickQanava 2.0 as Qan
34-
import "qrc:/QuickQanava" as Qan
33+
import QuickQanava as Qan
3534
import "." as Qan
3635

3736
Qan.GraphView {

samples/cpp/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@ cmake_minimum_required(VERSION 3.16)
22

33
project(QuickQanava_sample_cpp VERSION 2.5.0 LANGUAGES CXX)
44

5-
5+
# Configure Qt
6+
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
7+
qt_standard_project_setup(REQUIRES 6.6)
68
set(CMAKE_CXX_STANDARD 17)
79
set(CMAKE_CXX_STANDARD_REQUIRED ON)
810
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
911

10-
# Configure Qt
11-
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
12-
1312
set(CMAKE_AUTOMOC ON)
1413
set(CMAKE_AUTORCC ON)
1514
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:QT_QML_DEBUG>)
@@ -31,6 +30,7 @@ endif()
3130
add_executable(sample_cpp ${source_files} cpp_sample.qrc)
3231
target_link_libraries(sample_cpp PUBLIC
3332
QuickQanava
33+
QuickQanavaplugin
3434
Qt${QT_VERSION_MAJOR}::Core
3535
Qt${QT_VERSION_MAJOR}::Gui
3636
Qt${QT_VERSION_MAJOR}::QuickControls2)

samples/cpp/CustomEdge.qml

+3-4
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,10 @@
3232
// \date 2015 06 20
3333
//-----------------------------------------------------------------------------
3434

35-
import QtQuick 2.7
36-
import QtQuick.Controls.Material 2.1
35+
import QtQuick
36+
import QtQuick.Controls.Material
3737

38-
import QuickQanava 2.0 as Qan
39-
import "qrc:/QuickQanava" as Qan
38+
import QuickQanava as Qan
4039

4140
Qan.EdgeItem {
4241
id: edgeItem

samples/cpp/CustomGroup.qml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import QtQuick.Layouts
3636
import QtQuick.Effects
3737
import QtQuick.Controls.Material
3838

39-
import QuickQanava 2.0 as Qan
39+
import QuickQanava as Qan
4040

4141
Qan.GroupItem {
4242
id: customGroup

samples/cpp/CustomNode.qml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import QtQuick.Layouts
3737
import QtQuick.Effects
3838
import QtQuick.Controls.Material
3939

40-
import QuickQanava 2.0 as Qan
40+
import QuickQanava as Qan
4141

4242
Qan.NodeItem {
4343
id: rectNode

samples/cpp/cpp_sample.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ int main( int argc, char** argv )
124124
QGuiApplication app(argc, argv);
125125
QQuickStyle::setStyle("Material");
126126
QQmlApplicationEngine engine;
127-
engine.addPluginPath(QStringLiteral("../../src")); // Necessary only for development when plugin is not installed to QTDIR/qml
127+
engine.addImportPath("../../src/");
128128
QuickQanava::initialize(&engine);
129129

130130
qmlRegisterType<CustomGroup>("MyModule", 1, 0, "CustomGroup");

samples/cpp/cpp_sample.qml

+6-7
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,13 @@
2424
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2525
*/
2626

27-
import QtQuick 2.8
28-
import QtQuick.Controls 2.1
29-
import QtQuick.Controls.Material 2.1
30-
import QtQuick.Layouts 1.3
27+
import QtQuick
28+
import QtQuick.Controls
29+
import QtQuick.Controls.Material
30+
import QtQuick.Layouts
3131

32-
import QuickQanava 2.0 as Qan
33-
import "qrc:/QuickQanava" as Qan
34-
import MyModule 1.0 // Our custom topology is defined in MyModule
32+
import QuickQanava as Qan
33+
import MyModule // Our custom topology is defined in MyModule
3534

3635
ApplicationWindow {
3736
id: window

0 commit comments

Comments
 (0)