QuickGraphLib 0.1.0a9__tar.gz → 0.1.0a10__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 (315) hide show
  1. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/CMakeLists.txt +2 -0
  2. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/PKG-INFO +2 -2
  3. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/AntialiasingContainer.qml +8 -1
  4. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/Axis.qml +11 -0
  5. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/CMakeLists.txt +3 -0
  6. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/DataTypes.hpp +7 -5
  7. quickgraphlib-0.1.0a10/QuickGraphLib/Global.hpp +12 -0
  8. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphArea.qml +11 -2
  9. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/AxHLine.qml +1 -0
  10. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/AxHSpan.qml +1 -0
  11. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/AxVLine.qml +1 -0
  12. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/AxVSpan.qml +1 -0
  13. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/CMakeLists.txt +0 -1
  14. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/Contour.qml +1 -0
  15. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/Grid.qml +1 -0
  16. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/Histogram.qml +6 -0
  17. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/Line.qml +1 -0
  18. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/PreFabs/ImageAxes.qml +2 -2
  19. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/PreFabs/XYAxes.qml +29 -5
  20. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/QuickGraphLib.hpp +1 -0
  21. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/ScalingContainer.qml +2 -2
  22. quickgraphlib-0.1.0a10/QuickGraphLib/ShapeRepeater.qml +56 -0
  23. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/__init__.py +1 -0
  24. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/_version.py +1 -1
  25. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/Bindings.hpp +1 -0
  26. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/Bindings.xml +2 -0
  27. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/CMakeLists.txt +47 -12
  28. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/pyigen.py +3 -2
  29. quickgraphlib-0.1.0a10/QuickGraphLib/bindings/qtqml.rst +16 -0
  30. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/helpers/AxisHelper.cpp +8 -0
  31. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/helpers/Helpers.cpp +92 -9
  32. quickgraphlib-0.1.0a10/QuickGraphLib/helpers/Helpers.hpp +26 -0
  33. quickgraphlib-0.1.0a10/QuickGraphLib/helpers/ShapeRepeaterHelper.cpp +72 -0
  34. quickgraphlib-0.1.0a10/QuickGraphLib/helpers/ShapeRepeaterHelper.hpp +17 -0
  35. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/README.md +1 -1
  36. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/docs/style.css +1 -1
  37. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/AllTheAxes.qml +1 -1
  38. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicSinGraphNoPrefabs.qml +1 -1
  39. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Complex.qml +15 -15
  40. quickgraphlib-0.1.0a10/examples/ExampleGallery.png +0 -0
  41. quickgraphlib-0.1.0a10/examples/PeakButtons.png +0 -0
  42. quickgraphlib-0.1.0a10/examples/PeakButtons.qdoc +15 -0
  43. quickgraphlib-0.1.0a10/examples/PeakButtons.qml +71 -0
  44. quickgraphlib-0.1.0a10/examples/Scatter.png +0 -0
  45. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/TwinX.qml +1 -1
  46. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/requirements.txt +1 -1
  47. quickgraphlib-0.1.0a10/tests/python_exporter.py +78 -0
  48. quickgraphlib-0.1.0a10/tests/reference_images/AllTheAxes.dat +0 -0
  49. quickgraphlib-0.1.0a10/tests/reference_images/AllTheAxes.png +0 -0
  50. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/AllTheAxes.svg +124 -124
  51. quickgraphlib-0.1.0a10/tests/reference_images/AllTheAxes_grab.png +0 -0
  52. quickgraphlib-0.1.0a10/tests/reference_images/BasicHistogram.dat +0 -0
  53. quickgraphlib-0.1.0a10/tests/reference_images/BasicHistogram.png +0 -0
  54. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BasicHistogram.svg +56 -56
  55. quickgraphlib-0.1.0a10/tests/reference_images/BasicHistogram_grab.png +0 -0
  56. quickgraphlib-0.1.0a10/tests/reference_images/BasicSinGraph.dat +0 -0
  57. quickgraphlib-0.1.0a10/tests/reference_images/BasicSinGraph.png +0 -0
  58. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BasicSinGraph.svg +53 -53
  59. quickgraphlib-0.1.0a10/tests/reference_images/BasicSinGraphNoPrefabs.dat +0 -0
  60. quickgraphlib-0.1.0a10/tests/reference_images/BasicSinGraphNoPrefabs.png +0 -0
  61. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BasicSinGraphNoPrefabs.svg +53 -53
  62. quickgraphlib-0.1.0a10/tests/reference_images/BasicSinGraphNoPrefabs_grab.png +0 -0
  63. quickgraphlib-0.1.0a10/tests/reference_images/BasicSinGraph_grab.png +0 -0
  64. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BuiltinColormaps.dat +0 -0
  65. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ColorMappedImages.dat +0 -0
  66. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ColorMesh.dat +0 -0
  67. quickgraphlib-0.1.0a10/tests/reference_images/ColorMesh.png +0 -0
  68. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ColorMesh.svg +72 -72
  69. quickgraphlib-0.1.0a10/tests/reference_images/ColorMesh_grab.png +0 -0
  70. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Complex.dat +0 -0
  71. quickgraphlib-0.1.0a10/tests/reference_images/Complex.png +0 -0
  72. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Complex.svg +62 -62
  73. quickgraphlib-0.1.0a10/tests/reference_images/Complex_grab.png +0 -0
  74. quickgraphlib-0.1.0a10/tests/reference_images/Contours.dat +0 -0
  75. quickgraphlib-0.1.0a10/tests/reference_images/Contours.png +0 -0
  76. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Contours.svg +56 -56
  77. quickgraphlib-0.1.0a10/tests/reference_images/Contours_grab.png +0 -0
  78. quickgraphlib-0.1.0a10/tests/reference_images/Conway.dat +0 -0
  79. quickgraphlib-0.1.0a10/tests/reference_images/DarkSinGraph.dat +0 -0
  80. quickgraphlib-0.1.0a10/tests/reference_images/DarkSinGraph.png +0 -0
  81. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/DarkSinGraph.svg +53 -53
  82. quickgraphlib-0.1.0a10/tests/reference_images/DarkSinGraph_grab.png +0 -0
  83. quickgraphlib-0.1.0a10/tests/reference_images/DraggableRegion.dat +0 -0
  84. quickgraphlib-0.1.0a10/tests/reference_images/DraggableRegion.png +0 -0
  85. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/DraggableRegion.svg +56 -56
  86. quickgraphlib-0.1.0a10/tests/reference_images/DraggableRegion_grab.png +0 -0
  87. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ImageAlignment.dat +0 -0
  88. quickgraphlib-0.1.0a10/tests/reference_images/InvertedAxes.dat +0 -0
  89. quickgraphlib-0.1.0a10/tests/reference_images/InvertedAxes.png +0 -0
  90. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/InvertedAxes.svg +68 -68
  91. quickgraphlib-0.1.0a10/tests/reference_images/InvertedAxes_grab.png +0 -0
  92. quickgraphlib-0.1.0a10/tests/reference_images/PeakButtons.dat +0 -0
  93. quickgraphlib-0.1.0a10/tests/reference_images/PeakButtons.png +0 -0
  94. quickgraphlib-0.1.0a10/tests/reference_images/PeakButtons.svg +833 -0
  95. quickgraphlib-0.1.0a10/tests/reference_images/PeakButtons_grab.png +0 -0
  96. quickgraphlib-0.1.0a10/tests/reference_images/ReadoutLine.dat +0 -0
  97. quickgraphlib-0.1.0a10/tests/reference_images/ReadoutLine.png +0 -0
  98. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ReadoutLine.svg +47 -47
  99. quickgraphlib-0.1.0a10/tests/reference_images/ReadoutLine_grab.png +0 -0
  100. quickgraphlib-0.1.0a10/tests/reference_images/ScalingGraph.dat +0 -0
  101. quickgraphlib-0.1.0a10/tests/reference_images/ScalingGraph.png +0 -0
  102. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ScalingGraph.svg +68 -68
  103. quickgraphlib-0.1.0a10/tests/reference_images/ScalingGraph_grab.png +0 -0
  104. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Scatter.dat +0 -0
  105. quickgraphlib-0.1.0a10/tests/reference_images/Scatter.png +0 -0
  106. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Scatter.svg +59 -59
  107. quickgraphlib-0.1.0a10/tests/reference_images/Scatter_grab.png +0 -0
  108. quickgraphlib-0.1.0a10/tests/reference_images/SpansAndLines.dat +0 -0
  109. quickgraphlib-0.1.0a10/tests/reference_images/SpansAndLines.png +0 -0
  110. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/SpansAndLines.svg +68 -68
  111. quickgraphlib-0.1.0a10/tests/reference_images/SpansAndLines_grab.png +0 -0
  112. quickgraphlib-0.1.0a10/tests/reference_images/Subgraphs.dat +0 -0
  113. quickgraphlib-0.1.0a10/tests/reference_images/Subgraphs.png +0 -0
  114. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Subgraphs.svg +110 -110
  115. quickgraphlib-0.1.0a10/tests/reference_images/Subgraphs_grab.png +0 -0
  116. quickgraphlib-0.1.0a10/tests/reference_images/TwinX.dat +0 -0
  117. quickgraphlib-0.1.0a10/tests/reference_images/TwinX.png +0 -0
  118. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/TwinX.svg +66 -66
  119. quickgraphlib-0.1.0a10/tests/reference_images/TwinX_grab.png +0 -0
  120. quickgraphlib-0.1.0a10/tests/reference_images/ZoomableAsImage.dat +0 -0
  121. quickgraphlib-0.1.0a10/tests/reference_images/ZoomableAsImage.png +0 -0
  122. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ZoomableAsImage.svg +53 -53
  123. quickgraphlib-0.1.0a10/tests/reference_images/ZoomableAsImage_grab.png +0 -0
  124. quickgraphlib-0.1.0a10/tests/reference_images/ZoomableAxes.dat +0 -0
  125. quickgraphlib-0.1.0a10/tests/reference_images/ZoomableAxes.png +0 -0
  126. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ZoomableAxes.svg +53 -53
  127. quickgraphlib-0.1.0a10/tests/reference_images/ZoomableAxes_grab.png +0 -0
  128. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/test_exports.py +60 -1
  129. quickgraphlib-0.1.0a9/QuickGraphLib/ShapeRepeater.qml +0 -27
  130. quickgraphlib-0.1.0a9/QuickGraphLib/helpers/Helpers.hpp +0 -23
  131. quickgraphlib-0.1.0a9/examples/ExampleGallery.png +0 -0
  132. quickgraphlib-0.1.0a9/examples/Scatter.png +0 -0
  133. quickgraphlib-0.1.0a9/tests/reference_images/AllTheAxes.dat +0 -0
  134. quickgraphlib-0.1.0a9/tests/reference_images/AllTheAxes.png +0 -0
  135. quickgraphlib-0.1.0a9/tests/reference_images/AllTheAxes_grab.png +0 -0
  136. quickgraphlib-0.1.0a9/tests/reference_images/BasicHistogram.dat +0 -0
  137. quickgraphlib-0.1.0a9/tests/reference_images/BasicHistogram.png +0 -0
  138. quickgraphlib-0.1.0a9/tests/reference_images/BasicHistogram_grab.png +0 -0
  139. quickgraphlib-0.1.0a9/tests/reference_images/BasicSinGraph.dat +0 -0
  140. quickgraphlib-0.1.0a9/tests/reference_images/BasicSinGraph.png +0 -0
  141. quickgraphlib-0.1.0a9/tests/reference_images/BasicSinGraphNoPrefabs.dat +0 -0
  142. quickgraphlib-0.1.0a9/tests/reference_images/BasicSinGraphNoPrefabs.png +0 -0
  143. quickgraphlib-0.1.0a9/tests/reference_images/BasicSinGraphNoPrefabs_grab.png +0 -0
  144. quickgraphlib-0.1.0a9/tests/reference_images/BasicSinGraph_grab.png +0 -0
  145. quickgraphlib-0.1.0a9/tests/reference_images/ColorMesh.png +0 -0
  146. quickgraphlib-0.1.0a9/tests/reference_images/ColorMesh_grab.png +0 -0
  147. quickgraphlib-0.1.0a9/tests/reference_images/Complex.png +0 -0
  148. quickgraphlib-0.1.0a9/tests/reference_images/Complex_grab.png +0 -0
  149. quickgraphlib-0.1.0a9/tests/reference_images/Contours.dat +0 -0
  150. quickgraphlib-0.1.0a9/tests/reference_images/Contours.png +0 -0
  151. quickgraphlib-0.1.0a9/tests/reference_images/Contours_grab.png +0 -0
  152. quickgraphlib-0.1.0a9/tests/reference_images/Conway.dat +0 -0
  153. quickgraphlib-0.1.0a9/tests/reference_images/DarkSinGraph.dat +0 -0
  154. quickgraphlib-0.1.0a9/tests/reference_images/DarkSinGraph.png +0 -0
  155. quickgraphlib-0.1.0a9/tests/reference_images/DarkSinGraph_grab.png +0 -0
  156. quickgraphlib-0.1.0a9/tests/reference_images/DraggableRegion.dat +0 -0
  157. quickgraphlib-0.1.0a9/tests/reference_images/DraggableRegion.png +0 -0
  158. quickgraphlib-0.1.0a9/tests/reference_images/DraggableRegion_grab.png +0 -0
  159. quickgraphlib-0.1.0a9/tests/reference_images/InvertedAxes.dat +0 -0
  160. quickgraphlib-0.1.0a9/tests/reference_images/InvertedAxes.png +0 -0
  161. quickgraphlib-0.1.0a9/tests/reference_images/InvertedAxes_grab.png +0 -0
  162. quickgraphlib-0.1.0a9/tests/reference_images/ReadoutLine.dat +0 -0
  163. quickgraphlib-0.1.0a9/tests/reference_images/ReadoutLine.png +0 -0
  164. quickgraphlib-0.1.0a9/tests/reference_images/ReadoutLine_grab.png +0 -0
  165. quickgraphlib-0.1.0a9/tests/reference_images/ScalingGraph.dat +0 -0
  166. quickgraphlib-0.1.0a9/tests/reference_images/ScalingGraph.png +0 -0
  167. quickgraphlib-0.1.0a9/tests/reference_images/ScalingGraph_grab.png +0 -0
  168. quickgraphlib-0.1.0a9/tests/reference_images/Scatter.png +0 -0
  169. quickgraphlib-0.1.0a9/tests/reference_images/Scatter_grab.png +0 -0
  170. quickgraphlib-0.1.0a9/tests/reference_images/SpansAndLines.dat +0 -0
  171. quickgraphlib-0.1.0a9/tests/reference_images/SpansAndLines.png +0 -0
  172. quickgraphlib-0.1.0a9/tests/reference_images/SpansAndLines_grab.png +0 -0
  173. quickgraphlib-0.1.0a9/tests/reference_images/Subgraphs.dat +0 -0
  174. quickgraphlib-0.1.0a9/tests/reference_images/Subgraphs.png +0 -0
  175. quickgraphlib-0.1.0a9/tests/reference_images/Subgraphs_grab.png +0 -0
  176. quickgraphlib-0.1.0a9/tests/reference_images/TwinX.dat +0 -0
  177. quickgraphlib-0.1.0a9/tests/reference_images/TwinX.png +0 -0
  178. quickgraphlib-0.1.0a9/tests/reference_images/TwinX_grab.png +0 -0
  179. quickgraphlib-0.1.0a9/tests/reference_images/ZoomableAsImage.dat +0 -0
  180. quickgraphlib-0.1.0a9/tests/reference_images/ZoomableAsImage.png +0 -0
  181. quickgraphlib-0.1.0a9/tests/reference_images/ZoomableAsImage_grab.png +0 -0
  182. quickgraphlib-0.1.0a9/tests/reference_images/ZoomableAxes.dat +0 -0
  183. quickgraphlib-0.1.0a9/tests/reference_images/ZoomableAxes.png +0 -0
  184. quickgraphlib-0.1.0a9/tests/reference_images/ZoomableAxes_grab.png +0 -0
  185. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/.clang-format +0 -0
  186. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/.gitignore +0 -0
  187. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/.pre-commit-config.yaml +0 -0
  188. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/LICENCE +0 -0
  189. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/ColorMaps.cpp +0 -0
  190. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/ColorMaps.hpp +0 -0
  191. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/DataTypes.cpp +0 -0
  192. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/BasicLegend.qml +0 -0
  193. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/BasicLegendItem.qml +0 -0
  194. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/ColorMesh.qml +0 -0
  195. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/GraphItemDragHandler.qml +0 -0
  196. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/Marker.qml +0 -0
  197. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/helpers/GridHelper.cpp +0 -0
  198. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/helpers/GridHelper.hpp +0 -0
  199. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/helpers/HistogramHelper.cpp +0 -0
  200. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/GraphItems/helpers/HistogramHelper.hpp +0 -0
  201. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/ImageView.cpp +0 -0
  202. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/ImageView.hpp +0 -0
  203. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/Plugin.cpp +0 -0
  204. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/PreFabs/CMakeLists.txt +0 -0
  205. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/TickLabel.qml +0 -0
  206. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/ZoomPanHandler.qml +0 -0
  207. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/ShibokenHelpers.cpp +0 -0
  208. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/ShibokenHelpers.hpp +0 -0
  209. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/bindings/glue/DataTypes.cpp +0 -0
  210. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/consts.py +0 -0
  211. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/contours.py +0 -0
  212. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/AxesGridLayout.drawio +0 -0
  213. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/AxesGridLayout.svg +0 -0
  214. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/export.qdoc +0 -0
  215. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/graphitems.qdoc +0 -0
  216. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/graphstructure.qdoc +0 -0
  217. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/index.qdoc +0 -0
  218. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/interaction.qdoc +0 -0
  219. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/module-cpp.qdoc +0 -0
  220. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/module.qdoc +0 -0
  221. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/prefabs.qdoc +0 -0
  222. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/doc/python_helpers.qdoc +0 -0
  223. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/helpers/AxisHelper.hpp +0 -0
  224. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/helpers/Foreign.hpp +0 -0
  225. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/QuickGraphLib/py.typed +0 -0
  226. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/activate_venv.ps1 +0 -0
  227. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/ci/find_qt.py +0 -0
  228. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/ci/setup_qt.py +0 -0
  229. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/docs/build_docs.py +0 -0
  230. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/docs/config.qdocconf +0 -0
  231. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/AllTheAxes.png +0 -0
  232. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/AllTheAxes.qdoc +0 -0
  233. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicHistogram.png +0 -0
  234. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicHistogram.qdoc +0 -0
  235. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicHistogram.qml +0 -0
  236. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicSinGraph.png +0 -0
  237. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicSinGraph.qdoc +0 -0
  238. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicSinGraph.qml +0 -0
  239. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicSinGraphNoPrefabs.png +0 -0
  240. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BasicSinGraphNoPrefabs.qdoc +0 -0
  241. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BuiltinColormaps.png +0 -0
  242. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BuiltinColormaps.qdoc +0 -0
  243. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/BuiltinColormaps.qml +0 -0
  244. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ColorMappedImages.png +0 -0
  245. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ColorMappedImages.qdoc +0 -0
  246. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ColorMappedImages.qml +0 -0
  247. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ColorMesh.png +0 -0
  248. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ColorMesh.qdoc +0 -0
  249. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ColorMesh.qml +0 -0
  250. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Complex.png +0 -0
  251. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Complex.qdoc +0 -0
  252. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Contours.png +0 -0
  253. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Contours.qdoc +0 -0
  254. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Contours.qml +0 -0
  255. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Conway.png +0 -0
  256. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Conway.qdoc +0 -0
  257. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Conway.qml +0 -0
  258. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/DarkSinGraph.png +0 -0
  259. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/DarkSinGraph.qdoc +0 -0
  260. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/DarkSinGraph.qml +0 -0
  261. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/DraggableRegion.png +0 -0
  262. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/DraggableRegion.qdoc +0 -0
  263. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/DraggableRegion.qml +0 -0
  264. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ExampleGallery.qml +0 -0
  265. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ImageAlignment.png +0 -0
  266. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ImageAlignment.qdoc +0 -0
  267. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ImageAlignment.qml +0 -0
  268. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/InvertedAxes.png +0 -0
  269. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/InvertedAxes.qdoc +0 -0
  270. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/InvertedAxes.qml +0 -0
  271. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ReadoutLine.png +0 -0
  272. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ReadoutLine.qdoc +0 -0
  273. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ReadoutLine.qml +0 -0
  274. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ScalingGraph.png +0 -0
  275. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ScalingGraph.qdoc +0 -0
  276. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ScalingGraph.qml +0 -0
  277. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Scatter.qdoc +0 -0
  278. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Scatter.qml +0 -0
  279. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/SpansAndLines.png +0 -0
  280. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/SpansAndLines.qdoc +0 -0
  281. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/SpansAndLines.qml +0 -0
  282. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Subgraphs.png +0 -0
  283. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Subgraphs.qdoc +0 -0
  284. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/Subgraphs.qml +0 -0
  285. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/TwinX.png +0 -0
  286. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/TwinX.qdoc +0 -0
  287. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ZoomableAsImage.png +0 -0
  288. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ZoomableAsImage.qdoc +0 -0
  289. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ZoomableAsImage.qml +0 -0
  290. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ZoomableAxes.png +0 -0
  291. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ZoomableAxes.qdoc +0 -0
  292. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/ZoomableAxes.qml +0 -0
  293. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/__init__.py +0 -0
  294. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/conway.py +0 -0
  295. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/examples/gallery.py +0 -0
  296. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/pyproject.toml +0 -0
  297. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/setup_venv.ps1 +0 -0
  298. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/__init__.py +0 -0
  299. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/fonts/DejaVuSans-Bold.ttf +0 -0
  300. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/fonts/DejaVuSans-BoldOblique.ttf +0 -0
  301. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/fonts/DejaVuSans-Oblique.ttf +0 -0
  302. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/fonts/DejaVuSans.ttf +0 -0
  303. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/fonts/LICENSE +0 -0
  304. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BuiltinColormaps.png +0 -0
  305. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BuiltinColormaps.svg +0 -0
  306. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/BuiltinColormaps_grab.png +0 -0
  307. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ColorMappedImages.png +0 -0
  308. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ColorMappedImages.svg +0 -0
  309. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ColorMappedImages_grab.png +0 -0
  310. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Conway.png +0 -0
  311. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Conway.svg +0 -0
  312. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/Conway_grab.png +0 -0
  313. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ImageAlignment.png +0 -0
  314. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ImageAlignment.svg +0 -0
  315. {quickgraphlib-0.1.0a9 → quickgraphlib-0.1.0a10}/tests/reference_images/ImageAlignment_grab.png +0 -0
