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.
Files changed (169) hide show
  1. quickgraphlib-0.1.0a7/.clang-format +7 -0
  2. quickgraphlib-0.1.0a7/.gitignore +9 -0
  3. quickgraphlib-0.1.0a7/.pre-commit-config.yaml +52 -0
  4. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/CMakeLists.txt +7 -3
  5. {quickgraphlib-0.1.0a5/QuickGraphLib.egg-info → quickgraphlib-0.1.0a7}/PKG-INFO +81 -78
  6. quickgraphlib-0.1.0a7/QuickGraphLib/AntialiasingContainer.qml +28 -0
  7. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/Axis.qml +57 -19
  8. quickgraphlib-0.1.0a7/QuickGraphLib/CMakeLists.txt +86 -0
  9. quickgraphlib-0.1.0a7/QuickGraphLib/ColorMaps.cpp +630 -0
  10. quickgraphlib-0.1.0a7/QuickGraphLib/ColorMaps.hpp +22 -0
  11. quickgraphlib-0.1.0a7/QuickGraphLib/DataTypes.cpp +68 -0
  12. quickgraphlib-0.1.0a7/QuickGraphLib/DataTypes.hpp +33 -0
  13. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphArea.qml +30 -5
  14. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxHLine.qml +13 -3
  15. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxHSpan.qml +16 -4
  16. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxVLine.qml +13 -3
  17. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/AxVSpan.qml +16 -4
  18. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/BasicLegend.qml +6 -2
  19. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/BasicLegendItem.qml +21 -7
  20. quickgraphlib-0.1.0a7/QuickGraphLib/GraphItems/CMakeLists.txt +54 -0
  21. quickgraphlib-0.1.0a7/QuickGraphLib/GraphItems/ColorMesh.qml +37 -0
  22. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Contour.qml +7 -2
  23. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/GraphItemDragHandler.qml +11 -2
  24. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Grid.qml +20 -4
  25. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Histogram.qml +16 -4
  26. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Line.qml +3 -6
  27. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/Marker.qml +8 -2
  28. quickgraphlib-0.1.0a7/QuickGraphLib/ImageView.cpp +506 -0
  29. quickgraphlib-0.1.0a7/QuickGraphLib/ImageView.hpp +126 -0
  30. quickgraphlib-0.1.0a7/QuickGraphLib/Plugin.cpp +23 -0
  31. quickgraphlib-0.1.0a7/QuickGraphLib/PreFabs/CMakeLists.txt +34 -0
  32. quickgraphlib-0.1.0a7/QuickGraphLib/PreFabs/ImageAxes.qml +193 -0
  33. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/PreFabs/XYAxes.qml +59 -14
  34. quickgraphlib-0.1.0a7/QuickGraphLib/QuickGraphLib.hpp +6 -0
  35. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/ScalingContainer.qml +12 -4
  36. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/ShapeRepeater.qml +3 -0
  37. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/TickLabel.qml +17 -6
  38. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/ZoomPanHandler.qml +22 -6
  39. quickgraphlib-0.1.0a7/QuickGraphLib/__init__.py +27 -0
  40. quickgraphlib-0.1.0a7/QuickGraphLib/_version.py +16 -0
  41. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/Bindings.hpp +6 -0
  42. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/Bindings.xml +29 -0
  43. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/CMakeLists.txt +174 -0
  44. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/ShibokenHelpers.cpp +97 -0
  45. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/ShibokenHelpers.hpp +13 -0
  46. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/glue/DataTypes.cpp +12 -0
  47. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/pyigen.py +42 -0
  48. quickgraphlib-0.1.0a7/QuickGraphLib/bindings/pyside_config.py +416 -0
  49. {quickgraphlib-0.1.0a5/quickgraphlib_helpers → quickgraphlib-0.1.0a7/QuickGraphLib}/contours.py +8 -9
  50. quickgraphlib-0.1.0a7/QuickGraphLib/doc/AxesGridLayout.drawio +49 -0
  51. quickgraphlib-0.1.0a7/QuickGraphLib/doc/export.qdoc +47 -0
  52. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/index.qdoc +4 -2
  53. quickgraphlib-0.1.0a7/QuickGraphLib/doc/module-cpp.qdoc +40 -0
  54. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/python_helpers.qdoc +2 -2
  55. quickgraphlib-0.1.0a7/QuickGraphLib/helpers/Foreign.hpp +30 -0
  56. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/Helpers.cpp +85 -24
  57. quickgraphlib-0.1.0a7/activate_venv.ps1 +1 -0
  58. quickgraphlib-0.1.0a7/ci/find_qt.py +10 -0
  59. quickgraphlib-0.1.0a7/ci/setup_qt.py +47 -0
  60. quickgraphlib-0.1.0a7/docs/build_docs.py +73 -0
  61. quickgraphlib-0.1.0a7/docs/config.qdocconf +49 -0
  62. quickgraphlib-0.1.0a7/docs/style.css +186 -0
  63. quickgraphlib-0.1.0a7/examples/BuiltinColormaps.png +0 -0
  64. quickgraphlib-0.1.0a7/examples/BuiltinColormaps.qdoc +13 -0
  65. quickgraphlib-0.1.0a7/examples/BuiltinColormaps.qml +83 -0
  66. quickgraphlib-0.1.0a7/examples/ColorMappedImages.png +0 -0
  67. quickgraphlib-0.1.0a7/examples/ColorMappedImages.qdoc +13 -0
  68. quickgraphlib-0.1.0a7/examples/ColorMappedImages.qml +70 -0
  69. quickgraphlib-0.1.0a7/examples/ColorMesh.png +0 -0
  70. quickgraphlib-0.1.0a7/examples/ColorMesh.qdoc +13 -0
  71. quickgraphlib-0.1.0a7/examples/ColorMesh.qml +13 -0
  72. quickgraphlib-0.1.0a7/examples/Conway.png +0 -0
  73. quickgraphlib-0.1.0a7/examples/Conway.qdoc +16 -0
  74. quickgraphlib-0.1.0a7/examples/Conway.qml +178 -0
  75. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DarkSinGraph.qml +4 -0
  76. quickgraphlib-0.1.0a7/examples/ExampleGallery.png +0 -0
  77. quickgraphlib-0.1.0a7/examples/ImageAlignment.png +0 -0
  78. quickgraphlib-0.1.0a7/examples/ImageAlignment.qdoc +13 -0
  79. quickgraphlib-0.1.0a7/examples/ImageAlignment.qml +102 -0
  80. quickgraphlib-0.1.0a7/examples/conway.py +243 -0
  81. quickgraphlib-0.1.0a7/examples/gallery.py +46 -0
  82. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/pyproject.toml +27 -9
  83. quickgraphlib-0.1.0a7/requirements.txt +47 -0
  84. quickgraphlib-0.1.0a7/setup.cfg +2 -0
  85. quickgraphlib-0.1.0a7/setup_venv.ps1 +4 -0
  86. quickgraphlib-0.1.0a5/MANIFEST.in +0 -4
  87. quickgraphlib-0.1.0a5/PKG-INFO +0 -78
  88. quickgraphlib-0.1.0a5/QuickGraphLib/AntialiasingContainer.qml +0 -18
  89. quickgraphlib-0.1.0a5/QuickGraphLib/CMakeLists.txt +0 -27
  90. quickgraphlib-0.1.0a5/QuickGraphLib/GraphItems/CMakeLists.txt +0 -27
  91. quickgraphlib-0.1.0a5/QuickGraphLib/PreFabs/CMakeLists.txt +0 -21
  92. quickgraphlib-0.1.0a5/QuickGraphLib/doc/export.qdoc +0 -24
  93. quickgraphlib-0.1.0a5/QuickGraphLib/helpers/Foreign.hpp +0 -13
  94. quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/SOURCES.txt +0 -114
  95. quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/dependency_links.txt +0 -1
  96. quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/requires.txt +0 -11
  97. quickgraphlib-0.1.0a5/QuickGraphLib.egg-info/top_level.txt +0 -2
  98. quickgraphlib-0.1.0a5/examples/ExampleGallery.png +0 -0
  99. quickgraphlib-0.1.0a5/quickgraphlib_helpers/__init__.py +0 -8
  100. quickgraphlib-0.1.0a5/setup.cfg +0 -7
  101. quickgraphlib-0.1.0a5/setup.py +0 -74
  102. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/LICENCE +0 -0
  103. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/GridHelper.cpp +0 -0
  104. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/GridHelper.hpp +0 -0
  105. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/HistogramHelper.cpp +0 -0
  106. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/GraphItems/helpers/HistogramHelper.hpp +0 -0
  107. {quickgraphlib-0.1.0a5/quickgraphlib_helpers → quickgraphlib-0.1.0a7/QuickGraphLib}/consts.py +0 -0
  108. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/AxesGridLayout.svg +0 -0
  109. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/graphitems.qdoc +0 -0
  110. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/graphstructure.qdoc +0 -0
  111. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/interaction.qdoc +0 -0
  112. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/module.qdoc +0 -0
  113. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/doc/prefabs.qdoc +0 -0
  114. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/AxisHelper.cpp +0 -0
  115. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/AxisHelper.hpp +0 -0
  116. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/QuickGraphLib/helpers/Helpers.hpp +0 -0
  117. {quickgraphlib-0.1.0a5/quickgraphlib_helpers → quickgraphlib-0.1.0a7/QuickGraphLib}/py.typed +0 -0
  118. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/README.md +0 -0
  119. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/AllTheAxes.png +0 -0
  120. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/AllTheAxes.qdoc +0 -0
  121. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/AllTheAxes.qml +0 -0
  122. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicHistogram.png +0 -0
  123. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicHistogram.qdoc +0 -0
  124. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicHistogram.qml +0 -0
  125. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraph.png +0 -0
  126. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraph.qdoc +0 -0
  127. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraph.qml +0 -0
  128. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraphNoPrefabs.png +0 -0
  129. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraphNoPrefabs.qdoc +0 -0
  130. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/BasicSinGraphNoPrefabs.qml +0 -0
  131. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Complex.png +0 -0
  132. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Complex.qdoc +0 -0
  133. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Complex.qml +0 -0
  134. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Contours.png +0 -0
  135. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Contours.qdoc +0 -0
  136. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Contours.qml +0 -0
  137. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DarkSinGraph.png +0 -0
  138. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DarkSinGraph.qdoc +0 -0
  139. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DraggableRegion.png +0 -0
  140. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DraggableRegion.qdoc +0 -0
  141. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/DraggableRegion.qml +0 -0
  142. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ExampleGallery.qml +0 -0
  143. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/InvertedAxes.png +0 -0
  144. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/InvertedAxes.qdoc +0 -0
  145. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/InvertedAxes.qml +0 -0
  146. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ReadoutLine.png +0 -0
  147. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ReadoutLine.qdoc +0 -0
  148. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ReadoutLine.qml +0 -0
  149. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ScalingGraph.png +0 -0
  150. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ScalingGraph.qdoc +0 -0
  151. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ScalingGraph.qml +0 -0
  152. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Scatter.png +0 -0
  153. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Scatter.qdoc +0 -0
  154. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Scatter.qml +0 -0
  155. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/SpansAndLines.png +0 -0
  156. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/SpansAndLines.qdoc +0 -0
  157. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/SpansAndLines.qml +0 -0
  158. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Subgraphs.png +0 -0
  159. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Subgraphs.qdoc +0 -0
  160. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/Subgraphs.qml +0 -0
  161. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/TwinX.png +0 -0
  162. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/TwinX.qdoc +0 -0
  163. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/TwinX.qml +0 -0
  164. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAsImage.png +0 -0
  165. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAsImage.qdoc +0 -0
  166. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAsImage.qml +0 -0
  167. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAxes.png +0 -0
  168. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAxes.qdoc +0 -0
  169. {quickgraphlib-0.1.0a5 → quickgraphlib-0.1.0a7}/examples/ZoomableAxes.qml +0 -0
