QuickGraphLib 0.1.0a16__tar.gz → 0.1.0a18__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.0a16 → quickgraphlib-0.1.0a18}/.gitignore +1 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/PKG-INFO +1 -1
- quickgraphlib-0.1.0a18/QuickGraphLib/GraphItems/BarHorizontal.qml +51 -0
- quickgraphlib-0.1.0a18/QuickGraphLib/GraphItems/BarVertical.qml +51 -0
- quickgraphlib-0.1.0a18/QuickGraphLib/GraphItems/BoxPlotHorizontal.qml +82 -0
- quickgraphlib-0.1.0a18/QuickGraphLib/GraphItems/BoxPlotVertical.qml +82 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/CMakeLists.txt +4 -0
- quickgraphlib-0.1.0a18/QuickGraphLib/_version.py +24 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/export.qdoc +2 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/Helpers.cpp +198 -2
- quickgraphlib-0.1.0a18/ci/fixup_qt.py +16 -0
- quickgraphlib-0.1.0a18/examples/BarChartHorizontal.png +0 -0
- quickgraphlib-0.1.0a18/examples/BarChartHorizontal.qdoc +13 -0
- quickgraphlib-0.1.0a18/examples/BarChartHorizontal.qml +80 -0
- quickgraphlib-0.1.0a18/examples/BarChartVertical.png +0 -0
- quickgraphlib-0.1.0a18/examples/BarChartVertical.qdoc +13 -0
- quickgraphlib-0.1.0a18/examples/BarChartVertical.qml +80 -0
- quickgraphlib-0.1.0a18/examples/BoxPlots.png +0 -0
- quickgraphlib-0.1.0a18/examples/BoxPlots.qdoc +13 -0
- quickgraphlib-0.1.0a18/examples/BoxPlots.qml +46 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/LogGraph.qdoc +1 -1
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/pyproject.toml +3 -1
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/requirements.txt +3 -3
- quickgraphlib-0.1.0a18/tests/extra_examples/500px-Kittyply_edit1.jpg +0 -0
- quickgraphlib-0.1.0a18/tests/extra_examples/ImageExport.qml +63 -0
- quickgraphlib-0.1.0a18/tests/extra_examples/SVG_Logo.svg +56 -0
- quickgraphlib-0.1.0a18/tests/extra_examples/VectorImageExport.qml +49 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartHorizontal.dat +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartHorizontal.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartHorizontal.svg +751 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartHorizontal_grab.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartVertical.dat +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartVertical.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartVertical.svg +751 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BarChartVertical_grab.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BoxPlots.dat +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BoxPlots.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BoxPlots.svg +773 -0
- quickgraphlib-0.1.0a18/tests/reference_images/BoxPlots_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Contours.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Contours.svg +1 -1
- quickgraphlib-0.1.0a18/tests/reference_images/ImageExport.dat +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/ImageExport.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/ImageExport.svg +122 -0
- quickgraphlib-0.1.0a18/tests/reference_images/ImageExport_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/LogGraph.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/LogGraph.svg +0 -42
- quickgraphlib-0.1.0a18/tests/reference_images/VectorImageExport.dat +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/VectorImageExport.png +0 -0
- quickgraphlib-0.1.0a18/tests/reference_images/VectorImageExport.svg +2106 -0
- quickgraphlib-0.1.0a18/tests/reference_images/VectorImageExport_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/test_exports.py +6 -3
- quickgraphlib-0.1.0a16/QuickGraphLib/_version.py +0 -34
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/.clang-format +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/.pre-commit-config.yaml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/CMakeLists.txt +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/LICENCE +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/AntialiasingContainer.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/Axis.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/CMakeLists.txt +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ColorMaps.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ColorMaps.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/DataTypes.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/DataTypes.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/Global.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphArea.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/AxHLine.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/AxHSpan.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/AxVLine.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/AxVSpan.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/BasicLegend.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/BasicLegendItem.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/ColorMesh.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/Contour.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/GraphItemDragHandler.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/Grid.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/Histogram.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/Line.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/Marker.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/helpers/GridHelper.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/helpers/GridHelper.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/helpers/HistogramHelper.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/GraphItems/helpers/HistogramHelper.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ImageView.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ImageView.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/Plugin.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/PreFabs/CMakeLists.txt +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/PreFabs/ImageAxes.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/PreFabs/XYAxes.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/QuickGraphLib.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ScalingContainer.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ShapeRepeater.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/TickLabel.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/ZoomPanHandler.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/__init__.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/Bindings.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/Bindings.xml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/CMakeLists.txt +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/ShibokenHelpers.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/ShibokenHelpers.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/glue/DataTypes.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/bindings/pyigen.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/consts.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/contours.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/AxesGridLayout.drawio +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/AxesGridLayout.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/graphitems.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/graphstructure.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/index.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/interaction.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/module-cpp.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/module.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/prefabs.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/doc/python_helpers.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/AxisHelper.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/AxisHelper.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/Foreign.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/Helpers.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/ShapeRepeaterHelper.cpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/helpers/ShapeRepeaterHelper.hpp +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/QuickGraphLib/py.typed +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/README.md +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/activate_venv.ps1 +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/ci/find_qt.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/ci/setup_qt.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/docs/build_docs.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/docs/config.qdocconf +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/docs/style.css +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/AllTheAxes.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/AllTheAxes.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/AllTheAxes.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicHistogram.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicHistogram.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicHistogram.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicSinGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicSinGraph.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicSinGraph.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicSinGraphNoPrefabs.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicSinGraphNoPrefabs.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BasicSinGraphNoPrefabs.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BuiltinColormaps.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BuiltinColormaps.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/BuiltinColormaps.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ColorMappedImages.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ColorMappedImages.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ColorMappedImages.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ColorMesh.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ColorMesh.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ColorMesh.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Complex.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Complex.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Complex.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Contours.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Contours.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Contours.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Conway.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Conway.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Conway.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/DarkSinGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/DarkSinGraph.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/DarkSinGraph.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/DraggableRegion.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/DraggableRegion.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/DraggableRegion.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ExampleGallery.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ExampleGallery.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ImageAlignment.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ImageAlignment.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ImageAlignment.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/InvertedAxes.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/InvertedAxes.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/InvertedAxes.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/LogGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/LogGraph.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/PeakButtons.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/PeakButtons.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/PeakButtons.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ReadoutLine.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ReadoutLine.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ReadoutLine.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ScalingGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ScalingGraph.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ScalingGraph.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Scatter.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Scatter.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Scatter.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/SpansAndLines.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/SpansAndLines.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/SpansAndLines.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Subgraphs.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Subgraphs.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/Subgraphs.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/TwinX.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/TwinX.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/TwinX.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ZoomableAsImage.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ZoomableAsImage.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ZoomableAsImage.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ZoomableAxes.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ZoomableAxes.qdoc +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/ZoomableAxes.qml +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/__init__.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/conway.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/examples/gallery.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/setup_venv.ps1 +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/__init__.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/fonts/DejaVuSans-Bold.ttf +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/fonts/DejaVuSans-BoldOblique.ttf +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/fonts/DejaVuSans-Oblique.ttf +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/fonts/DejaVuSans.ttf +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/fonts/LICENSE +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/python_exporter.py +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/AllTheAxes.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/AllTheAxes.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/AllTheAxes.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/AllTheAxes_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicHistogram.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicHistogram.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicHistogram.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicHistogram_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraph.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraph.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraphNoPrefabs.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraphNoPrefabs.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraphNoPrefabs.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraphNoPrefabs_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BasicSinGraph_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BuiltinColormaps.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BuiltinColormaps.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BuiltinColormaps.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/BuiltinColormaps_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMappedImages.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMappedImages.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMappedImages.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMappedImages_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMesh.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMesh.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMesh.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ColorMesh_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Complex.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Complex.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Complex.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Complex_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Contours.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Contours_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Conway.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Conway.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Conway.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Conway_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DarkSinGraph.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DarkSinGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DarkSinGraph.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DarkSinGraph_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DraggableRegion.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DraggableRegion.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DraggableRegion.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/DraggableRegion_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ImageAlignment.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ImageAlignment.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ImageAlignment.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ImageAlignment_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/InvertedAxes.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/InvertedAxes.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/InvertedAxes.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/InvertedAxes_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/LogGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/LogGraph_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/PeakButtons.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/PeakButtons.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/PeakButtons.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/PeakButtons_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ReadoutLine.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ReadoutLine.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ReadoutLine.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ReadoutLine_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ScalingGraph.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ScalingGraph.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ScalingGraph.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ScalingGraph_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Scatter.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Scatter.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Scatter.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Scatter_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/SpansAndLines.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/SpansAndLines.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/SpansAndLines.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/SpansAndLines_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Subgraphs.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Subgraphs.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Subgraphs.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/Subgraphs_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/TwinX.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/TwinX.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/TwinX.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/TwinX_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAsImage.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAsImage.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAsImage.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAsImage_grab.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAxes.dat +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAxes.png +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAxes.svg +0 -0
- {quickgraphlib-0.1.0a16 → quickgraphlib-0.1.0a18}/tests/reference_images/ZoomableAxes_grab.png +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import QtQuick
|
|
5
|
+
import QtQuick.Shapes as QQS
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
\qmltype BarHorizontal
|
|
9
|
+
\inqmlmodule QuickGraphLib.GraphItems
|
|
10
|
+
\inherits QtQuick::Shapes::ShapePath
|
|
11
|
+
\brief Displays a horizontal bar for a bar graph.
|
|
12
|
+
*/
|
|
13
|
+
QQS.ShapePath {
|
|
14
|
+
id: root
|
|
15
|
+
|
|
16
|
+
/*!
|
|
17
|
+
The height (Y) of the bar in data coordinates.
|
|
18
|
+
*/
|
|
19
|
+
required property double barHeight
|
|
20
|
+
/*!
|
|
21
|
+
The length (X) of the bar in data coordinates.
|
|
22
|
+
*/
|
|
23
|
+
required property double barLength
|
|
24
|
+
|
|
25
|
+
/*!
|
|
26
|
+
Must be assigned the data transform of the graph area this axis is paired to.
|
|
27
|
+
|
|
28
|
+
\sa GraphArea::dataTransform
|
|
29
|
+
*/
|
|
30
|
+
required property matrix4x4 dataTransform
|
|
31
|
+
/*!
|
|
32
|
+
The X position of the bar in data coordinates.
|
|
33
|
+
*/
|
|
34
|
+
required property double position
|
|
35
|
+
/*!
|
|
36
|
+
The starting X position of the bar in data coordinates.
|
|
37
|
+
*/
|
|
38
|
+
property double xStart: 0
|
|
39
|
+
|
|
40
|
+
pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathConvex | QQS.ShapePath.PathSolid
|
|
41
|
+
|
|
42
|
+
PathRectangle {
|
|
43
|
+
readonly property point bottomRightPoint: dataTransform.map(Qt.point(barLength >= 0 ? xStart + barLength : xStart, position - barHeight / 2))
|
|
44
|
+
readonly property point topLeftPoint: dataTransform.map(Qt.point(barLength >= 0 ? xStart : xStart + barLength, position + barHeight / 2))
|
|
45
|
+
|
|
46
|
+
height: bottomRightPoint.y - topLeftPoint.y
|
|
47
|
+
width: bottomRightPoint.x - topLeftPoint.x
|
|
48
|
+
x: topLeftPoint.x
|
|
49
|
+
y: topLeftPoint.y
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import QtQuick
|
|
5
|
+
import QtQuick.Shapes as QQS
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
\qmltype BarVertical
|
|
9
|
+
\inqmlmodule QuickGraphLib.GraphItems
|
|
10
|
+
\inherits QtQuick::Shapes::ShapePath
|
|
11
|
+
\brief Displays a vertical bar for a bar graph.
|
|
12
|
+
*/
|
|
13
|
+
QQS.ShapePath {
|
|
14
|
+
id: root
|
|
15
|
+
|
|
16
|
+
/*!
|
|
17
|
+
The height of the bar in data coordinates.
|
|
18
|
+
*/
|
|
19
|
+
required property double barHeight
|
|
20
|
+
/*!
|
|
21
|
+
The width of the bar in data coordinates.
|
|
22
|
+
*/
|
|
23
|
+
required property double barWidth
|
|
24
|
+
|
|
25
|
+
/*!
|
|
26
|
+
Must be assigned the data transform of the graph area this axis is paired to.
|
|
27
|
+
|
|
28
|
+
\sa GraphArea::dataTransform
|
|
29
|
+
*/
|
|
30
|
+
required property matrix4x4 dataTransform
|
|
31
|
+
/*!
|
|
32
|
+
The X position of the bar in data coordinates.
|
|
33
|
+
*/
|
|
34
|
+
required property double position
|
|
35
|
+
/*!
|
|
36
|
+
The starting Y position of the bar in data coordinates.
|
|
37
|
+
*/
|
|
38
|
+
property double yStart: 0
|
|
39
|
+
|
|
40
|
+
pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathConvex | QQS.ShapePath.PathSolid
|
|
41
|
+
|
|
42
|
+
PathRectangle {
|
|
43
|
+
readonly property point bottomRightPoint: dataTransform.map(Qt.point(position + barWidth / 2, barHeight >= 0 ? yStart : yStart - barHeight))
|
|
44
|
+
readonly property point topLeftPoint: dataTransform.map(Qt.point(position - barWidth / 2, barHeight >= 0 ? yStart + barHeight : yStart))
|
|
45
|
+
|
|
46
|
+
height: bottomRightPoint.y - topLeftPoint.y
|
|
47
|
+
width: bottomRightPoint.x - topLeftPoint.x
|
|
48
|
+
x: topLeftPoint.x
|
|
49
|
+
y: topLeftPoint.y
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import QtQuick
|
|
5
|
+
import QtQuick.Shapes as QQS
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
\qmltype BoxPLotVertical
|
|
9
|
+
\inqmlmodule QuickGraphLib.GraphItems
|
|
10
|
+
\inherits QtQuick::Shapes::ShapePath
|
|
11
|
+
\brief Displays a vertical box plot
|
|
12
|
+
*/
|
|
13
|
+
QQS.ShapePath {
|
|
14
|
+
id: root
|
|
15
|
+
|
|
16
|
+
/*!
|
|
17
|
+
The height of the box in data coordinates.
|
|
18
|
+
*/
|
|
19
|
+
required property double boxHeight
|
|
20
|
+
|
|
21
|
+
/*!
|
|
22
|
+
Must be assigned the data transform of the graph area this axis is paired to.
|
|
23
|
+
|
|
24
|
+
\sa GraphArea::dataTransform
|
|
25
|
+
*/
|
|
26
|
+
required property matrix4x4 dataTransform
|
|
27
|
+
/*!
|
|
28
|
+
The Y position of the plot in data coordinates.
|
|
29
|
+
*/
|
|
30
|
+
required property double position
|
|
31
|
+
/*!
|
|
32
|
+
The position of the Q0 whisker (minimum) in data coordinates.
|
|
33
|
+
*/
|
|
34
|
+
required property double quartile0
|
|
35
|
+
/*!
|
|
36
|
+
The position of the Q1 line (first quartile) in data coordinates.
|
|
37
|
+
*/
|
|
38
|
+
required property double quartile1
|
|
39
|
+
/*!
|
|
40
|
+
The position of the Q2 line (median) in data coordinates.
|
|
41
|
+
*/
|
|
42
|
+
required property double quartile2
|
|
43
|
+
/*!
|
|
44
|
+
The position of the Q3 line (third quartile) in data coordinates.
|
|
45
|
+
*/
|
|
46
|
+
required property double quartile3
|
|
47
|
+
/*!
|
|
48
|
+
The position of the Q4 whisker (maxiumum) in data coordinates.
|
|
49
|
+
*/
|
|
50
|
+
required property double quartile4
|
|
51
|
+
/*!
|
|
52
|
+
The height of the whiskers in data coordinates.
|
|
53
|
+
*/
|
|
54
|
+
required property double whiskerHeight
|
|
55
|
+
|
|
56
|
+
pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathSolid
|
|
57
|
+
|
|
58
|
+
PathMultiline {
|
|
59
|
+
paths: [[root.dataTransform.map(Qt.point(root.quartile0, root.position + root.whiskerHeight / 2)), root.dataTransform.map(Qt.point(root.quartile0, root.position - root.whiskerHeight / 2))], [root.dataTransform.map(Qt.point(root.quartile0, root.position)), root.dataTransform.map(Qt.point(root.quartile1, root.position))]]
|
|
60
|
+
}
|
|
61
|
+
PathRectangle {
|
|
62
|
+
readonly property point bottomRightPoint: root.dataTransform.map(Qt.point(root.quartile2, root.position - root.boxHeight / 2))
|
|
63
|
+
readonly property point topLeftPoint: root.dataTransform.map(Qt.point(root.quartile1, root.position + root.boxHeight / 2))
|
|
64
|
+
|
|
65
|
+
height: bottomRightPoint.y - topLeftPoint.y
|
|
66
|
+
width: bottomRightPoint.x - topLeftPoint.x
|
|
67
|
+
x: topLeftPoint.x
|
|
68
|
+
y: topLeftPoint.y
|
|
69
|
+
}
|
|
70
|
+
PathRectangle {
|
|
71
|
+
readonly property point bottomRightPoint: root.dataTransform.map(Qt.point(root.quartile3, root.position - root.boxHeight / 2))
|
|
72
|
+
readonly property point topLeftPoint: root.dataTransform.map(Qt.point(root.quartile2, root.position + root.boxHeight / 2))
|
|
73
|
+
|
|
74
|
+
height: bottomRightPoint.y - topLeftPoint.y
|
|
75
|
+
width: bottomRightPoint.x - topLeftPoint.x
|
|
76
|
+
x: topLeftPoint.x
|
|
77
|
+
y: topLeftPoint.y
|
|
78
|
+
}
|
|
79
|
+
PathMultiline {
|
|
80
|
+
paths: [[root.dataTransform.map(Qt.point(root.quartile3, root.position)), root.dataTransform.map(Qt.point(root.quartile4, root.position))], [root.dataTransform.map(Qt.point(root.quartile4, root.position + root.whiskerHeight / 2)), root.dataTransform.map(Qt.point(root.quartile4, root.position - root.whiskerHeight / 2))]]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import QtQuick
|
|
5
|
+
import QtQuick.Shapes as QQS
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
\qmltype BoxPLotVertical
|
|
9
|
+
\inqmlmodule QuickGraphLib.GraphItems
|
|
10
|
+
\inherits QtQuick::Shapes::ShapePath
|
|
11
|
+
\brief Displays a vertical box plot
|
|
12
|
+
*/
|
|
13
|
+
QQS.ShapePath {
|
|
14
|
+
id: root
|
|
15
|
+
|
|
16
|
+
/*!
|
|
17
|
+
The width of the box in data coordinates.
|
|
18
|
+
*/
|
|
19
|
+
required property double boxWidth
|
|
20
|
+
|
|
21
|
+
/*!
|
|
22
|
+
Must be assigned the data transform of the graph area this axis is paired to.
|
|
23
|
+
|
|
24
|
+
\sa GraphArea::dataTransform
|
|
25
|
+
*/
|
|
26
|
+
required property matrix4x4 dataTransform
|
|
27
|
+
/*!
|
|
28
|
+
The X position of the plot in data coordinates.
|
|
29
|
+
*/
|
|
30
|
+
required property double position
|
|
31
|
+
/*!
|
|
32
|
+
The position of the Q0 whisker (minimum) in data coordinates.
|
|
33
|
+
*/
|
|
34
|
+
required property double quartile0
|
|
35
|
+
/*!
|
|
36
|
+
The position of the Q1 line (first quartile) in data coordinates.
|
|
37
|
+
*/
|
|
38
|
+
required property double quartile1
|
|
39
|
+
/*!
|
|
40
|
+
The position of the Q2 line (median) in data coordinates.
|
|
41
|
+
*/
|
|
42
|
+
required property double quartile2
|
|
43
|
+
/*!
|
|
44
|
+
The position of the Q3 line (third quartile) in data coordinates.
|
|
45
|
+
*/
|
|
46
|
+
required property double quartile3
|
|
47
|
+
/*!
|
|
48
|
+
The position of the Q4 whisker (maxiumum) in data coordinates.
|
|
49
|
+
*/
|
|
50
|
+
required property double quartile4
|
|
51
|
+
/*!
|
|
52
|
+
The width of the whiskers in data coordinates.
|
|
53
|
+
*/
|
|
54
|
+
required property double whiskerWidth
|
|
55
|
+
|
|
56
|
+
pathHints: QQS.ShapePath.PathLinear | QQS.ShapePath.PathSolid
|
|
57
|
+
|
|
58
|
+
PathMultiline {
|
|
59
|
+
paths: [[root.dataTransform.map(Qt.point(root.position - root.whiskerWidth / 2, root.quartile4)), root.dataTransform.map(Qt.point(root.position + root.whiskerWidth / 2, root.quartile4))], [root.dataTransform.map(Qt.point(root.position, root.quartile4)), root.dataTransform.map(Qt.point(root.position, root.quartile3))]]
|
|
60
|
+
}
|
|
61
|
+
PathRectangle {
|
|
62
|
+
readonly property point bottomRightPoint: root.dataTransform.map(Qt.point(root.position + root.boxWidth / 2, root.quartile2))
|
|
63
|
+
readonly property point topLeftPoint: root.dataTransform.map(Qt.point(root.position - root.boxWidth / 2, root.quartile3))
|
|
64
|
+
|
|
65
|
+
height: bottomRightPoint.y - topLeftPoint.y
|
|
66
|
+
width: bottomRightPoint.x - topLeftPoint.x
|
|
67
|
+
x: topLeftPoint.x
|
|
68
|
+
y: topLeftPoint.y
|
|
69
|
+
}
|
|
70
|
+
PathRectangle {
|
|
71
|
+
readonly property point bottomRightPoint: root.dataTransform.map(Qt.point(root.position + root.boxWidth / 2, root.quartile1))
|
|
72
|
+
readonly property point topLeftPoint: root.dataTransform.map(Qt.point(root.position - root.boxWidth / 2, root.quartile2))
|
|
73
|
+
|
|
74
|
+
height: bottomRightPoint.y - topLeftPoint.y
|
|
75
|
+
width: bottomRightPoint.x - topLeftPoint.x
|
|
76
|
+
x: topLeftPoint.x
|
|
77
|
+
y: topLeftPoint.y
|
|
78
|
+
}
|
|
79
|
+
PathMultiline {
|
|
80
|
+
paths: [[root.dataTransform.map(Qt.point(root.position, root.quartile1)), root.dataTransform.map(Qt.point(root.position, root.quartile0))], [root.dataTransform.map(Qt.point(root.position - root.whiskerWidth / 2, root.quartile0)), root.dataTransform.map(Qt.point(root.position + root.whiskerWidth / 2, root.quartile0))]]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# file generated by vcs-versioning
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"__version__",
|
|
7
|
+
"__version_tuple__",
|
|
8
|
+
"version",
|
|
9
|
+
"version_tuple",
|
|
10
|
+
"__commit_id__",
|
|
11
|
+
"commit_id",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
version: str
|
|
15
|
+
__version__: str
|
|
16
|
+
__version_tuple__: tuple[int | str, ...]
|
|
17
|
+
version_tuple: tuple[int | str, ...]
|
|
18
|
+
commit_id: str | None
|
|
19
|
+
__commit_id__: str | None
|
|
20
|
+
|
|
21
|
+
__version__ = version = '0.1.0a18'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 0, 'a18')
|
|
23
|
+
|
|
24
|
+
__commit_id__ = commit_id = 'g4e72ebf27'
|
|
@@ -42,6 +42,8 @@ If an element is not rendered correctly, create a \l {https://github.com/refeyn/
|
|
|
42
42
|
|
|
43
43
|
\list
|
|
44
44
|
\li \l Rectangle items must have \l {Rectangle::border.width} {border.width} set to zero if the border should be hidden. This is because the border width defaults to 1, and there is no public API for checking if the width or color has been set.
|
|
45
|
+
\li For \l Image items, the \c Image.Tile, \c Image.TileVertically, and \c Image.TileHorizontally options for \l {Image::fillMode} are not yet supported.
|
|
46
|
+
\li Network sources are not supported for \l Image and \l VectorImage items.
|
|
45
47
|
\endlist
|
|
46
48
|
|
|
47
49
|
*/
|
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
|
|
4
4
|
#include "Helpers.hpp"
|
|
5
5
|
|
|
6
|
+
#include <QAbstractTextDocumentLayout>
|
|
6
7
|
#include <QFile>
|
|
7
8
|
#include <QMatrix4x4>
|
|
8
9
|
#include <QPainter>
|
|
9
10
|
#include <QPainterPath>
|
|
11
|
+
#include <QQmlContext>
|
|
10
12
|
#include <QTextDocument>
|
|
11
13
|
#include <QtSvg/QSvgGenerator>
|
|
14
|
+
#include <QtSvg/QSvgRenderer>
|
|
12
15
|
|
|
13
16
|
#include "ImageView.hpp"
|
|
14
17
|
|
|
@@ -186,6 +189,82 @@ void exportPathElementToPainterPath(QObject* element, QPainterPath& path) {
|
|
|
186
189
|
else if (element->inherits("QQuickPathMove")) {
|
|
187
190
|
path.moveTo(element->property("x").toDouble(), element->property("y").toDouble());
|
|
188
191
|
}
|
|
192
|
+
else if (element->inherits("QQuickPathRectangle")) {
|
|
193
|
+
// Based on the Qt code in qtdeclarative/src/quick/util/qquickpath.cpp
|
|
194
|
+
auto bottomLeftBevel = element->property("bottomLeftBevel").toBool();
|
|
195
|
+
auto bottomRightBevel = element->property("bottomRightBevel").toBool();
|
|
196
|
+
auto topLeftBevel = element->property("topLeftBevel").toBool();
|
|
197
|
+
auto topRightBevel = element->property("topRightBevel").toBool();
|
|
198
|
+
auto bottomLeftRadius = element->property("bottomLeftRadius").toDouble();
|
|
199
|
+
auto bottomRightRadius = element->property("bottomRightRadius").toDouble();
|
|
200
|
+
auto topLeftRadius = element->property("topLeftRadius").toDouble();
|
|
201
|
+
auto topRightRadius = element->property("topRightRadius").toDouble();
|
|
202
|
+
auto strokeAdjustment = element->property("strokeAdjustment").toDouble();
|
|
203
|
+
auto height = element->property("height").toDouble();
|
|
204
|
+
auto width = element->property("width").toDouble();
|
|
205
|
+
auto x = element->property("x").toDouble();
|
|
206
|
+
auto y = element->property("y").toDouble();
|
|
207
|
+
|
|
208
|
+
auto rect = QRect(x, y, width, height);
|
|
209
|
+
auto halfStroke = strokeAdjustment * 0.5;
|
|
210
|
+
rect.adjust(halfStroke, halfStroke, -halfStroke, -halfStroke);
|
|
211
|
+
if (rect.isEmpty())
|
|
212
|
+
return;
|
|
213
|
+
|
|
214
|
+
// Radii must not exceed half of the width or half of the height
|
|
215
|
+
const qreal maxDiameter = qMin(rect.width(), rect.height());
|
|
216
|
+
const qreal diamTL = qMin(maxDiameter, 2 * topLeftRadius);
|
|
217
|
+
const qreal diamTR = qMin(maxDiameter, 2 * topRightRadius);
|
|
218
|
+
const qreal diamBL = qMin(maxDiameter, 2 * bottomLeftRadius);
|
|
219
|
+
const qreal diamBR = qMin(maxDiameter, 2 * bottomRightRadius);
|
|
220
|
+
|
|
221
|
+
path.moveTo(rect.left() + diamTL * 0.5, rect.top());
|
|
222
|
+
if (diamTR) {
|
|
223
|
+
if (!topRightBevel) {
|
|
224
|
+
// Rounded corners.
|
|
225
|
+
path.arcTo(QRectF(QPointF(rect.right() - diamTR, rect.top()), QSizeF(diamTR, diamTR)), 90, -90);
|
|
226
|
+
} else {
|
|
227
|
+
// Beveled corners.
|
|
228
|
+
path.lineTo(QPointF(rect.right() - diamTR * 0.5, rect.top()));
|
|
229
|
+
path.lineTo(QPointF(rect.right(), rect.top() + diamTR * 0.5));
|
|
230
|
+
}
|
|
231
|
+
} else {
|
|
232
|
+
// Regular corners.
|
|
233
|
+
path.lineTo(rect.topRight());
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (diamBR) {
|
|
237
|
+
if (!bottomRightBevel) {
|
|
238
|
+
path.arcTo(QRectF(QPointF(rect.right() - diamBR, rect.bottom() - diamBR), QSizeF(diamBR, diamBR)), 0, -90);
|
|
239
|
+
} else {
|
|
240
|
+
path.lineTo(QPointF(rect.right(), rect.bottom() - diamBR * 0.5));
|
|
241
|
+
path.lineTo(QPointF(rect.right() - diamBR * 0.5, rect.bottom()));
|
|
242
|
+
}
|
|
243
|
+
} else {
|
|
244
|
+
path.lineTo(rect.bottomRight());
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (diamBL) {
|
|
248
|
+
if (!bottomLeftBevel) {
|
|
249
|
+
path.arcTo(QRectF(QPointF(rect.left(), rect.bottom() - diamBL), QSizeF(diamBL, diamBL)), 270, -90);
|
|
250
|
+
} else {
|
|
251
|
+
path.lineTo(QPointF(rect.left() + diamBL * 0.5, rect.bottom()));
|
|
252
|
+
path.lineTo(QPointF(rect.left(), rect.bottom() - diamBL * 0.5));
|
|
253
|
+
}
|
|
254
|
+
} else {
|
|
255
|
+
path.lineTo(rect.bottomLeft());
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (diamTL) {
|
|
259
|
+
if (!topLeftBevel)
|
|
260
|
+
path.arcTo(QRectF(rect.topLeft(), QSizeF(diamTL, diamTL)), 180, -90);
|
|
261
|
+
else
|
|
262
|
+
path.lineTo(QPointF(rect.left(), rect.top() + diamTL * 0.5));
|
|
263
|
+
} else {
|
|
264
|
+
path.lineTo(rect.topLeft());
|
|
265
|
+
}
|
|
266
|
+
path.closeSubpath();
|
|
267
|
+
}
|
|
189
268
|
}
|
|
190
269
|
|
|
191
270
|
QBrush brushFromColorAndGradient(QVariant fillGradient, QVariant color, std::optional<QSizeF> simpleGradient) {
|
|
@@ -264,6 +343,31 @@ void exportShapePathToPainter(QObject* shapePath, QPainter* painter) {
|
|
|
264
343
|
painter->restore();
|
|
265
344
|
}
|
|
266
345
|
|
|
346
|
+
QRectF alignSizeInsideRect(QRectF area, QSizeF size, Qt::Alignment alignment) {
|
|
347
|
+
qreal x;
|
|
348
|
+
if (alignment & Qt::AlignLeft) {
|
|
349
|
+
x = 0;
|
|
350
|
+
}
|
|
351
|
+
else if (alignment & Qt::AlignRight) {
|
|
352
|
+
x = area.width() - size.width();
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
x = (area.width() - size.width()) / 2;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
qreal y;
|
|
359
|
+
if (alignment & Qt::AlignTop) {
|
|
360
|
+
y = 0;
|
|
361
|
+
}
|
|
362
|
+
else if (alignment & Qt::AlignBottom) {
|
|
363
|
+
y = area.height() - size.height();
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
y = (area.height() - size.height()) / 2;
|
|
367
|
+
}
|
|
368
|
+
return QRectF(QPointF(x, y), size);
|
|
369
|
+
}
|
|
370
|
+
|
|
267
371
|
void exportItemToPainter(QQuickItem* item, QPainter* painter) {
|
|
268
372
|
if (!item->isVisible()) {
|
|
269
373
|
return;
|
|
@@ -313,7 +417,8 @@ void exportItemToPainter(QQuickItem* item, QPainter* painter) {
|
|
|
313
417
|
if (item->inherits("QQuickText")) {
|
|
314
418
|
painter->save();
|
|
315
419
|
painter->setFont(item->property("font").value<QFont>());
|
|
316
|
-
|
|
420
|
+
auto color = item->property("color").value<QColor>();
|
|
421
|
+
painter->setPen(color);
|
|
317
422
|
auto textFormat = static_cast<Qt::TextFormat>(item->property("textFormat").toInt());
|
|
318
423
|
auto text = item->property("text").toString();
|
|
319
424
|
auto alignment = static_cast<Qt::AlignmentFlag>(
|
|
@@ -340,7 +445,9 @@ void exportItemToPainter(QQuickItem* item, QPainter* painter) {
|
|
|
340
445
|
option.setAlignment(alignment);
|
|
341
446
|
doc.setDefaultTextOption(option);
|
|
342
447
|
doc.setDefaultFont(painter->font());
|
|
343
|
-
|
|
448
|
+
QAbstractTextDocumentLayout::PaintContext ctx{};
|
|
449
|
+
ctx.palette.setColor(QPalette::Text, color);
|
|
450
|
+
doc.documentLayout()->draw(painter, ctx);
|
|
344
451
|
}
|
|
345
452
|
painter->restore();
|
|
346
453
|
}
|
|
@@ -385,6 +492,95 @@ void exportItemToPainter(QQuickItem* item, QPainter* painter) {
|
|
|
385
492
|
painter->drawImage(imageView->paintedRect(), imageView->image().flipped(flippedFlags));
|
|
386
493
|
}
|
|
387
494
|
|
|
495
|
+
else if (item->inherits("QQuickImage")) {
|
|
496
|
+
if (item->property("smooth").toBool()) {
|
|
497
|
+
painter->setRenderHint(QPainter::RenderHint::SmoothPixmapTransform, true);
|
|
498
|
+
}
|
|
499
|
+
auto flippedFlags = Qt::Orientations();
|
|
500
|
+
flippedFlags.setFlag(Qt::Horizontal, item->property("mirror").toBool());
|
|
501
|
+
flippedFlags.setFlag(Qt::Vertical, item->property("mirrorVertically").toBool());
|
|
502
|
+
auto source = item->property("source").toString();
|
|
503
|
+
auto ctx = qmlContext(item);
|
|
504
|
+
if (ctx) {
|
|
505
|
+
auto url = ctx->resolvedUrl(source);
|
|
506
|
+
source = url.scheme() == "file" ? url.toLocalFile() : url.toString();
|
|
507
|
+
}
|
|
508
|
+
auto image = QImage(source);
|
|
509
|
+
if (image.isNull()) {
|
|
510
|
+
qWarning() << __func__ << "Could not load" << source;
|
|
511
|
+
}
|
|
512
|
+
auto sourceClipRect = item->property("sourceClipRect").toRectF();
|
|
513
|
+
if (!sourceClipRect.isValid()) {
|
|
514
|
+
sourceClipRect = QRectF(0, 0, image.width(), image.height());
|
|
515
|
+
}
|
|
516
|
+
auto alignment = static_cast<Qt::Alignment>(
|
|
517
|
+
item->property("horizontalAlignment").toUInt() | item->property("verticalAlignment").toUInt()
|
|
518
|
+
);
|
|
519
|
+
auto sourceSize = item->property("sourceSize").toSizeF();
|
|
520
|
+
if (sourceSize.isNull()) {
|
|
521
|
+
sourceSize = sourceClipRect.size();
|
|
522
|
+
}
|
|
523
|
+
else {
|
|
524
|
+
sourceSize = sourceClipRect.size().scaled(sourceSize, Qt::KeepAspectRatio);
|
|
525
|
+
}
|
|
526
|
+
switch (item->property("fillMode").toInt()) {
|
|
527
|
+
case 0: // QQuickImage::FillMode::Stretch
|
|
528
|
+
break; // Don't need to do anything
|
|
529
|
+
case 1: // QQuickImage::FillMode::PreserveAspectFit
|
|
530
|
+
rect = alignSizeInsideRect(
|
|
531
|
+
rect, sourceClipRect.size().scaled(rect.size(), Qt::KeepAspectRatio), alignment
|
|
532
|
+
);
|
|
533
|
+
break;
|
|
534
|
+
case 2: // QQuickImage::FillMode::PreserveAspectCrop
|
|
535
|
+
sourceClipRect = alignSizeInsideRect(
|
|
536
|
+
sourceClipRect, rect.size().scaled(sourceClipRect.size(), Qt::KeepAspectRatio), alignment
|
|
537
|
+
);
|
|
538
|
+
break;
|
|
539
|
+
case 3: // QQuickImage::FillMode::Tile
|
|
540
|
+
case 4: // QQuickImage::FillMode::TileVertically
|
|
541
|
+
case 5: // QQuickImage::FillMode::TileHorizontally
|
|
542
|
+
qWarning() << __func__ << "Unsupported fillMode for QQuickImage";
|
|
543
|
+
break;
|
|
544
|
+
case 6: // QQuickImage::FillMode::Pad
|
|
545
|
+
rect = alignSizeInsideRect(rect, sourceSize, alignment);
|
|
546
|
+
break;
|
|
547
|
+
}
|
|
548
|
+
painter->drawImage(rect, image.flipped(flippedFlags), sourceClipRect);
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
else if (item->inherits("QQuickVectorImage")) {
|
|
552
|
+
auto source = item->property("source").toString();
|
|
553
|
+
auto ctx = qmlContext(item);
|
|
554
|
+
if (ctx) {
|
|
555
|
+
auto url = ctx->resolvedUrl(source);
|
|
556
|
+
source = url.scheme() == "file" ? url.toLocalFile() : url.toString();
|
|
557
|
+
}
|
|
558
|
+
QSvgRenderer renderer(source);
|
|
559
|
+
if (!renderer.isValid()) {
|
|
560
|
+
qWarning() << __func__ << "Could not load" << source;
|
|
561
|
+
}
|
|
562
|
+
switch (item->property("fillMode").toInt()) {
|
|
563
|
+
case 0: // QQuickVectorImage::FillMode::NoResize
|
|
564
|
+
rect = renderer.viewBoxF();
|
|
565
|
+
break;
|
|
566
|
+
case 1: // QQuickVectorImage::FillMode::PreserveAspectFit
|
|
567
|
+
rect = alignSizeInsideRect(
|
|
568
|
+
rect, renderer.viewBoxF().size().scaled(rect.size(), Qt::KeepAspectRatio),
|
|
569
|
+
Qt::AlignLeft | Qt::AlignTop
|
|
570
|
+
);
|
|
571
|
+
break;
|
|
572
|
+
case 2: // QQuickVectorImage::FillMode::PreserveAspectCrop
|
|
573
|
+
rect = alignSizeInsideRect(
|
|
574
|
+
rect, renderer.viewBoxF().size().scaled(rect.size(), Qt::KeepAspectRatioByExpanding),
|
|
575
|
+
Qt::AlignLeft | Qt::AlignTop
|
|
576
|
+
);
|
|
577
|
+
break;
|
|
578
|
+
case 3: // QQuickVectorImage::FillMode::Stretch
|
|
579
|
+
break; // Don't need to do anything
|
|
580
|
+
}
|
|
581
|
+
renderer.render(painter, rect);
|
|
582
|
+
}
|
|
583
|
+
|
|
388
584
|
for (auto c : children) {
|
|
389
585
|
if (c->z() >= 0) {
|
|
390
586
|
exportItemToPainter(c, painter);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
import os
|
|
5
|
+
import pathlib
|
|
6
|
+
import shutil
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
import PySide6
|
|
10
|
+
|
|
11
|
+
# Fix for PYSIDE-3267 (for some reason the linux tests don't need a fixup)
|
|
12
|
+
|
|
13
|
+
if sys.platform == "win32":
|
|
14
|
+
from_ = pathlib.Path(os.environ["QT_PATH"]) / "bin/Qt6QuickVectorImageHelpers.dll"
|
|
15
|
+
print("Copying", from_, "to", PySide6.__path__[0])
|
|
16
|
+
shutil.copy(from_, PySide6.__path__[0])
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
/*!
|
|
5
|
+
\title Horizontal bar chart
|
|
6
|
+
\ingroup quickgraphlibdemos
|
|
7
|
+
\brief A simple horizontal bar chart
|
|
8
|
+
\example barchartHorizontal
|
|
9
|
+
|
|
10
|
+
\image examples/BarChartHorizontal.png
|
|
11
|
+
|
|
12
|
+
\quotefile examples/BarChartHorizontal.qml
|
|
13
|
+
*/
|