QuickGraphLib 0.1.0a5__tar.gz → 0.1.0a7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quickgraphlib-0.1.0a7/.clang-format +7 -0
- quickgraphlib-0.1.0a7/.gitignore +9 -0
- quickgraphlib-0.1.0a7/.pre-commit-config.yaml +52 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/CMakeLists.txt +7 -3
- {quickgraphlib-0.1.0a5/QuickGraphLib.egg-info → quickgraphlib-0.1.0a7}/PKG-INFO +81 -78
- quickgraphlib-0.1.0a7/QuickGraphLib/AntialiasingContainer.qml +28 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/Axis.qml +57 -19
- quickgraphlib-0.1.0a7/QuickGraphLib/CMakeLists.txt +86 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/ColorMaps.cpp +630 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/ColorMaps.hpp +22 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/DataTypes.cpp +68 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/DataTypes.hpp +33 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphArea.qml +30 -5
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxHLine.qml +13 -3
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxHSpan.qml +16 -4
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxVLine.qml +13 -3
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxVSpan.qml +16 -4
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/BasicLegend.qml +6 -2
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/BasicLegendItem.qml +21 -7
- quickgraphlib-0.1.0a7/QuickGraphLib/GraphItems/CMakeLists.txt +54 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/GraphItems/ColorMesh.qml +37 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Contour.qml +7 -2
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/GraphItemDragHandler.qml +11 -2
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Grid.qml +20 -4
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Histogram.qml +16 -4
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Line.qml +3 -6
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Marker.qml +8 -2
- quickgraphlib-0.1.0a7/QuickGraphLib/ImageView.cpp +506 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/ImageView.hpp +126 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/Plugin.cpp +23 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/PreFabs/CMakeLists.txt +34 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/PreFabs/ImageAxes.qml +193 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/PreFabs/XYAxes.qml +59 -14
- quickgraphlib-0.1.0a7/QuickGraphLib/QuickGraphLib.hpp +6 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/ScalingContainer.qml +12 -4
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/ShapeRepeater.qml +3 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/TickLabel.qml +17 -6
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/ZoomPanHandler.qml +22 -6
- quickgraphlib-0.1.0a7/QuickGraphLib/__init__.py +27 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/_version.py +16 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/Bindings.hpp +6 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/Bindings.xml +29 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/CMakeLists.txt +174 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/ShibokenHelpers.cpp +97 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/ShibokenHelpers.hpp +13 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/glue/DataTypes.cpp +12 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/pyigen.py +42 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/bindings/pyside_config.py +416 -0
- {quickgraphlib-0.1.0a5/quickgraphlib_helpers → quickgraphlib-0.1.0a7/QuickGraphLib}/contours.py +8 -9
- quickgraphlib-0.1.0a7/QuickGraphLib/doc/AxesGridLayout.drawio +49 -0
- quickgraphlib-0.1.0a7/QuickGraphLib/doc/export.qdoc +47 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/index.qdoc +4 -2
- quickgraphlib-0.1.0a7/QuickGraphLib/doc/module-cpp.qdoc +40 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/python_helpers.qdoc +2 -2
- quickgraphlib-0.1.0a7/QuickGraphLib/helpers/Foreign.hpp +30 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/Helpers.cpp +85 -24
- quickgraphlib-0.1.0a7/activate_venv.ps1 +1 -0
- quickgraphlib-0.1.0a7/ci/find_qt.py +10 -0
- quickgraphlib-0.1.0a7/ci/setup_qt.py +47 -0
- quickgraphlib-0.1.0a7/docs/build_docs.py +73 -0
- quickgraphlib-0.1.0a7/docs/config.qdocconf +49 -0
- quickgraphlib-0.1.0a7/docs/style.css +186 -0
- quickgraphlib-0.1.0a7/examples/BuiltinColormaps.png +0 -0
- quickgraphlib-0.1.0a7/examples/BuiltinColormaps.qdoc +13 -0
- quickgraphlib-0.1.0a7/examples/BuiltinColormaps.qml +83 -0
- quickgraphlib-0.1.0a7/examples/ColorMappedImages.png +0 -0
- quickgraphlib-0.1.0a7/examples/ColorMappedImages.qdoc +13 -0
- quickgraphlib-0.1.0a7/examples/ColorMappedImages.qml +70 -0
- quickgraphlib-0.1.0a7/examples/ColorMesh.png +0 -0
- quickgraphlib-0.1.0a7/examples/ColorMesh.qdoc +13 -0
- quickgraphlib-0.1.0a7/examples/ColorMesh.qml +13 -0
- quickgraphlib-0.1.0a7/examples/Conway.png +0 -0
- quickgraphlib-0.1.0a7/examples/Conway.qdoc +16 -0
- quickgraphlib-0.1.0a7/examples/Conway.qml +178 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DarkSinGraph.qml +4 -0
- quickgraphlib-0.1.0a7/examples/ExampleGallery.png +0 -0
- quickgraphlib-0.1.0a7/examples/ImageAlignment.png +0 -0
- quickgraphlib-0.1.0a7/examples/ImageAlignment.qdoc +13 -0
- quickgraphlib-0.1.0a7/examples/ImageAlignment.qml +102 -0
- quickgraphlib-0.1.0a7/examples/conway.py +243 -0
- quickgraphlib-0.1.0a7/examples/gallery.py +46 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/pyproject.toml +27 -9
- quickgraphlib-0.1.0a7/requirements.txt +47 -0
- quickgraphlib-0.1.0a7/setup.cfg +2 -0
- quickgraphlib-0.1.0a7/setup_venv.ps1 +4 -0
- quickgraphlib-0.1.0a5/MANIFEST.in +0 -4
- quickgraphlib-0.1.0a5/PKG-INFO +0 -78
- quickgraphlib-0.1.0a5/QuickGraphLib/AntialiasingContainer.qml +0 -18
- quickgraphlib-0.1.0a5/QuickGraphLib/CMakeLists.txt +0 -27
- quickgraphlib-0.1.0a5/QuickGraphLib/GraphItems/CMakeLists.txt +0 -27
- quickgraphlib-0.1.0a5/QuickGraphLib/PreFabs/CMakeLists.txt +0 -21
- quickgraphlib-0.1.0a5/QuickGraphLib/doc/export.qdoc +0 -24
- quickgraphlib-0.1.0a5/QuickGraphLib/helpers/Foreign.hpp +0 -13
- quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/SOURCES.txt +0 -114
- quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/dependency_links.txt +0 -1
- quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/requires.txt +0 -11
- quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/top_level.txt +0 -2
- quickgraphlib-0.1.0a5/examples/ExampleGallery.png +0 -0
- quickgraphlib-0.1.0a5/quickgraphlib_helpers/__init__.py +0 -8
- quickgraphlib-0.1.0a5/setup.cfg +0 -7
- quickgraphlib-0.1.0a5/setup.py +0 -74
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/LICENCE +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/GridHelper.cpp +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/GridHelper.hpp +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/HistogramHelper.cpp +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/HistogramHelper.hpp +0 -0
- {quickgraphlib-0.1.0a5/quickgraphlib_helpers → quickgraphlib-0.1.0a7/QuickGraphLib}/consts.py +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/AxesGridLayout.svg +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/graphitems.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/graphstructure.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/interaction.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/module.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/prefabs.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/AxisHelper.cpp +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/AxisHelper.hpp +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/Helpers.hpp +0 -0
- {quickgraphlib-0.1.0a5/quickgraphlib_helpers → quickgraphlib-0.1.0a7/QuickGraphLib}/py.typed +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/README.md +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/AllTheAxes.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/AllTheAxes.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/AllTheAxes.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicHistogram.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicHistogram.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicHistogram.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraph.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraph.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraph.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraphNoPrefabs.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraphNoPrefabs.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraphNoPrefabs.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Complex.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Complex.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Complex.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Contours.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Contours.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Contours.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DarkSinGraph.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DarkSinGraph.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DraggableRegion.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DraggableRegion.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DraggableRegion.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ExampleGallery.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/InvertedAxes.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/InvertedAxes.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/InvertedAxes.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ReadoutLine.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ReadoutLine.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ReadoutLine.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ScalingGraph.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ScalingGraph.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ScalingGraph.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Scatter.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Scatter.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Scatter.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/SpansAndLines.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/SpansAndLines.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/SpansAndLines.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Subgraphs.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Subgraphs.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Subgraphs.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/TwinX.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/TwinX.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/TwinX.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAsImage.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAsImage.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAsImage.qml +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAxes.png +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAxes.qdoc +0 -0
- {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAxes.qml +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
fail_fast: true
|
|
2
|
+
repos:
|
|
3
|
+
- repo: local
|
|
4
|
+
hooks:
|
|
5
|
+
- id: licence-present
|
|
6
|
+
name: licence-present
|
|
7
|
+
entry: SPDX-License-Identifier
|
|
8
|
+
language: pygrep
|
|
9
|
+
args: [--negate]
|
|
10
|
+
files: "((\\.(qml|py|css|qdoc|qdocconf|js|cpp|hpp))|qmldir|CMakeLists.txt)$"
|
|
11
|
+
- id: qdebug-present
|
|
12
|
+
name: qdebug-present
|
|
13
|
+
entry: qDebug
|
|
14
|
+
language: pygrep
|
|
15
|
+
files: "(\\.(cpp|hpp))$"
|
|
16
|
+
- id: black
|
|
17
|
+
name: black
|
|
18
|
+
entry: venv/Scripts/black.exe
|
|
19
|
+
language: system
|
|
20
|
+
types: [python]
|
|
21
|
+
- id: gersemi
|
|
22
|
+
name: gersemi
|
|
23
|
+
entry: venv/Scripts/gersemi.exe -i
|
|
24
|
+
language: system
|
|
25
|
+
files: "CMakeLists.txt"
|
|
26
|
+
- id: qmlformat
|
|
27
|
+
name: qmlformat
|
|
28
|
+
entry: venv/Scripts/pyside6-qmlformat.exe -i -n
|
|
29
|
+
files: "\\.qml$"
|
|
30
|
+
language: system
|
|
31
|
+
# - id: qmllint
|
|
32
|
+
# name: qmllint
|
|
33
|
+
# entry: venv/Scripts/pyside6-qmllint.exe
|
|
34
|
+
# files: "\\.qml$"
|
|
35
|
+
# language: system
|
|
36
|
+
- id: isort
|
|
37
|
+
name: isort
|
|
38
|
+
entry: venv/Scripts/isort.exe --settings-file pyproject.toml
|
|
39
|
+
language: system
|
|
40
|
+
types: [python]
|
|
41
|
+
# - id: pylint
|
|
42
|
+
# name: pylint
|
|
43
|
+
# entry: venv/Scripts/pylint.exe
|
|
44
|
+
# language: system
|
|
45
|
+
# types: [python]
|
|
46
|
+
# require_serial: true
|
|
47
|
+
- id: mypy
|
|
48
|
+
name: mypy
|
|
49
|
+
entry: venv/Scripts/mypy.exe
|
|
50
|
+
language: system
|
|
51
|
+
types: [python]
|
|
52
|
+
require_serial: true
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
cmake_minimum_required(VERSION 3.16)
|
|
5
5
|
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
|
|
6
6
|
|
|
7
|
-
project(
|
|
7
|
+
project(QuickGraphLib VERSION 1.0.0 LANGUAGES CXX)
|
|
8
8
|
|
|
9
9
|
set(CMAKE_CXX_STANDARD 17)
|
|
10
10
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
@@ -12,11 +12,15 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
12
12
|
if(MSVC)
|
|
13
13
|
add_compile_options(/W4)
|
|
14
14
|
else()
|
|
15
|
-
add_compile_options(-Wextra -Wpedantic -
|
|
15
|
+
add_compile_options(-Wextra -Wpedantic -fno-visibility-inlines-hidden)
|
|
16
16
|
endif()
|
|
17
17
|
|
|
18
18
|
if(NOT INSTALL_SUBPATH)
|
|
19
|
-
set(INSTALL_SUBPATH
|
|
19
|
+
set(INSTALL_SUBPATH
|
|
20
|
+
${CMAKE_INSTALL_LIBDIR}/qml
|
|
21
|
+
CACHE STRING
|
|
22
|
+
"Install subpath (defaults to lib/qml)"
|
|
23
|
+
)
|
|
20
24
|
endif()
|
|
21
25
|
|
|
22
26
|
find_package(Qt6 REQUIRED COMPONENTS Quick Svg)
|
|
@@ -1,78 +1,81 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: QuickGraphLib
|
|
3
|
-
Version: 0.1.
|
|
4
|
-
Summary: A scientific graphing library for QtQuick
|
|
5
|
-
Author-
|
|
6
|
-
License: MIT License
|
|
7
|
-
|
|
8
|
-
Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
9
|
-
|
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
in the Software without restriction, including without limitation the rights
|
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
furnished to do so, subject to the following conditions:
|
|
16
|
-
|
|
17
|
-
The above copyright notice and this permission notice shall be included in all
|
|
18
|
-
copies or substantial portions of the Software.
|
|
19
|
-
|
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
-
SOFTWARE.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Classifier:
|
|
32
|
-
Classifier:
|
|
33
|
-
Classifier:
|
|
34
|
-
Classifier:
|
|
35
|
-
Classifier:
|
|
36
|
-
Classifier:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: QuickGraphLib
|
|
3
|
+
Version: 0.1.0a7
|
|
4
|
+
Summary: A scientific graphing library for QtQuick
|
|
5
|
+
Author-Email: Matthew Joyce <matthew.joyce@refeyn.com>
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
Classifier: Development Status :: 3 - Alpha
|
|
28
|
+
Classifier: Environment :: X11 Applications :: Qt
|
|
29
|
+
Classifier: Intended Audience :: Science/Research
|
|
30
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
31
|
+
Classifier: Operating System :: OS Independent
|
|
32
|
+
Classifier: Programming Language :: Python
|
|
33
|
+
Classifier: Topic :: Multimedia :: Graphics :: Presentation
|
|
34
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
35
|
+
Classifier: Topic :: Software Development :: User Interfaces
|
|
36
|
+
Classifier: Typing :: Typed
|
|
37
|
+
Project-URL: Homepage, https://github.com/refeyn/QuickGraphLib
|
|
38
|
+
Project-URL: Issues, https://github.com/refeyn/QuickGraphLib/issues
|
|
39
|
+
Project-URL: Documentation, https://refeyn.github.io/QuickGraphLib
|
|
40
|
+
Project-URL: Source, https://github.com/refeyn/QuickGraphLib
|
|
41
|
+
Requires-Dist: PySide6
|
|
42
|
+
Requires-Dist: contourpy
|
|
43
|
+
Requires-Dist: black; extra == "analyse"
|
|
44
|
+
Requires-Dist: pylint; extra == "analyse"
|
|
45
|
+
Requires-Dist: mypy; extra == "analyse"
|
|
46
|
+
Requires-Dist: pre-commit; extra == "analyse"
|
|
47
|
+
Requires-Dist: lxml; extra == "analyse"
|
|
48
|
+
Requires-Dist: pytest; extra == "analyse"
|
|
49
|
+
Requires-Dist: pytest-cov; extra == "analyse"
|
|
50
|
+
Requires-Dist: scikit-build-core; extra == "analyse"
|
|
51
|
+
Requires-Dist: shiboken6_generator==6.5.3; extra == "analyse"
|
|
52
|
+
Requires-Dist: PySide6==6.5.3; extra == "analyse"
|
|
53
|
+
Requires-Dist: setuptools_scm; extra == "analyse"
|
|
54
|
+
Provides-Extra: analyse
|
|
55
|
+
Description-Content-Type: text/markdown
|
|
56
|
+
|
|
57
|
+
# QuickGraphLib
|
|
58
|
+
|
|
59
|
+
A scientific graphing library for [QtQuick](https://doc.qt.io/qt-6/qtquick-index.html) using Qt6.
|
|
60
|
+
|
|
61
|
+
Links:
|
|
62
|
+
- [Online documentation](https://refeyn.github.io/QuickGraphLib)
|
|
63
|
+
- [PyPI page](https://pypi.org/project/QuickGraphLib/)
|
|
64
|
+
|
|
65
|
+
Key advantages:
|
|
66
|
+
|
|
67
|
+
- Written in C++ and QML (with some optional Python helpers), so it can be used in both C++ and Python projects
|
|
68
|
+
- QtQuick's hardware-based rendering makes this library render very fast
|
|
69
|
+
- Support for line graphs, histograms, contour plots and more
|
|
70
|
+
- Interactivity supported natively though declarative bindings and QtQuick
|
|
71
|
+
- Support for PNG and SVG export
|
|
72
|
+
|
|
73
|
+
## Examples
|
|
74
|
+
|
|
75
|
+
The example gallery can be run using (provided the Python environment has [PySide6](https://pypi.org/project/PySide6/) and [contourpy](https://pypi.org/project/contourpy/) installed):
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
python examples\gallery.py
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
<p align="center"><img src="https://github.com/refeyn/QuickGraphLib/assets/103422031/56fdff62-ef77-4184-9f43-59a76b92d728" width="80%"></p>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import QtQuick
|
|
5
|
+
|
|
6
|
+
/*!
|
|
7
|
+
\qmltype AntialiasingContainer
|
|
8
|
+
\inqmlmodule QuickGraphLib
|
|
9
|
+
\inherits QtQuick::Item
|
|
10
|
+
\brief Enables antialiasing for it's contents.
|
|
11
|
+
|
|
12
|
+
This item turns on \l {Multisample Antialiasing}. This helps with rendering in some cases.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
Item {
|
|
16
|
+
id: root
|
|
17
|
+
|
|
18
|
+
/*!
|
|
19
|
+
Whether MSAA antialiasing is enabled. This can help with rendering when the target display has a
|
|
20
|
+
fractional scaling factor. It can also make rendering worse, especially with text.
|
|
21
|
+
*/
|
|
22
|
+
property alias antialiasingEnabled: root.layer.enabled
|
|
23
|
+
|
|
24
|
+
implicitHeight: 100
|
|
25
|
+
implicitWidth: 100
|
|
26
|
+
layer.enabled: false //
|
|
27
|
+
layer.samples: 2
|
|
28
|
+
}
|
|
@@ -24,14 +24,19 @@ Item {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/*!
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
Must be assigned the data transform of the graph area this axis is paired to.
|
|
28
|
+
|
|
29
|
+
\sa GraphArea::dataTransform
|
|
29
30
|
*/
|
|
30
31
|
property alias dataTransform: helper.dataTransform
|
|
31
|
-
/*!
|
|
32
|
-
|
|
33
|
-
/*! TODO
|
|
32
|
+
/*!
|
|
33
|
+
Number of decimal points the ticks should show.
|
|
34
34
|
|
|
35
|
+
\sa TickLabel::decimalPoints
|
|
36
|
+
*/
|
|
37
|
+
property int decimalPoints: 2
|
|
38
|
+
/*!
|
|
39
|
+
The side of the graph the Axis is on. It can take one of the following values:
|
|
35
40
|
|
|
36
41
|
\value Axis.Direction.Left Axis to the left of the GraphArea
|
|
37
42
|
\value Axis.Direction.Right Axis to the right of the GraphArea
|
|
@@ -39,34 +44,67 @@ Item {
|
|
|
39
44
|
\value Axis.Direction.Bottom Axis below of the GraphArea
|
|
40
45
|
*/
|
|
41
46
|
property alias direction: helper.direction
|
|
42
|
-
/*!
|
|
47
|
+
/*!
|
|
48
|
+
The label text for this axis. Alias of \c labelItem.text.
|
|
49
|
+
*/
|
|
43
50
|
property alias label: labelText.text
|
|
44
|
-
/*!
|
|
51
|
+
/*!
|
|
52
|
+
The color of the label. Alias of \c labelItem.color.
|
|
53
|
+
*/
|
|
45
54
|
property alias labelColor: labelText.color
|
|
46
|
-
/*!
|
|
55
|
+
/*!
|
|
56
|
+
The font of the label. Alias of \c labelItem.font.
|
|
57
|
+
*/
|
|
47
58
|
property alias labelFont: labelText.font
|
|
48
|
-
/*!
|
|
59
|
+
/*!
|
|
60
|
+
The axis label (a \l Text).
|
|
61
|
+
*/
|
|
62
|
+
property alias labelItem: labelText
|
|
63
|
+
/*!
|
|
64
|
+
Whether to show a label for each tick.
|
|
65
|
+
*/
|
|
49
66
|
property bool showTickLabels: true
|
|
50
|
-
/*!
|
|
67
|
+
/*!
|
|
68
|
+
Spacing between the axis label and the tick labels.
|
|
69
|
+
*/
|
|
51
70
|
property double spacing: 4
|
|
52
|
-
/*!
|
|
71
|
+
/*!
|
|
72
|
+
Color of the axis spine and ticks.
|
|
73
|
+
*/
|
|
53
74
|
property alias strokeColor: myPath.strokeColor
|
|
54
|
-
/*!
|
|
75
|
+
/*!
|
|
76
|
+
Width of the axis spine and ticks.
|
|
77
|
+
*/
|
|
55
78
|
property alias strokeWidth: myPath.strokeWidth
|
|
56
|
-
/*!
|
|
79
|
+
/*!
|
|
80
|
+
The component used for rendering tick labels. If overridden,
|
|
81
|
+
the \c color, \c decimalPoints, \c direction, and \c font properties
|
|
82
|
+
of the component should be set explicitly. To get proper positioning,
|
|
83
|
+
it is recommended that \l TickLabel or a subclass is used.
|
|
84
|
+
*/
|
|
57
85
|
property Component tickDelegate: TickLabel {
|
|
58
|
-
color: root.
|
|
86
|
+
color: root.tickLabelColor
|
|
59
87
|
decimalPoints: root.decimalPoints
|
|
60
88
|
direction: root.direction
|
|
61
|
-
font: root.
|
|
89
|
+
font: root.tickLabelFont
|
|
62
90
|
}
|
|
63
|
-
/*!
|
|
91
|
+
/*!
|
|
92
|
+
The color of the tick labels.
|
|
93
|
+
*/
|
|
64
94
|
property color tickLabelColor: labelColor
|
|
65
|
-
/*!
|
|
95
|
+
/*!
|
|
96
|
+
The font of the tick labels.
|
|
97
|
+
*/
|
|
66
98
|
property font tickLabelFont: labelFont
|
|
67
|
-
/*!
|
|
99
|
+
/*!
|
|
100
|
+
The length of each tick.
|
|
101
|
+
*/
|
|
68
102
|
property alias tickLength: helper.tickLength
|
|
69
|
-
/*!
|
|
103
|
+
/*!
|
|
104
|
+
The position of each tick. This should be a list of doubles in data coordinates.
|
|
105
|
+
|
|
106
|
+
\sa Helpers::range, Helpers::linspace, Grid::xTicks, Grid::yTicks
|
|
107
|
+
*/
|
|
70
108
|
property alias ticks: helper.ticks
|
|
71
109
|
|
|
72
110
|
implicitHeight: {
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
set(QGL_QML_FILES
|
|
5
|
+
AntialiasingContainer.qml
|
|
6
|
+
Axis.qml
|
|
7
|
+
GraphArea.qml
|
|
8
|
+
ScalingContainer.qml
|
|
9
|
+
ZoomPanHandler.qml
|
|
10
|
+
TickLabel.qml
|
|
11
|
+
ShapeRepeater.qml
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
add_library(QuickGraphLibPlugin SHARED Plugin.cpp)
|
|
15
|
+
target_link_libraries(QuickGraphLibPlugin PRIVATE Qt6::Gui)
|
|
16
|
+
qt_add_qml_module(QuickGraphLib
|
|
17
|
+
URI QuickGraphLib
|
|
18
|
+
SHARED
|
|
19
|
+
VERSION 1.0
|
|
20
|
+
QML_FILES ${QGL_QML_FILES}
|
|
21
|
+
PLUGIN_TARGET QuickGraphLibPlugin
|
|
22
|
+
NO_GENERATE_PLUGIN_SOURCE
|
|
23
|
+
NO_PLUGIN_OPTIONAL
|
|
24
|
+
DEPENDENCIES QtQuick
|
|
25
|
+
SOURCES
|
|
26
|
+
helpers/Helpers.cpp helpers/Helpers.hpp helpers/AxisHelper.hpp helpers/AxisHelper.cpp helpers/Foreign.hpp
|
|
27
|
+
ImageView.hpp ImageView.cpp ColorMaps.hpp ColorMaps.cpp DataTypes.hpp DataTypes.cpp bindings/Bindings.hpp QuickGraphLib.hpp
|
|
28
|
+
)
|
|
29
|
+
set_property(
|
|
30
|
+
TARGET QuickGraphLib
|
|
31
|
+
PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
32
|
+
)
|
|
33
|
+
set_property(
|
|
34
|
+
TARGET QuickGraphLib
|
|
35
|
+
PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
target_compile_definitions(
|
|
39
|
+
QuickGraphLib
|
|
40
|
+
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>
|
|
41
|
+
)
|
|
42
|
+
target_link_libraries(QuickGraphLib PRIVATE Qt6::Quick Qt6::Svg)
|
|
43
|
+
target_include_directories(
|
|
44
|
+
QuickGraphLib
|
|
45
|
+
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/helpers
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
set(QGL_PYTHON_FILES
|
|
49
|
+
__init__.py
|
|
50
|
+
consts.py
|
|
51
|
+
contours.py
|
|
52
|
+
py.typed
|
|
53
|
+
_version.py
|
|
54
|
+
)
|
|
55
|
+
foreach(PYTHON_FILE ${QGL_PYTHON_FILES})
|
|
56
|
+
add_custom_command(
|
|
57
|
+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PYTHON_FILE}
|
|
58
|
+
COMMAND
|
|
59
|
+
${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${PYTHON_FILE}
|
|
60
|
+
${CMAKE_CURRENT_BINARY_DIR}/${PYTHON_FILE}
|
|
61
|
+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PYTHON_FILE}
|
|
62
|
+
)
|
|
63
|
+
endforeach()
|
|
64
|
+
list(TRANSFORM QGL_PYTHON_FILES PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
|
65
|
+
add_custom_target(QuickGraphLibPythonFiles ALL DEPENDS ${QGL_PYTHON_FILES})
|
|
66
|
+
|
|
67
|
+
install(
|
|
68
|
+
TARGETS QuickGraphLib
|
|
69
|
+
RUNTIME DESTINATION ${INSTALL_SUBPATH}/QuickGraphLib
|
|
70
|
+
)
|
|
71
|
+
install(
|
|
72
|
+
TARGETS QuickGraphLibPlugin
|
|
73
|
+
RUNTIME DESTINATION ${INSTALL_SUBPATH}/QuickGraphLib
|
|
74
|
+
)
|
|
75
|
+
install(FILES ${QGL_QML_FILES} DESTINATION ${INSTALL_SUBPATH}/QuickGraphLib)
|
|
76
|
+
install(
|
|
77
|
+
FILES
|
|
78
|
+
${CMAKE_CURRENT_BINARY_DIR}/qmldir
|
|
79
|
+
${CMAKE_CURRENT_BINARY_DIR}/QuickGraphLib.qmltypes
|
|
80
|
+
DESTINATION ${INSTALL_SUBPATH}/QuickGraphLib
|
|
81
|
+
)
|
|
82
|
+
install(FILES ${QGL_PYTHON_FILES} DESTINATION ${INSTALL_SUBPATH}/QuickGraphLib)
|
|
83
|
+
|
|
84
|
+
add_subdirectory(PreFabs)
|
|
85
|
+
add_subdirectory(GraphItems)
|
|
86
|
+
add_subdirectory(bindings)
|