@@ -0,0 +1,7 @@
1
+ BasedOnStyle: Google
2
+ IndentWidth: 4
3
+ ColumnLimit: 120
4
+ AlignAfterOpenBracket: BlockIndent
5
+ BreakBeforeBraces: Custom
6
+ BraceWrapping:
7
+ BeforeElse: true
@@ -0,0 +1,9 @@
1
+ *.qml~
2
+ .mypy_cache
3
+ __pycache__
4
+ venv
5
+ dist
6
+ *.egg-info
7
+ aqtinstall.log
8
+ qt
9
+ QuickGraphLib/_version.py
@@ -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(qmlmodule VERSION 1.0.0 LANGUAGES CXX)
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 -Werror -fno-visibility-inlines-hidden)
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 ${CMAKE_INSTALL_LIBDIR}/qml CACHE STRING "Install subpath (defaults to lib/qml)")
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.0a5
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
- Project-URL: Homepage, https://github.com/refeyn/QuickGraphLib
28
- Project-URL: Issues, https://github.com/refeyn/QuickGraphLib/issues
29
- Project-URL: Documentation, https://refeyn.github.io/QuickGraphLib
30
- Project-URL: Source, https://github.com/refeyn/QuickGraphLib
31
- Classifier: Development Status :: 3 - Alpha
32
- Classifier: Environment :: X11 Applications :: Qt
33
- Classifier: Intended Audience :: Science/Research
34
- Classifier: License :: OSI Approved :: MIT License
35
- Classifier: Operating System :: OS Independent
36
- Classifier: Programming Language :: Python
37
- Classifier: Topic :: Multimedia :: Graphics :: Presentation
38
- Classifier: Topic :: Scientific/Engineering :: Visualization
39
- Classifier: Topic :: Software Development :: User Interfaces
40
- Classifier: Typing :: Typed
41
- Description-Content-Type: text/markdown
42
- License-File: LICENCE
43
- Requires-Dist: PySide6
44
- Requires-Dist: contourpy
45
- Provides-Extra: analyse
46
- Requires-Dist: black; extra == "analyse"
47
- Requires-Dist: pylint; extra == "analyse"
48
- Requires-Dist: mypy; extra == "analyse"
49
- Requires-Dist: pre-commit; extra == "analyse"
50
- Requires-Dist: lxml; extra == "analyse"
51
- Requires-Dist: pytest; extra == "analyse"
52
- Requires-Dist: pytest-cov; extra == "analyse"
53
-
54
- # QuickGraphLib
55
-
56
- A scientific graphing library for [QtQuick](https://doc.qt.io/qt-6/qtquick-index.html) using Qt6.
57
-
58
- Links:
59
- - [Online documentation](https://refeyn.github.io/QuickGraphLib)
60
- - [PyPI page](https://pypi.org/project/QuickGraphLib/)
61
-
62
- Key advantages:
63
-
64
- - Written in C++ and QML (with some optional Python helpers), so it can be used in both C++ and Python projects
65
- - QtQuick's hardware-based rendering makes this library render very fast
66
- - Support for line graphs, histograms, contour plots and more
67
- - Interactivity supported natively though declarative bindings and QtQuick
68
- - Support for PNG and SVG export
69
-
70
- ## Examples
71
-
72
- 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):
73
-
74
- ```bash
75
- python examples\gallery.py
76
- ```
77
-
78
- <p align="center"><img src="https://github.com/refeyn/QuickGraphLib/assets/103422031/56fdff62-ef77-4184-9f43-59a76b92d728" width="80%"></p>
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
- TODO
28
- \sa {GraphArea::dataTransform}
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
- /*! TODO */
32
- property int decimalPoints: 2
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
- /*! TODO */
47
+ /*!
48
+ The label text for this axis. Alias of \c labelItem.text.
49
+ */
43
50
  property alias label: labelText.text
44
- /*! TODO */
51
+ /*!
52
+ The color of the label. Alias of \c labelItem.color.
53
+ */
45
54
  property alias labelColor: labelText.color
46
- /*! TODO */
55
+ /*!
56
+ The font of the label. Alias of \c labelItem.font.
57
+ */
47
58
  property alias labelFont: labelText.font
48
- /*! TODO */
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
- /*! TODO */
67
+ /*!
68
+ Spacing between the axis label and the tick labels.
69
+ */
51
70
  property double spacing: 4
52
- /*! TODO */
71
+ /*!
72
+ Color of the axis spine and ticks.
73
+ */
53
74
  property alias strokeColor: myPath.strokeColor
54
- /*! TODO */
75
+ /*!
76
+ Width of the axis spine and ticks.
77
+ */
55
78
  property alias strokeWidth: myPath.strokeWidth
56
- /*! TODO */
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.labelColor
86
+ color: root.tickLabelColor
59
87
  decimalPoints: root.decimalPoints
60
88
  direction: root.direction
61
- font: root.labelFont
89
+ font: root.tickLabelFont
62
90
  }
63
- /*! TODO */
91
+ /*!
92
+ The color of the tick labels.
93
+ */
64
94
  property color tickLabelColor: labelColor
65
- /*! TODO */
95
+ /*!
96
+ The font of the tick labels.
97
+ */
66
98
  property font tickLabelFont: labelFont
67
- /*! TODO */
99
+ /*!
100
+ The length of each tick.
101
+ */
68
102
  property alias tickLength: helper.tickLength
69
- /*! TODO */
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)