@@ -15,6 +15,8 @@ else()
15
15
  add_compile_options(-Wextra -Wpedantic -fno-visibility-inlines-hidden)
16
16
  endif()
17
17
 
18
+ option(ENABLE_STUB_GENERATION "Enable .pyi stub generation (defaults to on)" ON)
19
+
18
20
  if(NOT INSTALL_SUBPATH)
19
21
  set(INSTALL_SUBPATH
20
22
  ${CMAKE_INSTALL_LIBDIR}/qml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: QuickGraphLib
3
- Version: 0.1.0a9
3
+ Version: 0.1.0a10
4
4
  Summary: A scientific graphing library for QtQuick
5
5
  Author-Email: Matthew Joyce <matthew.joyce@refeyn.com>
6
6
  License: MIT License
@@ -79,7 +79,7 @@ The example gallery can be run using (provided the Python environment has [PySid
79
79
  python examples/gallery.py
80
80
  ```
81
81
 
82
- <p align="center"><img src="https://github.com/refeyn/QuickGraphLib/assets/103422031/56fdff62-ef77-4184-9f43-59a76b92d728" width="80%"></p>
82
+ <p align="center"><img src="https://github.com/user-attachments/assets/19fa3b50-9a86-458d-b7c2-7a6fc95f0b6c" width="80%"></p>
83
83
 
84
84
  ## Qt version compatibility
85
85
 
@@ -3,6 +3,10 @@
3
3
 
4
4
  import QtQuick
5
5
 
6
+ @Deprecated {
7
+ reason: "Due to the new Qt 6.7 Curve renderer, this is no longer needed for antialiasing"
8
+ }
9
+
6
10
  /*!
7
11
  \qmltype AntialiasingContainer
8
12
  \inqmlmodule QuickGraphLib
@@ -10,6 +14,9 @@ import QtQuick
10
14
  \brief Enables antialiasing for it's contents.
11
15
 
12
16
  This item turns on \l {Multisample Antialiasing}. This helps with rendering in some cases.
17
+
18
+ \deprecated [0.1.0a10] Due to the new Qt 6.7 Curve renderer, this is no longer needed for antialiasing.
19
+ Replace with \l Item or remove completely
13
20
  */
14
21
 
15
22
  Item {
@@ -17,7 +24,7 @@ Item {
17
24
 
18
25
  /*!
19
26
  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.
27
+ fractional scaling factor. It can also make rendering worse, especially with text. Defaults to \c false.
21
28
  */
22
29
  property alias antialiasingEnabled: root.layer.enabled
23
30
 
@@ -13,6 +13,15 @@ import QuickGraphLib as QuickGraphLib
13
13
  \brief Displays an Axis.
14
14
 
15
15
  \sa {Basic sin graph (without prefabs)}, {Graph with all four axes}
16
+
17
+ \section2 Antialiasing
18
+
19
+ By default, the axis sets \l {Shape::preferredRendererType} to \c {Shape.CurveRenderer}.
20
+ This turns on high-quality antialiasing, which results in better looking axes on HiDPI systems.
21
+ However, if you know your application will only be viewed on LoDPI systems, the axes will look
22
+ slightly better without antialiasing. In addition, antialiasing may require more GPU performance,
23
+ so switching this back to \c {Shape.GeometryRenderer} may help on low-power systems. See
24
+ \l {Shape::rendererType} for more details.
16
25
  */
17
26
 
18
27
  Item {
@@ -158,10 +167,12 @@ Item {
158
167
  id: shape
159
168
 
160
169
  anchors.fill: parent
170
+ preferredRendererType: QQS.Shape.CurveRenderer
161
171
 
162
172
  QQS.ShapePath {
163
173
  id: myPath
164
174
 
175
+ pathHints: QQS.ShapePath.PathLinear
165
176
  strokeColor: "black"
166
177
  strokeWidth: 1
167
178
 
@@ -24,7 +24,9 @@ qt_add_qml_module(QuickGraphLib
24
24
  DEPENDENCIES QtQuick
25
25
  SOURCES
26
26
  helpers/Helpers.cpp helpers/Helpers.hpp helpers/AxisHelper.hpp helpers/AxisHelper.cpp helpers/Foreign.hpp
27
+ helpers/ShapeRepeaterHelper.hpp helpers/ShapeRepeaterHelper.cpp
27
28
  ImageView.hpp ImageView.cpp ColorMaps.hpp ColorMaps.cpp DataTypes.hpp DataTypes.cpp bindings/Bindings.hpp QuickGraphLib.hpp
29
+ Global.hpp
28
30
  )
29
31
  set_property(
30
32
  TARGET QuickGraphLib
@@ -34,6 +36,7 @@ set_property(
34
36
  TARGET QuickGraphLib
35
37
  PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
36
38
  )
39
+ target_compile_definitions(QuickGraphLib PRIVATE QGL_LIBRARY)
37
40
 
38
41
  target_compile_definitions(
39
42
  QuickGraphLib
@@ -6,7 +6,9 @@
6
6
  #include <QList>
7
7
  #include <QPolygonF>
8
8
 
9
- class QGLPolygonF : public QPolygonF {
9
+ #include "Global.hpp"
10
+
11
+ class QGL_EXPORT QGLPolygonF : public QPolygonF {
10
12
  public:
11
13
  using QPolygonF::QPolygonF;
12
14
  QGLPolygonF() = default;
@@ -15,19 +17,19 @@ class QGLPolygonF : public QPolygonF {
15
17
  QGLPolygonF(QList<QPointF> &&v) noexcept : QPolygonF(std::move(v)) {}
16
18
  QGLPolygonF(QPolygonF &&v) noexcept : QPolygonF(std::move(v)) {}
17
19
  inline void swap(QGLPolygonF &other) { QPolygonF::swap(other); }
18
- Q_DECL_EXPORT operator QVariant() const;
20
+ operator QVariant() const;
19
21
  };
20
22
  Q_DECLARE_SHARED(QGLPolygonF)
21
23
 
22
- class QGLDoubleList : public QList<qreal> {
24
+ class QGL_EXPORT QGLDoubleList : public QList<qreal> {
23
25
  public:
24
26
  using QList<qreal>::QList;
25
27
  QGLDoubleList() = default;
26
28
  QGLDoubleList(const QList<qreal> &v) : QList<qreal>(v) {}
27
29
  QGLDoubleList(QList<qreal> &&v) noexcept : QList<qreal>(std::move(v)) {}
28
30
  inline void swap(QGLDoubleList &other) { QList<qreal>::swap(other); }
29
- Q_DECL_EXPORT operator QVariant() const;
31
+ operator QVariant() const;
30
32
  };
31
33
  Q_DECLARE_SHARED(QGLDoubleList)
32
34
 
33
- Q_DECL_EXPORT void registerConvertions();
35
+ QGL_EXPORT void registerConvertions();
@@ -0,0 +1,12 @@
1
+ // SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
2
+ // SPDX-License-Identifier: MIT
3
+
4
+ #pragma once
5
+
6
+ #include <QtGlobal>
7
+
8
+ #if defined(QGL_LIBRARY)
9
+ #define QGL_EXPORT Q_DECL_EXPORT
10
+ #else
11
+ #define QGL_EXPORT Q_DECL_IMPORT
12
+ #endif
@@ -11,6 +11,13 @@ import QtQuick.Shapes as QQS
11
11
  \brief An area that graphs can be added to.
12
12
 
13
13
  \sa {Basic sin graph (without prefabs)}, {Inverted axes}
14
+
15
+ \section2 Antialiasing
16
+
17
+ By default, the graph area sets \l {Shape::preferredRendererType} to \c {Shape.CurveRenderer}.
18
+ This turns on high-quality antialiasing, which generally results in much better looking graphs.
19
+ However, it may require more GPU performance, so switching this back to \c {Shape.GeometryRenderer}
20
+ may help on low-power systems. See \l {Shape::rendererType} for more details.
14
21
  */
15
22
 
16
23
  QQS.Shape {
@@ -79,6 +86,8 @@ QQS.Shape {
79
86
  }
80
87
 
81
88
  clip: true
82
- implicitHeight: 100
83
- implicitWidth: 100
89
+ // Set initial size to prevent Shape's automatically calculated implicitWidth resulting in binding loops
90
+ height: 100
91
+ preferredRendererType: QQS.Shape.CurveRenderer
92
+ width: 100
84
93
  }
@@ -36,6 +36,7 @@ QQS.ShapePath {
36
36
  */
37
37
  required property rect viewRect
38
38
 
39
+ pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathConvex | QQS.ShapePath.PathSolid
39
40
  startX: topLeftPoint.x
40
41
  startY: topLeftPoint.y
41
42
 
@@ -40,6 +40,7 @@ QQS.ShapePath {
40
40
  */
41
41
  required property double yMin
42
42
 
43
+ pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathConvex | QQS.ShapePath.PathSolid
43
44
  startX: topLeftPoint.x
44
45
  startY: topLeftPoint.y
45
46
  strokeColor: "transparent"
@@ -36,6 +36,7 @@ QQS.ShapePath {
36
36
  */
37
37
  required property rect viewRect
38
38
 
39
+ pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathConvex | QQS.ShapePath.PathSolid
39
40
  startX: topLeftPoint.x
40
41
  startY: topLeftPoint.y
41
42
 
@@ -40,6 +40,7 @@ QQS.ShapePath {
40
40
  */
41
41
  required property double xMin
42
42
 
43
+ pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathConvex | QQS.ShapePath.PathSolid
43
44
  startX: topLeftPoint.x
44
45
  startY: topLeftPoint.y
45
46
  strokeColor: "transparent"
@@ -16,7 +16,6 @@ set(QGL_GI_QML_FILES
16
16
  Line.qml
17
17
  ColorMesh.qml
18
18
  )
19
- set_source_files_properties(Line.qml PROPERTIES QT_QML_SKIP_CACHEGEN True)
20
19
  qt_add_qml_module(QuickGraphLibGraphItems
21
20
  URI QuickGraphLib.GraphItems
22
21
  SHARED
@@ -34,6 +34,7 @@ QQS.ShapePath {
34
34
  capStyle: QQS.ShapePath.RoundCap
35
35
  fillColor: "transparent"
36
36
  joinStyle: QQS.ShapePath.RoundJoin
37
+ pathHints: QQS.ShapePath.PathLinear
37
38
 
38
39
  PathMultiline {
39
40
  paths: root.paths.map(ps => QuickGraphLib.Helpers.mapPoints(ps, root.dataTransform))
@@ -50,6 +50,7 @@ QQS.ShapePath {
50
50
  capStyle: QQS.ShapePath.RoundCap
51
51
  fillColor: "transparent"
52
52
  joinStyle: QQS.ShapePath.RoundJoin
53
+ pathHints: QQS.ShapePath.PathLinear
53
54
 
54
55
  PathMultiline {
55
56
  paths: helper.paths
@@ -11,6 +11,11 @@ import QuickGraphLib.GraphItems as QGLGraphItems
11
11
  \inherits QtQuick::Shapes::ShapePath
12
12
  \brief Displays a histogram.
13
13
 
14
+ \warning Rendering of histograms in Qt 6.8 under the curve renderer may include artefacts
15
+ (see \l {https://bugreports.qt.io/browse/QTBUG-133247}{QTBUG-133247}). If this happens,
16
+ switch the renderer of the \l GraphArea back to the geometry renderer. This issue should be fixed
17
+ in a future Qt version.
18
+
14
19
  \sa {Basic histogram}
15
20
  */
16
21
 
@@ -46,6 +51,7 @@ QQS.ShapePath {
46
51
 
47
52
  capStyle: QQS.ShapePath.RoundCap
48
53
  joinStyle: QQS.ShapePath.RoundJoin
54
+ pathHints: QQS.ShapePath.PathLinear
49
55
 
50
56
  PathPolyline {
51
57
  path: root._helper.path
@@ -35,6 +35,7 @@ QQS.ShapePath {
35
35
  capStyle: QQS.ShapePath.RoundCap
36
36
  fillColor: "transparent"
37
37
  joinStyle: QQS.ShapePath.RoundJoin
38
+ pathHints: QQS.ShapePath.PathLinear
38
39
 
39
40
  PathPolyline {
40
41
  path: QuickGraphLib.Helpers.mapPoints(root.path, root.dataTransform)
@@ -9,13 +9,13 @@ import QuickGraphLib.GraphItems as QGLGraphItems
9
9
  /*!
10
10
  \qmltype ImageAxes
11
11
  \inqmlmodule QuickGraphLib.PreFabs
12
- \inherits QuickGraphLib::AntialiasingContainer
12
+ \inherits Item
13
13
  \brief Displays an image with axes and a colorbar.
14
14
 
15
15
  \sa {Color mesh}
16
16
  */
17
17
 
18
- QuickGraphLib.AntialiasingContainer {
18
+ Item {
19
19
  id: root
20
20
 
21
21
  /*!
@@ -7,15 +7,15 @@ import QuickGraphLib as QuickGraphLib
7
7
  import QuickGraphLib.GraphItems as QGLGraphItems
8
8
 
9
9
  /*!
10
- \qmltype Line
10
+ \qmltype XYAxes
11
11
  \inqmlmodule QuickGraphLib.PreFabs
12
- \inherits QuickGraphLib::AntialiasingContainer
12
+ \inherits Item
13
13
  \brief Displays an XY axis with a grid.
14
14
 
15
15
  \sa {Basic sin graph}, {Dark theme sin graph}, {Subgraphs}
16
16
  */
17
17
 
18
- QuickGraphLib.AntialiasingContainer {
18
+ Item {
19
19
  id: root
20
20
 
21
21
  /*!
@@ -26,6 +26,10 @@ QuickGraphLib.AntialiasingContainer {
26
26
  An alias to the \l Rectangle used as the background.
27
27
  */
28
28
  property alias background: background
29
+ /*!
30
+ The padding below the XYAxes
31
+ */
32
+ property int bottomPadding: 15
29
33
  /*!
30
34
  An alias to the data transform of the graph area.
31
35
 
@@ -45,6 +49,10 @@ QuickGraphLib.AntialiasingContainer {
45
49
  An alias to the graph area's \l Grid.
46
50
  */
47
51
  property alias grid: grid
52
+ /*!
53
+ The padding to the left of the XYAxes
54
+ */
55
+ property int leftPadding: 15
48
56
  /*!
49
57
  Maximum number of ticks to show on the X axis.
50
58
 
@@ -57,6 +65,14 @@ QuickGraphLib.AntialiasingContainer {
57
65
  \sa Helpers::tickLocator
58
66
  */
59
67
  property int numYTicks: 11
68
+ /*!
69
+ The padding to the right of the XYAxes
70
+ */
71
+ property int rightPadding: 15
72
+ /*!
73
+ The spacing between the title and the axes.
74
+ */
75
+ property double spacing: 0
60
76
  /*!
61
77
  The title of the graph.
62
78
  */
@@ -65,6 +81,10 @@ QuickGraphLib.AntialiasingContainer {
65
81
  An alias to the title item of the graph (a \l Text).
66
82
  */
67
83
  property alias titleItem: titleLabel
84
+ /*!
85
+ The padding above the XYAxes
86
+ */
87
+ property int topPadding: 15
68
88
  /*!
69
89
  An alias to the view rect of the graph area.
70
90
 
@@ -101,8 +121,11 @@ QuickGraphLib.AntialiasingContainer {
101
121
  QQL.GridLayout {
102
122
  id: axes
103
123
 
124
+ anchors.bottomMargin: root.bottomPadding
104
125
  anchors.fill: parent
105
- anchors.margins: 15
126
+ anchors.leftMargin: root.leftPadding
127
+ anchors.rightMargin: root.rightPadding
128
+ anchors.topMargin: root.topPadding
106
129
  columnSpacing: 0
107
130
  columns: 2
108
131
  rowSpacing: 0
@@ -111,7 +134,8 @@ QuickGraphLib.AntialiasingContainer {
111
134
  id: titleLabel
112
135
 
113
136
  QQL.Layout.alignment: Qt.AlignCenter
114
- QQL.Layout.columnSpan: 2
137
+ QQL.Layout.bottomMargin: root.spacing
138
+ QQL.Layout.columnSpan: axes.columns
115
139
  visible: text !== ""
116
140
  }
117
141
  QuickGraphLib.Axis {
@@ -4,3 +4,4 @@
4
4
  #pragma once
5
5
 
6
6
  #include "DataTypes.hpp"
7
+ #include "helpers/Helpers.hpp"
@@ -6,7 +6,7 @@ import QtQuick
6
6
  /*!
7
7
  \qmltype ScalingContainer
8
8
  \inqmlmodule QuickGraphLib
9
- \inherits AntialiasingContainer
9
+ \inherits Item
10
10
  \brief Scales its contents while preserving the aspect ratio.
11
11
 
12
12
  This container applies a scaling factor to its content item that preserves its aspect ratio.
@@ -14,7 +14,7 @@ import QtQuick
14
14
  \sa {Scaled graph}
15
15
  */
16
16
 
17
- AntialiasingContainer {
17
+ Item {
18
18
  id: container
19
19
 
20
20
  /*!
@@ -0,0 +1,56 @@
1
+ // SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
2
+ // SPDX-License-Identifier: MIT
3
+
4
+ import QtQuick
5
+ import QtQml.Models as QQM
6
+ import QtQuick.Shapes as QQS
7
+ import QuickGraphLib as QuickGraphLib
8
+
9
+ /*!
10
+ \qmltype ShapeRepeater
11
+ \inqmlmodule QuickGraphLib
12
+ \inherits QtQml::Models::Instantiator
13
+ \brief A \l{Repeater}-like component that works with \l{ShapePath}s.
14
+
15
+ See the \l{Repeater} documentation for the general concept, and how to access data from the \l Instantiator::model.
16
+
17
+ If the ShapeRepeater is a child of the \l GraphArea provided to \l graphArea, then paths
18
+ the ShapeRepeater instantiates will be inserted, in order, immediately after the repeater's
19
+ position in the list of shape paths.
20
+
21
+ \note The ShapeRepeater must temporarily remove the children of the GraphArea in order to add/remove paths it
22
+ instantiates. This is fine for most elements, but \l Repeaters will destroy all of their children when this
23
+ happens. This may cause performance issues or loss of state. If this is an issue, place the Repeater outside
24
+ the GraphArea or inside an \l Item.
25
+
26
+ \sa {Peak buttons}
27
+ */
28
+
29
+ QQM.Instantiator {
30
+ id: root
31
+
32
+ /*!
33
+ The GraphArea to add paths to.
34
+ */
35
+ required property QQS.Shape graphArea
36
+
37
+ function forceResync() {
38
+ // Workaround for https://bugreports.qt.io/browse/QTBUG-133230 and https://bugreports.qt.io/browse/QTBUG-133231
39
+ if (graphArea.Window.window !== null) {
40
+ let renderer = graphArea.preferredRendererType;
41
+ let otherRenderer = graphArea.preferredRendererType === QQS.Shape.CurveRenderer ? QQS.Shape.GeometryRenderer : QQS.Shape.CurveRenderer;
42
+ graphArea.preferredRendererType = otherRenderer;
43
+ graphArea.ensurePolished();
44
+ graphArea.preferredRendererType = renderer;
45
+ }
46
+ }
47
+
48
+ onObjectAdded: (i, obj) => {
49
+ QuickGraphLib.ShapeRepeaterHelper.insertObject(graphArea, root, obj, i);
50
+ forceResync();
51
+ }
52
+ onObjectRemoved: (i, obj) => {
53
+ QuickGraphLib.ShapeRepeaterHelper.removeObject(graphArea, obj);
54
+ forceResync();
55
+ }
56
+ }
@@ -23,6 +23,7 @@ with cm:
23
23
  from QuickGraphLib._QuickGraphLib import ( # pylint: disable=import-error,no-name-in-module
24
24
  QGLDoubleList,
25
25
  QGLPolygonF,
26
+ Helpers,
26
27
  )
27
28
 
28
29
  from . import contours
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.1.0a9'
15
+ __version__ = version = '0.1.0a10'
16
16
  __version_tuple__ = version_tuple = (0, 1, 0)
@@ -4,3 +4,4 @@
4
4
  #pragma once
5
5
 
6
6
  #include "../DataTypes.hpp"
7
+ #include "../helpers/Helpers.hpp"
@@ -5,6 +5,7 @@
5
5
  -->
6
6
  <typesystem package="QuickGraphLib._QuickGraphLib">
7
7
  <load-typesystem name="typesystem_gui.xml" generate="no"/>
8
+ <load-typesystem name="typesystem_quick.xml" generate="no"/>
8
9
  <value-type name="QGLDoubleList">
9
10
  <inject-code class="native" position="beginning">
10
11
  #include &lt;sbknumpycheck.h&gt;
@@ -26,4 +27,5 @@
26
27
  <inject-code file="glue/DataTypes.cpp" snippet="qglpolygonf-fromndarray"/>
27
28
  </add-function>
28
29
  </value-type>
30
+ <object-type name="Helpers"/>
29
31
  </typesystem>
@@ -74,6 +74,8 @@ if(DEFINED QT_HOST_PATH)
74
74
  list(APPEND INCLUDES "-I${QT_HOST_PATH}/include")
75
75
  list(APPEND INCLUDES "-I${QT_HOST_PATH}/include/QtCore")
76
76
  list(APPEND INCLUDES "-I${QT_HOST_PATH}/include/QtGui")
77
+ list(APPEND INCLUDES "-I${QT_HOST_PATH}/include/QtQml")
78
+ list(APPEND INCLUDES "-I${QT_HOST_PATH}/include/QtQuick")
77
79
  else()
78
80
  get_property(
79
81
  QT_CORE_INCLUDE_DIRS
@@ -91,6 +93,22 @@ else()
91
93
  foreach(INCLUDE_DIR ${QT_GUI_INCLUDE_DIRS})
92
94
  list(APPEND INCLUDES "-I${INCLUDE_DIR}")
93
95
  endforeach()
96
+ get_property(
97
+ QT_QML_INCLUDE_DIRS
98
+ TARGET Qt6::Qml
99
+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES
100
+ )
101
+ foreach(INCLUDE_DIR ${QT_QML_INCLUDE_DIRS})
102
+ list(APPEND INCLUDES "-I${INCLUDE_DIR}")
103
+ endforeach()
104
+ get_property(
105
+ QT_QUICK_INCLUDE_DIRS
106
+ TARGET Qt6::Quick
107
+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES
108
+ )
109
+ foreach(INCLUDE_DIR ${QT_QUICK_INCLUDE_DIRS})
110
+ list(APPEND INCLUDES "-I${INCLUDE_DIR}")
111
+ endforeach()
94
112
  endif()
95
113
 
96
114
  # We need to include the headers for the module bindings that we use.
@@ -98,8 +116,20 @@ set(pyside_additional_includes "")
98
116
  foreach(INCLUDE_DIR ${pyside_include_dir})
99
117
  list(APPEND pyside_additional_includes "${INCLUDE_DIR}/QtCore")
100
118
  list(APPEND pyside_additional_includes "${INCLUDE_DIR}/QtGui")
119
+ list(APPEND pyside_additional_includes "${INCLUDE_DIR}/QtQml")
120
+ list(APPEND pyside_additional_includes "${INCLUDE_DIR}/QtQuick")
121
+ list(APPEND pyside_additional_includes "${INCLUDE_DIR}/QtNetwork")
122
+ list(APPEND pyside_additional_includes "${INCLUDE_DIR}/QtOpenGL")
101
123
  endforeach()
102
124
 
125
+ # Fix missing doc file that causes the QML typesystem parsing to fail
126
+ file(MAKE_DIRECTORY ${pyside_typesystems_path}/PySide6/doc)
127
+ configure_file(
128
+ ${CMAKE_CURRENT_SOURCE_DIR}/qtqml.rst
129
+ ${pyside_typesystems_path}/PySide6/doc/qtqml_functions.rst
130
+ COPYONLY
131
+ )
132
+
103
133
  set(shiboken_options
104
134
  --generator-set=shiboken
105
135
  --enable-parent-ctor-heuristic
@@ -122,6 +152,7 @@ set(generated_sources
122
152
  ${CMAKE_CURRENT_BINARY_DIR}/QuickGraphLib/_QuickGraphLib/_quickgraphlib_module_wrapper.cpp
123
153
  ${CMAKE_CURRENT_BINARY_DIR}/QuickGraphLib/_QuickGraphLib/qglpolygonf_wrapper.cpp
124
154
  ${CMAKE_CURRENT_BINARY_DIR}/QuickGraphLib/_QuickGraphLib/qgldoublelist_wrapper.cpp
155
+ ${CMAKE_CURRENT_BINARY_DIR}/QuickGraphLib/_QuickGraphLib/helpers_wrapper.cpp
125
156
  )
126
157
 
127
158
  # Add custom target to run shiboken to generate the binding cpp files.
@@ -168,22 +199,26 @@ target_link_libraries(
168
199
  QuickGraphLib
169
200
  Qt6::Core
170
201
  Qt6::Gui
202
+ Qt6::Qml
203
+ Qt6::Quick
171
204
  )
172
205
 
173
206
  # Generate .pyi stub file
174
- set(pyi_path ${CMAKE_BINARY_DIR}/QuickGraphLib/_QuickGraphLib.pyi)
175
- add_custom_command(
176
- OUTPUT ${pyi_path}
177
- COMMAND
178
- "${Python_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/pyigen.py
179
- $<TARGET_FILE:_QuickGraphLib> --outpath
180
- ${CMAKE_BINARY_DIR}/QuickGraphLib
181
- DEPENDS $<TARGET_FILE:_QuickGraphLib>
182
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
183
- COMMENT "Running stub generation for for _QuickGraphLib."
184
- )
207
+ if(ENABLE_STUB_GENERATION)
208
+ set(pyi_path ${CMAKE_BINARY_DIR}/QuickGraphLib/_QuickGraphLib.pyi)
209
+ add_custom_command(
210
+ OUTPUT ${pyi_path}
211
+ COMMAND
212
+ "${Python_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/pyigen.py
213
+ $<TARGET_FILE:_QuickGraphLib> --outpath
214
+ ${CMAKE_BINARY_DIR}/QuickGraphLib
215
+ DEPENDS $<TARGET_FILE:_QuickGraphLib>
216
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
217
+ COMMENT "Running stub generation for for _QuickGraphLib."
218
+ )
185
219
 
186
- add_custom_target(QuickGraphLibPythonStubs ALL DEPENDS ${pyi_path})
220
+ add_custom_target(QuickGraphLibPythonStubs ALL DEPENDS ${pyi_path})
221
+ endif()
187
222
 
188
223
  # Install files
189
224
  install(TARGETS _QuickGraphLib DESTINATION ${INSTALL_SUBPATH}/QuickGraphLib)
@@ -8,13 +8,14 @@ import re
8
8
  import sys
9
9
  from typing import ContextManager
10
10
 
11
- import PySide6.QtGui
11
+ import PySide6.QtQuick
12
+ import PySide6.QtSvg
12
13
  import shiboken6 # pylint: disable=unused-import
13
14
  from shibokensupport.signature.lib import ( # type: ignore[import-not-found] # pylint: disable=import-error
14
15
  pyi_generator,
15
16
  )
16
17
 
17
- _dll_path = pathlib.Path(sys.argv[1]).parent
18
+ _dll_path = pathlib.Path(sys.argv[1].replace("bindings", "")).parent
18
19
  os.environ["PATH"] = os.fspath(_dll_path) + os.pathsep + os.environ["PATH"]
19
20
  if hasattr(os, "add_dll_directory"):
20
21
  cm: ContextManager = os.add_dll_directory(os.fspath(_dll_path))
@@ -0,0 +1,16 @@
1
+ // @snippet qmlregistersingletoninstance
2
+ // @snippet qmlregistersingletoninstance
3
+ // @snippet qmlregistersingletontype_qobject_nocallback
4
+ // @snippet qmlregistersingletontype_qobject_nocallback
5
+ // @snippet qmlregistersingletontype_qobject_callback
6
+ // @snippet qmlregistersingletontype_qobject_callback
7
+ // @snippet qmlregistersingletontype_qjsvalue
8
+ // @snippet qmlregistersingletontype_qjsvalue
9
+ // @snippet qmlregistertype
10
+ // @snippet qmlregistertype
11
+ // @snippet qmlregisteruncreatabletype
12
+ // @snippet qmlregisteruncreatabletype
13
+ // @snippet qqmlengine-singletoninstance-qmltypeid
14
+ // @snippet qqmlengine-singletoninstance-qmltypeid
15
+ // @snippet qqmlengine-singletoninstance-typename
16
+ // @snippet qqmlengine-singletoninstance-typename
@@ -19,6 +19,7 @@ AxisHelper::AxisHelper(QObject *parent) : QObject{parent} {
19
19
 
20
20
  auto isVertical = direction == Top || direction == Bottom;
21
21
  auto longAxis = isVertical ? width : height;
22
+ std::sort(ticks.begin(), ticks.end());
22
23
 
23
24
  // Calculate everything as if we were a bottom axis
24
25
  auto points = QList{QPointF{0, 0}};
@@ -68,6 +69,13 @@ AxisHelper::AxisHelper(QObject *parent) : QObject{parent} {
68
69
  }
69
70
  }
70
71
 
72
+ // Axis stroke width is 1px, so round positions to the nearest half pixel so that the line covers a single
73
+ // pixel.
74
+ for (auto &p : points) {
75
+ p.setY(round(p.y() + 0.5) - 0.5);
76
+ p.setX(round(p.x() + 0.5) - 0.5);
77
+ }
78
+
71
79
  // Update tick items model
72
80
  QList<AxisTickModel::TickData> tickDatas;
73
81
  auto tickIndex = 0u;