Skip to content

Commit 56bdf78

Browse files
authored
Merge pull request #252 from cneben/develop
2.5.0
2 parents 6009c79 + 1c8576b commit 56bdf78

243 files changed

Lines changed: 3481 additions & 2815 deletions

File tree

Some content is hidden

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

.github/workflows/build-linux-qt5.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

.github/workflows/build-win64-qt5.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/build-win64-qt6.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Install Qt
1818
uses: jurplel/install-qt-action@v3
1919
with:
20-
version: '6.4.*'
20+
version: '6.6.*'
2121
host: 'windows'
2222
target: 'desktop'
2323
arch: 'win64_msvc2019_64'
@@ -35,7 +35,7 @@ jobs:
3535

3636
- name: Install dependencies and generate project files
3737
run: |
38-
cmake -S '${{ github.workspace }}/' -B '${{ github.workspace }}/Build' -DCMAKE_GENERATOR:STRING=Ninja -DCMAKE_BUILD_TYPE:STRING=Release
38+
cmake -S '${{ github.workspace }}/' -B '${{ github.workspace }}/Build' -DCMAKE_GENERATOR:STRING=Ninja -DCMAKE_BUILD_TYPE:STRING=Release -DQUICK_QANAVA_CI=ON
3939
4040
- name: Compiling QuickQanava
4141
shell: cmd

.gitignore

Lines changed: 2 additions & 0 deletions
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

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# CHANGELOG
22

3+
## 20240922 2.5.0:
4+
- #248: Add full support for cmake qt_add_qml_module(), QuickQanava must now be used
5+
as a static QML module (qml compiler is automatically applied, it look like it is a lot faster...).
6+
- #244: Add scrollbar support to qan::Navigable, better graph view area support.
7+
- #238: Change group layout, add header support in group delegate.
8+
- #228: Add preliminary support for auto tree layouts.
9+
10+
## 20240812 2.4.2:
11+
- Merge #230 by @emmenlau, enhance node/group factory methods template signature.
12+
- Merge #236 by @emmenlau, fix a memory leak.
13+
- Merge #233 by @emmenlau, fix a compilation issue in graph.h.
14+
- Change group dragging default behaviour: group are now only draggable by their
15+
header. Old policy can be restored with qan::GroupItem::DragPolicy.
16+
317
## 20231116 2.4.0:
418
- Rewrite the Qt5/6 CMake configuration.
519
- Remove all QUICKQANAVA_QT_MAJOR_VERSION and all compilation options, compilation is now always "static".

CMakeLists.qt5.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

CMakeLists.qt6.txt

Lines changed: 0 additions & 9 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,38 @@
1-
cmake_minimum_required(VERSION 3.5.0)
1+
cmake_minimum_required(VERSION 3.16)
22

3-
project(QuickQanava VERSION 2.4.0 LANGUAGES CXX)
3+
project(QuickQanava VERSION 2.5.0 LANGUAGES CXX)
44
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
55

6-
set(CMAKE_CXX_STANDARD 14)
6+
set(CMAKE_CXX_STANDARD 17)
77
set(CMAKE_CXX_STANDARD_REQUIRED ON)
88

9-
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
9+
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml Quick QuickControls2)
1010

1111
message("Building QuickQanava for Qt${QT_VERSION_MAJOR}")
1212

13-
option(QUICK_QANAVA_BUILD_SAMPLES "Build the samples" FALSE)
13+
add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x050F00)
1414

15-
if (${QT_VERSION_MAJOR} EQUAL 5)
16-
include(CMakeLists.qt5.txt)
17-
else()
18-
include(CMakeLists.qt6.txt)
15+
add_subdirectory(src)
16+
17+
option(QUICK_QANAVA_BUILD_SAMPLES "Build QuickQanava samples" OFF)
18+
if (${QUICK_QANAVA_CI})
19+
add_subdirectory(samples/groups) # Used to test CI
1920
endif()
2021

21-
add_subdirectory(src)
22+
if (${QUICK_QANAVA_BUILD_SAMPLES})
23+
add_subdirectory(samples/advanced)
24+
add_subdirectory(samples/connector)
25+
add_subdirectory(samples/cpp)
26+
27+
add_subdirectory(samples/dataflow)
28+
add_subdirectory(samples/edges)
29+
add_subdirectory(samples/navigable)
30+
31+
add_subdirectory(samples/groups)
32+
add_subdirectory(samples/nodes)
33+
add_subdirectory(samples/layouts)
34+
add_subdirectory(samples/selection)
35+
36+
add_subdirectory(samples/style)
37+
add_subdirectory(samples/topology)
38+
endif()

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# QuickQanava
22

3-
![Linux Qt5 g++ qmake](https://github.com/cneben/QuickQanava/actions/workflows/build-linux-qt5.yml/badge.svg)
4-
![Win64 Qt5 msvc qmake](https://github.com/cneben/QuickQanava/actions/workflows/build-win64-qt5.yml/badge.svg)
53
![Win64 Qt6 msvc CMake](https://github.com/cneben/QuickQanava/actions/workflows/build-win64-qt6.yml/badge.svg)
64

75
[![Documentation](https://img.shields.io/badge/docs-mkdocs-blue.svg)](http://cneben.github.io/QuickQanava/)
86
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
9-
![](https://img.shields.io/badge/version-2.1.0-blue.svg)
7+
![](https://img.shields.io/badge/version-2.5.0-blue.svg)
108
[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/fold_left.svg?style=social&label=Follow%20%40QuickQanava)](https://twitter.com/QuickQanava)
119

1210
![](https://github.com/cneben/QuickQanava/blob/master/doc/web/docs/images/home.png)
1311

14-
`QuickQanava` is a C++14 library designed to display graphs and relational content in a Qt/QML application. QuickQanava provide QML components and C++ classes to visualize medium-sized directed graphs in a C++/QML application. QuickQanava focus on displaying relational content into a dynamic user interface with DnD support, resizable content and visual creation of topology. QuickQanava focus on writing topology delegates in pure QML.
12+
`QuickQanava` is a C++17 library developed for rendering graphs and relational content within a Qt/QML application. It offers QML components and C++ classes designed for visualizing medium-sized directed graphs in a C++/QML application. QuickQanava emphasizes the presentation of relational content in a dynamic user interface, featuring Drag-and-Drop support, resizable content, and visual creation of topology. `QuickQanava` focus authoring of topology delegates in pure QML.
1513

1614
QuickQanava main repository is hosted on GitHub: http://cneben.github.io/QuickQanava/index.html
1715

18-
QuickQanava is primarily developed for Linux with Qt 5.15 with MSVC2019 and g++9 (minimal required Qt version is **Qt 5.10**, recommended is **Qt 5.15.5**).
16+
QuickQanava is primarily developed with Qt 6.6.1 with MSVC2019 and g++11 (minimal required Qt version is **Qt 6.5.0**, recommended is **Qt 6.6.1**).
17+
18+
If you are interested in **Qt5.15** support, last release supporting Qt5 is [2.4.0](https://github.com/cneben/QuickQanava/releases/tag/2.4.0)
1919

2020
- [CHANGELOG.md](CHANGELOG.md)
2121
- Project homepage: http://cneben.github.io/QuickQanava/index.html
@@ -68,5 +68,5 @@ QuickQanava include `bezier` library distributed with MIT licence on https://git
6868

6969
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
7070

71-
Copyright (c) 2017-2022 BA
71+
Copyright (c) 2017-2024 BA
7272

VERSION.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.5.0

0 commit comments

Comments
 (0)