PlotPy 2.7.0__tar.gz → 2.7.2__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.
- {plotpy-2.7.0 → plotpy-2.7.2}/CHANGELOG.md +18 -0
- {plotpy-2.7.0/PlotPy.egg-info → plotpy-2.7.2}/PKG-INFO +2 -2
- {plotpy-2.7.0 → plotpy-2.7.2/PlotPy.egg-info}/PKG-INFO +2 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/v1_to_v2.rst +17 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/__init__.py +1 -1
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/interfaces/items.py +17 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/annotation.py +7 -8
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/contour.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/curve/base.py +17 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/curve/errorbar.py +2 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/grid.py +17 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/histogram.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/base.py +17 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/filter.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/misc.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/label.py +18 -3
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/polygonmap.py +17 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/axis.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/base.py +16 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/ellipse.py +3 -4
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/marker.py +17 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/point.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/polygon.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/range.py +2 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/rectangle.py +2 -3
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/segment.py +1 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/svg.py +2 -2
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/itemlist.py +102 -42
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/plot/base.py +3 -1
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_annotations.py +4 -1
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_transform.py +3 -1
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/cross_section.py +1 -3
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/image.py +3 -3
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/shape.py +11 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/histogram2d.c +210 -210
- {plotpy-2.7.0 → plotpy-2.7.2}/src/mandelbrot.c +210 -210
- {plotpy-2.7.0 → plotpy-2.7.2}/LICENSE +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/MANIFEST.in +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/PlotPy.egg-info/SOURCES.txt +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/PlotPy.egg-info/dependency_links.txt +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/PlotPy.egg-info/entry_points.txt +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/PlotPy.egg-info/requires.txt +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/PlotPy.egg-info/top_level.txt +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/README.md +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/colormaps/README.md +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/colormaps/_cm.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/colormaps/colormap.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/colormaps/matplotlib_cmaps.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/_static/favicon.ico +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/changelog.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/conf.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/build.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/contribute.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/guiqwt_to_plotpy.csv +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/guiqwt_to_plotpy.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/platforms.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/v1_to_guidata_v3.csv +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/dev/v1_to_v2.csv +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/colormapmanager.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/events.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/fit.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/fliprotate.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/imagefile.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/io.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/items/builder.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/items/examples.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/items/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/items/overview.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/items/reference.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/mathutils/colormaps.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/mathutils/geometry.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/mathutils/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/mathutils/scaler.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/panels/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/panels/overview.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/panels/reference.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/plot/examples.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/plot/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/plot/overview.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/plot/reference.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/pyplot.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/resizedialog.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/rotatecrop.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/selectdialog.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/signals.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/styles/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/styles/overview.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/styles/reference.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/tools/examples.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/tools/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/tools/overview.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/features/tools/reference.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/my_plot_manager.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/my_plot_manager.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/panorama-vertical.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/panorama-vertical.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/panorama.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/panorama.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/plot_widgets.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/plot_widgets.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/plotpy-banner.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/plotpy-vertical.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/__init__.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/computations.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/contrast.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/cross_section.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/cross_section2.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/dotarraydemo.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/filtertest1.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/filtertest2.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/fit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/get_point.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/hist2d.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/image_plot_tools.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/imagefilter.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/imagesuperp.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/imagexy.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/manager.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/mandelbrot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/pcolor.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/plot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/simple_dialog.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/simple_window.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/images/screenshots/transform.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/intro/examples.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/intro/index.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/intro/installation.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/intro/licenses.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/intro/motivation.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/intro/overview.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/requirements.rst +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/doc/update_requirements.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/annotation.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/curvemarker.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/label.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/plot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/builder/shape.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/config.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/constants.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/coords.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/colormaps_default.json +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/apply.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/arredit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/arrow_down.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/arrow_up.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/autorefresh.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/autoscale.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/axes.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/busy.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/cell_edit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/center.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/cmap_edit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/contrast.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/copy.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/copytoclipboard.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csapplylut.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csautoscale.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csection.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csection_a.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csection_line.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csection_oblique.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/csperimage.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curve_downsample.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curvestyles/dots.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curvestyles/lines.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curvestyles/steps.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curvestyles/sticks.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curvetypes/xfy.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/curvetypes/yfx.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/delete.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/edit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/edit_point_selection.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/edit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/edit_add.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/editcopy.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/editdelete.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/editpaste.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/fileimport.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/filesave.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/imshow.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/insert.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/plot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/editors/rename.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/eliminate_outliers.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/eraser.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/exit.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/expander_down.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/expander_right.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/export.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/file.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/fileclose.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/fileimport.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filenew.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/fileopen.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filesave.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filesaveas.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/doc.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/gif.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/html.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/jpg.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/pdf.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/png.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/pps.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/ps.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/tar.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/tgz.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/tif.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/txt.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/xls.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/filetypes/zip.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/font.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/full_range.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/funct.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/hcursor.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/hflip.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/imagestats.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/item_list.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/annotation.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/curve.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/errorbar.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/grid.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/histogram.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/histogram2d.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/image.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/label.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/legend.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/items/polygonmap.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/magnifier.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/cross.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/diamond.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/ellipse.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/hexagon.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/point.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/square.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/star.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/triangle_d.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/triangle_l.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/triangle_r.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/triangle_u.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markers/xcross.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markerstyles/cross_marker.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markerstyles/horiz_marker.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/markerstyles/vert_marker.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/mask/mask_circle.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/mask/mask_circle_outside.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/mask/mask_rectangle.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/mask/mask_rectangle_outside.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/mask/mask_tool.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/max.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/min.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/move.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/multipoint_selection.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/none.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/not_found.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/on_curve.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/bdiagpattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/crosspattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense1pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense2pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense3pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense4pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense5pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense6pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/dense7pattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/diagcrosspattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/fdiagpattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/horpattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/nobrush.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/solidpattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/patterns/verpattern.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/plotpy-banner.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/plotpy-vertical.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/plotpy.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/point_selection.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/print.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/python.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/quickview.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/rectangular_select.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/refresh.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/save_all.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/scales/lin_lin.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/scales/lin_log.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/scales/log_lin.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/scales/log_log.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/selection.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/settings.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shape.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/circle.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/contour.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/ellipse_shape.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/gtaxes.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/marker.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/oblique_rectangle.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/point_shape.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/polygon.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/polyline.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/rectangle.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/shapes/segment.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/snapshot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/styles/dash.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/styles/dashdot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/styles/dashdotdot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/styles/dot.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/styles/solid.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/trash.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/trimage_lock.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/trimage_unlock.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/vcursor.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/vflip.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/xcursor.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/xmax.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/xmin.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/xrange.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/data/icons/zlog.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/events.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/_generic_range_slider.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/_generic_slider.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/_labeled.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/_misc.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/_range_style.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/external/sliders/_sliders.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/interfaces/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/interfaces/panel.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/interfaces/plotmanager.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/io.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/curve/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/image_items.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/masked.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/image/transform.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/items/shape/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/locale/fr/LC_MESSAGES/plotpy.mo +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/lutrange.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/mathutils/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/mathutils/arrayfuncs.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/mathutils/colormap.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/mathutils/geometry.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/mathutils/scaler.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/base.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/contrastadjustment.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/csection/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/csection/csitem.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/csection/csplot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/panels/csection/cswidget.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/plot/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/plot/interactive.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/plot/manager.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/plot/plotwidget.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/pyplot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/axes.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/base.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/curve.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/errorbar.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/histogram.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/label.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/polygonmap.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/styles/shape.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/benchmarks/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/benchmarks/test_benchmarks.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/benchmarks/test_bigimages.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/benchmarks/test_loadtest.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/conftest.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/data/brain.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/data/brain_cylinder.png +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/data/mr-brain.dcm +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/data/svg_target.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/data/svg_tool.svg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/data.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_auto_curve_image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_autoscale_shapes.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_builder.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_colormap_editor.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_colormap_manager.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_computations.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_contrast.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_cursors.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_dicom_image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_fit.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_image_coords.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_image_data_update.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_imagefilter.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_imagesuperp.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_loadsaveitems_hdf5.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_loadsaveitems_json.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_loadsaveitems_pickle.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_manager.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_no_auto_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_plot_log.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_plot_types.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_plot_yreverse.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_pyplot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/features/test_resize.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_curves.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_curves_highdpi.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_hist2d.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_histogram.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_image_contour.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_image_masked.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_image_masked_xy.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_image_rgb.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_image_xy.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_mandelbrot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_pcolor.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_polygons.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/items/test_svgshapes.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_actiontool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_cross_section.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_cross_section_line.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_cross_section_oblique.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_customize_shape_tool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_cyclic_import.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_downsample_curve.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_edit_point.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_get_point.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_get_points.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_get_rectangle.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_get_rectangle_with_svg.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_get_segment.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_image_plot_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_stats_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/tools/test_zaxislog.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_annotation_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_aspect_ratio_tool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_baseplot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_builder_annotation.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_builder_curve.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_builder_image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_builder_shape.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_contour.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_cursor_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_curve_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_display_coords_tool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_events.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_fontparam.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_geometry.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_io.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_line.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_line_cross_section_tool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_manipulate_selection.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_mask_tool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_multiline_tools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_oblique_cross_section_tool.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_plot_curve.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_plot_image.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_rect_zoom.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_seg_dist.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_styles.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/test_tools_export.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/unit/utils.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/vistools.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_dotarraydemo.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_filtertest1.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_filtertest2.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_fliprotate.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_plot_timecurve.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_qtdesigner.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_qtdesigner.ui +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_resize_dialog.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_rotatecrop.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_simple_dialog.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_simple_window.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_syncplot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tests/widgets/test_theme.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/annotation.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/axes.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/base.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/cursor.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/curve.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/item.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/label.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/misc.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/plot.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/tools/selection.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/about.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/basetransform.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/colormap/__init__.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/colormap/_slider.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/colormap/editor.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/colormap/manager.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/colormap/widget.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/fit.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/fliprotate.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/imagefile.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/qtdesigner.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/resizedialog.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/rotatecrop.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy/widgets/selectdialog.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/plotpy-tests.desktop +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/pyproject.toml +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/qtdesigner/plotplugin.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/requirements.txt +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/setup.cfg +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/setup.py +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/arrays.hpp +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/debug.hpp +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/histogram2d.pyx +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/mandelbrot.pyx +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/pcolor.cpp +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/points.hpp +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/scaler.cpp +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/scaler.hpp +0 -0
- {plotpy-2.7.0 → plotpy-2.7.2}/src/traits.hpp +0 -0
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog #
|
|
2
2
|
|
|
3
|
+
## Version 2.7.2 ##
|
|
4
|
+
|
|
5
|
+
🛠️ Bug fixes:
|
|
6
|
+
|
|
7
|
+
* [Issue #32](https://github.com/PlotPyStack/PlotPy/issues/32) - Plot item list panel's parameters dialog box is empty for non-selectable items
|
|
8
|
+
* [Issue #30](https://github.com/PlotPyStack/PlotPy/issues/30) - `handle_final_shape_cb` argument doesn't work on `MultilineTool`, `PolygonTool`, `AnnotatedPolygonTool`
|
|
9
|
+
|
|
10
|
+
## Version 2.7.1 ##
|
|
11
|
+
|
|
12
|
+
🛠️ Bug fixes:
|
|
13
|
+
|
|
14
|
+
* Fixed update `canvasRect` type to `QRectF` for intersection checks in `CircleSVGShape`, following [this bug fix](https://github.com/PlotPyStack/PythonQwt/commit/d0b5e26d8f78a9a65939503553f1bc1b56826e4e) in `PythonQwt` V0.14.4
|
|
15
|
+
* Fixed regression with respect to `guiqwt` regarding plot items instantiation:
|
|
16
|
+
* `guiqwt` was allowing to instantiate plot items without needing to create a `QApplication` instance (no GUI event loop was required)
|
|
17
|
+
* This was not the case with `plotpy`, so that it was not possible -for example- to serialize/deserialize plot items to JSON without creating a `QApplication` instance
|
|
18
|
+
* This has been fixed by removing the `QIcon` instantiation from the plot items constructors (call to `QwtPlotItem.setIcon` method). Note that -in the meantime- `QwtPlotItem.setIcon` and `QwtPlotItem.icon` methods have also been removed in PythonQwt V0.14.3. Code relying on this feature should thus be updated to use the new `get_icon_name` method instead, i.e. `get_icon(item.get_icon_name())` instead of `item.icon()`.
|
|
19
|
+
* [Issue #26](https://github.com/PlotPyStack/PlotPy/issues/26) - Item list panel should not allow to select a non-selectable item
|
|
20
|
+
|
|
3
21
|
## Version 2.7.0 ##
|
|
4
22
|
|
|
5
23
|
Supported versions of Python have been updated (drop support for Python 3.8, add support for Python 3.13):
|
|
@@ -85,3 +85,20 @@ functions are:
|
|
|
85
85
|
:py:meth:`.PlotBuilder.trimage`, :py:meth:`.PlotBuilder.rgbimage`, and
|
|
86
86
|
:py:meth:`.PlotBuilder.quadgrid`. If you were using it, you should
|
|
87
87
|
replace it by the new ``alpha_function`` parameter.
|
|
88
|
+
|
|
89
|
+
Plot item icon handling
|
|
90
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
|
91
|
+
|
|
92
|
+
The `guiqwt` library was allowing to instantiate plot items without needing to create
|
|
93
|
+
a `QApplication` instance (no GUI event loop was required). This was not the case with
|
|
94
|
+
`plotpy` V1, so that it was not possible -for example- to serialize/deserialize plot
|
|
95
|
+
items to JSON without creating a `QApplication` instance.
|
|
96
|
+
|
|
97
|
+
With `plotpy` V2, this has been fixed by removing the `QIcon` instantiation from the
|
|
98
|
+
plot items constructors (call to `QwtPlotItem.setIcon` method).
|
|
99
|
+
|
|
100
|
+
Note that -in the meantime- `QwtPlotItem.setIcon` and `QwtPlotItem.icon` methods have
|
|
101
|
+
also been removed in PythonQwt V0.14.3.
|
|
102
|
+
|
|
103
|
+
Code relying on this feature should thus be updated to use the new `get_icon_name`
|
|
104
|
+
method instead, i.e. `get_icon(item.get_icon_name())` instead of `item.icon()`.
|
|
@@ -20,7 +20,7 @@ External resources:
|
|
|
20
20
|
.. _GitHub: https://github.com/PierreRaybaut/plotpy
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
__version__ = "2.7.
|
|
23
|
+
__version__ = "2.7.2"
|
|
24
24
|
__VERSION__ = tuple([int(number) for number in __version__.split(".")])
|
|
25
25
|
|
|
26
26
|
# --- Important note: DATAPATH and LOCALEPATH are used by guidata.configtools
|
|
@@ -249,6 +249,23 @@ class IBasePlotItem:
|
|
|
249
249
|
_can_move = True
|
|
250
250
|
_can_resize = True
|
|
251
251
|
_can_rotate = True
|
|
252
|
+
_icon_name = "" # Icon name (e.g. "point.png")
|
|
253
|
+
|
|
254
|
+
def get_icon_name(self) -> str:
|
|
255
|
+
"""Return the icon name
|
|
256
|
+
|
|
257
|
+
Returns:
|
|
258
|
+
Icon name
|
|
259
|
+
"""
|
|
260
|
+
return self._icon_name
|
|
261
|
+
|
|
262
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
263
|
+
"""Set the icon name
|
|
264
|
+
|
|
265
|
+
Args:
|
|
266
|
+
icon_name: Icon name
|
|
267
|
+
"""
|
|
268
|
+
self._icon_name = icon_name
|
|
252
269
|
|
|
253
270
|
def set_selectable(self, state: bool) -> None:
|
|
254
271
|
"""Set item selectable state
|
|
@@ -17,7 +17,6 @@ from __future__ import annotations
|
|
|
17
17
|
from typing import TYPE_CHECKING, Callable
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
|
-
from guidata.configtools import get_icon
|
|
21
20
|
from guidata.dataset import update_dataset
|
|
22
21
|
from guidata.utils.misc import assert_interfaces_valid
|
|
23
22
|
|
|
@@ -60,6 +59,7 @@ class AnnotatedShape(AbstractShape):
|
|
|
60
59
|
"""
|
|
61
60
|
|
|
62
61
|
__implements__ = (IBasePlotItem, ISerializableType)
|
|
62
|
+
_icon_name = "annotation.png"
|
|
63
63
|
SHAPE_CLASS: type[AbstractShape] = RectangleShape # to be overridden
|
|
64
64
|
LABEL_ANCHOR: str = ""
|
|
65
65
|
|
|
@@ -88,7 +88,6 @@ class AnnotatedShape(AbstractShape):
|
|
|
88
88
|
else:
|
|
89
89
|
self.annotationparam = annotationparam
|
|
90
90
|
self.annotationparam.update_item(self)
|
|
91
|
-
self.setIcon(get_icon("annotation.png"))
|
|
92
91
|
|
|
93
92
|
def types(self) -> tuple[type[IItemType], ...]:
|
|
94
93
|
"""Returns a group or category for this item.
|
|
@@ -485,6 +484,7 @@ class AnnotatedPoint(AnnotatedShape):
|
|
|
485
484
|
*annotationparam* (see :py:class:`.styles.AnnotationParam`)
|
|
486
485
|
"""
|
|
487
486
|
|
|
487
|
+
_icon_name = "point_shape.png"
|
|
488
488
|
SHAPE_CLASS = PointShape
|
|
489
489
|
LABEL_ANCHOR = "TL"
|
|
490
490
|
|
|
@@ -498,7 +498,6 @@ class AnnotatedPoint(AnnotatedShape):
|
|
|
498
498
|
super().__init__(annotationparam, info_callback)
|
|
499
499
|
self.shape: PointShape
|
|
500
500
|
self.set_pos(x, y)
|
|
501
|
-
self.setIcon(get_icon("point_shape.png"))
|
|
502
501
|
|
|
503
502
|
# ----Public API-------------------------------------------------------------
|
|
504
503
|
def set_pos(self, x, y):
|
|
@@ -547,6 +546,7 @@ class AnnotatedSegment(AnnotatedShape):
|
|
|
547
546
|
(see :py:class:`.styles.AnnotationParam`)
|
|
548
547
|
"""
|
|
549
548
|
|
|
549
|
+
_icon_name = "segment.png"
|
|
550
550
|
SHAPE_CLASS = SegmentShape
|
|
551
551
|
LABEL_ANCHOR = "C"
|
|
552
552
|
|
|
@@ -562,7 +562,6 @@ class AnnotatedSegment(AnnotatedShape):
|
|
|
562
562
|
super().__init__(annotationparam, info_callback)
|
|
563
563
|
self.shape: SegmentShape
|
|
564
564
|
self.set_rect(x1, y1, x2, y2)
|
|
565
|
-
self.setIcon(get_icon("segment.png"))
|
|
566
565
|
|
|
567
566
|
# ----Public API-------------------------------------------------------------
|
|
568
567
|
def set_rect(self, x1, y1, x2, y2):
|
|
@@ -619,6 +618,7 @@ class AnnotatedPolygon(AnnotatedShape):
|
|
|
619
618
|
annotationparam: Annotation parameters
|
|
620
619
|
"""
|
|
621
620
|
|
|
621
|
+
_icon_name = "polygon.png"
|
|
622
622
|
SHAPE_CLASS = PolygonShape
|
|
623
623
|
LABEL_ANCHOR = "C"
|
|
624
624
|
|
|
@@ -635,7 +635,6 @@ class AnnotatedPolygon(AnnotatedShape):
|
|
|
635
635
|
self.set_points(points)
|
|
636
636
|
if closed is not None:
|
|
637
637
|
self.set_closed(closed)
|
|
638
|
-
self.setIcon(get_icon("polygon.png"))
|
|
639
638
|
|
|
640
639
|
# ----Public API-------------------------------------------------------------
|
|
641
640
|
def set_points(self, points: list[tuple[float, float]] | np.ndarray | None) -> None:
|
|
@@ -775,6 +774,7 @@ class AnnotatedRectangle(AnnotatedShape):
|
|
|
775
774
|
(see :py:class:`.styles.AnnotationParam`)
|
|
776
775
|
"""
|
|
777
776
|
|
|
777
|
+
_icon_name = "rectangle.png"
|
|
778
778
|
SHAPE_CLASS = RectangleShape
|
|
779
779
|
LABEL_ANCHOR = "TL"
|
|
780
780
|
|
|
@@ -790,7 +790,6 @@ class AnnotatedRectangle(AnnotatedShape):
|
|
|
790
790
|
super().__init__(annotationparam, info_callback)
|
|
791
791
|
self.shape: RectangleShape
|
|
792
792
|
self.set_rect(x1, y1, x2, y2)
|
|
793
|
-
self.setIcon(get_icon("rectangle.png"))
|
|
794
793
|
|
|
795
794
|
# ----Public API-------------------------------------------------------------
|
|
796
795
|
def set_rect(self, x1, y1, x2, y2):
|
|
@@ -842,6 +841,7 @@ class AnnotatedObliqueRectangle(AnnotatedRectangle):
|
|
|
842
841
|
(see :py:class:`.styles.AnnotationParam`)
|
|
843
842
|
"""
|
|
844
843
|
|
|
844
|
+
_icon_name = "oblique_rectangle.png"
|
|
845
845
|
SHAPE_CLASS = ObliqueRectangleShape
|
|
846
846
|
LABEL_ANCHOR = "C"
|
|
847
847
|
|
|
@@ -851,7 +851,6 @@ class AnnotatedObliqueRectangle(AnnotatedRectangle):
|
|
|
851
851
|
AnnotatedShape.__init__(self, annotationparam)
|
|
852
852
|
self.shape: ObliqueRectangleShape
|
|
853
853
|
self.set_rect(x0, y0, x1, y1, x2, y2, x3, y3)
|
|
854
|
-
self.setIcon(get_icon("oblique_rectangle.png"))
|
|
855
854
|
|
|
856
855
|
# ----Public API-------------------------------------------------------------
|
|
857
856
|
def get_tr_angle(self):
|
|
@@ -940,6 +939,7 @@ class AnnotatedEllipse(AnnotatedShape):
|
|
|
940
939
|
(see :py:class:`.styles.AnnotationParam`)
|
|
941
940
|
"""
|
|
942
941
|
|
|
942
|
+
_icon_name = "ellipse_shape.png"
|
|
943
943
|
SHAPE_CLASS = EllipseShape
|
|
944
944
|
LABEL_ANCHOR = "C"
|
|
945
945
|
|
|
@@ -955,7 +955,6 @@ class AnnotatedEllipse(AnnotatedShape):
|
|
|
955
955
|
super().__init__(annotationparam, info_callback)
|
|
956
956
|
self.shape: EllipseShape
|
|
957
957
|
self.set_xdiameter(x1, y1, x2, y2)
|
|
958
|
-
self.setIcon(get_icon("ellipse_shape.png"))
|
|
959
958
|
self.switch_to_ellipse()
|
|
960
959
|
|
|
961
960
|
# ----Public API-------------------------------------------------------------
|
|
@@ -24,7 +24,6 @@ from __future__ import annotations
|
|
|
24
24
|
|
|
25
25
|
import guidata.dataset as gds
|
|
26
26
|
import numpy as np
|
|
27
|
-
from guidata.configtools import get_icon
|
|
28
27
|
from guidata.utils.misc import assert_interfaces_valid
|
|
29
28
|
from skimage import measure
|
|
30
29
|
|
|
@@ -110,10 +109,10 @@ class ContourItem(PolygonShape):
|
|
|
110
109
|
_can_resize = False
|
|
111
110
|
_can_rotate = False
|
|
112
111
|
_can_move = False
|
|
112
|
+
_icon_name = "contour.png"
|
|
113
113
|
|
|
114
114
|
def __init__(self, points=None, shapeparam=None):
|
|
115
115
|
super().__init__(points, closed=True, shapeparam=shapeparam)
|
|
116
|
-
self.setIcon(get_icon("contour.png"))
|
|
117
116
|
|
|
118
117
|
|
|
119
118
|
assert_interfaces_valid(ContourItem)
|
|
@@ -6,7 +6,6 @@ import sys
|
|
|
6
6
|
from typing import TYPE_CHECKING
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
|
-
from guidata.configtools import get_icon
|
|
10
9
|
from guidata.dataset import update_dataset
|
|
11
10
|
from guidata.utils.misc import assert_interfaces_valid
|
|
12
11
|
from qtpy import QtCore as QC
|
|
@@ -111,6 +110,7 @@ class CurveItem(QwtPlotCurve):
|
|
|
111
110
|
|
|
112
111
|
_readonly = False
|
|
113
112
|
_private = False
|
|
113
|
+
_icon_name = "curve.png"
|
|
114
114
|
|
|
115
115
|
def __init__(self, curveparam: CurveParam | None = None) -> None:
|
|
116
116
|
super().__init__()
|
|
@@ -123,7 +123,6 @@ class CurveItem(QwtPlotCurve):
|
|
|
123
123
|
self._x = None
|
|
124
124
|
self._y = None
|
|
125
125
|
self.update_params()
|
|
126
|
-
self.setIcon(get_icon("curve.png"))
|
|
127
126
|
|
|
128
127
|
def _get_visible_axis_min(self, axis_id: int, axis_data: np.ndarray) -> float:
|
|
129
128
|
"""Return axis minimum excluding zero and negative values when
|
|
@@ -172,6 +171,22 @@ class CurveItem(QwtPlotCurve):
|
|
|
172
171
|
"""
|
|
173
172
|
return (ICurveItemType, ITrackableItemType, ISerializableType)
|
|
174
173
|
|
|
174
|
+
def get_icon_name(self) -> str:
|
|
175
|
+
"""Return the icon name
|
|
176
|
+
|
|
177
|
+
Returns:
|
|
178
|
+
Icon name
|
|
179
|
+
"""
|
|
180
|
+
return self._icon_name
|
|
181
|
+
|
|
182
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
183
|
+
"""Set the icon name
|
|
184
|
+
|
|
185
|
+
Args:
|
|
186
|
+
icon_name: Icon name
|
|
187
|
+
"""
|
|
188
|
+
self._icon_name = icon_name
|
|
189
|
+
|
|
175
190
|
def set_selectable(self, state: bool) -> None:
|
|
176
191
|
"""Set item selectable state
|
|
177
192
|
|
|
@@ -6,7 +6,6 @@ import warnings
|
|
|
6
6
|
from typing import TYPE_CHECKING
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
|
-
from guidata.configtools import get_icon
|
|
10
9
|
from guidata.dataset import update_dataset
|
|
11
10
|
from guidata.utils.misc import assert_interfaces_valid
|
|
12
11
|
from qtpy import QtCore as QC
|
|
@@ -56,6 +55,8 @@ class ErrorBarCurveItem(CurveItem):
|
|
|
56
55
|
errorbarparam: Error-bar parameters
|
|
57
56
|
"""
|
|
58
57
|
|
|
58
|
+
_icon_name = "errorbar.png"
|
|
59
|
+
|
|
59
60
|
def __init__(
|
|
60
61
|
self,
|
|
61
62
|
curveparam: CurveParam | None = None,
|
|
@@ -73,7 +74,6 @@ class ErrorBarCurveItem(CurveItem):
|
|
|
73
74
|
self._dx = None
|
|
74
75
|
self._dy = None
|
|
75
76
|
self.__minmaxarrays: dict[bool, tuple[float, float, float, float]] = {}
|
|
76
|
-
self.setIcon(get_icon("errorbar.png"))
|
|
77
77
|
|
|
78
78
|
def serialize(
|
|
79
79
|
self,
|
|
@@ -10,7 +10,6 @@ from __future__ import annotations
|
|
|
10
10
|
import sys
|
|
11
11
|
from typing import TYPE_CHECKING
|
|
12
12
|
|
|
13
|
-
from guidata.configtools import get_icon
|
|
14
13
|
from guidata.utils.misc import assert_interfaces_valid
|
|
15
14
|
from qwt import QwtPlot, QwtPlotGrid
|
|
16
15
|
|
|
@@ -36,6 +35,7 @@ class GridItem(QwtPlotGrid):
|
|
|
36
35
|
|
|
37
36
|
_readonly = True
|
|
38
37
|
_private = False
|
|
38
|
+
_icon_name = "grid.png"
|
|
39
39
|
|
|
40
40
|
def __init__(self, gridparam: GridParam | None = None) -> None:
|
|
41
41
|
super().__init__()
|
|
@@ -47,7 +47,6 @@ class GridItem(QwtPlotGrid):
|
|
|
47
47
|
self.immutable = True # set to false to allow moving points around
|
|
48
48
|
self.update_params() # won't work completely because it's not yet
|
|
49
49
|
# attached to plot (actually, only canvas background won't be updated)
|
|
50
|
-
self.setIcon(get_icon("grid.png"))
|
|
51
50
|
|
|
52
51
|
def types(self) -> tuple[type[IItemType], ...]:
|
|
53
52
|
"""Returns a group or category for this item.
|
|
@@ -95,6 +94,22 @@ class GridItem(QwtPlotGrid):
|
|
|
95
94
|
"""
|
|
96
95
|
return self._private
|
|
97
96
|
|
|
97
|
+
def get_icon_name(self) -> str:
|
|
98
|
+
"""Return the icon name
|
|
99
|
+
|
|
100
|
+
Returns:
|
|
101
|
+
Icon name
|
|
102
|
+
"""
|
|
103
|
+
return self._icon_name
|
|
104
|
+
|
|
105
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
106
|
+
"""Set the icon name
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
icon_name: Icon name
|
|
110
|
+
"""
|
|
111
|
+
self._icon_name = icon_name
|
|
112
|
+
|
|
98
113
|
def set_selectable(self, state: bool) -> None:
|
|
99
114
|
"""Set item selectable state
|
|
100
115
|
|
|
@@ -12,7 +12,6 @@ import weakref
|
|
|
12
12
|
from typing import TYPE_CHECKING
|
|
13
13
|
|
|
14
14
|
import numpy as np
|
|
15
|
-
from guidata.configtools import get_icon
|
|
16
15
|
from guidata.dataset import update_dataset
|
|
17
16
|
from guidata.utils.misc import assert_interfaces_valid
|
|
18
17
|
from qwt import QwtPlotCurve
|
|
@@ -67,6 +66,7 @@ class HistogramItem(CurveItem):
|
|
|
67
66
|
"""
|
|
68
67
|
|
|
69
68
|
__implements__ = (IBasePlotItem,)
|
|
69
|
+
_icon_name = "histogram.png"
|
|
70
70
|
|
|
71
71
|
def __init__(
|
|
72
72
|
self,
|
|
@@ -92,7 +92,6 @@ class HistogramItem(CurveItem):
|
|
|
92
92
|
self.histparam = histparam
|
|
93
93
|
CurveItem.__init__(self, curveparam)
|
|
94
94
|
self.setCurveAttribute(QwtPlotCurve.Inverted)
|
|
95
|
-
self.setIcon(get_icon("histogram.png"))
|
|
96
95
|
|
|
97
96
|
def set_hist_source(self, src: BaseImageItem) -> None:
|
|
98
97
|
"""Set histogram source
|
|
@@ -10,7 +10,6 @@ import os.path as osp
|
|
|
10
10
|
from typing import TYPE_CHECKING, Any
|
|
11
11
|
|
|
12
12
|
import numpy as np
|
|
13
|
-
from guidata.configtools import get_icon
|
|
14
13
|
from guidata.dataset import update_dataset
|
|
15
14
|
from guidata.utils.misc import assert_interfaces_valid
|
|
16
15
|
from qtpy import QtCore as QC
|
|
@@ -82,6 +81,7 @@ class BaseImageItem(QwtPlotItem):
|
|
|
82
81
|
_can_rotate = False
|
|
83
82
|
_readonly = False
|
|
84
83
|
_private = False
|
|
84
|
+
_icon_name = "image.png"
|
|
85
85
|
|
|
86
86
|
def __init__(
|
|
87
87
|
self, data: np.ndarray | None = None, param: Any | None = None
|
|
@@ -134,7 +134,6 @@ class BaseImageItem(QwtPlotItem):
|
|
|
134
134
|
if data is not None:
|
|
135
135
|
self.set_data(data)
|
|
136
136
|
self.param.update_item(self)
|
|
137
|
-
self.setIcon(get_icon("image.png"))
|
|
138
137
|
|
|
139
138
|
# ---- Public API ----------------------------------------------------------
|
|
140
139
|
def get_default_param(self) -> Any:
|
|
@@ -777,6 +776,22 @@ class BaseImageItem(QwtPlotItem):
|
|
|
777
776
|
"""
|
|
778
777
|
return self.data is None or self.data.size == 0
|
|
779
778
|
|
|
779
|
+
def get_icon_name(self) -> str:
|
|
780
|
+
"""Return the icon name
|
|
781
|
+
|
|
782
|
+
Returns:
|
|
783
|
+
Icon name
|
|
784
|
+
"""
|
|
785
|
+
return self._icon_name
|
|
786
|
+
|
|
787
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
788
|
+
"""Set the icon name
|
|
789
|
+
|
|
790
|
+
Args:
|
|
791
|
+
icon_name: Icon name
|
|
792
|
+
"""
|
|
793
|
+
self._icon_name = icon_name
|
|
794
|
+
|
|
780
795
|
def set_selectable(self, state: bool) -> None:
|
|
781
796
|
"""Set item selectable state
|
|
782
797
|
|
|
@@ -7,7 +7,6 @@ from collections.abc import Callable
|
|
|
7
7
|
from typing import TYPE_CHECKING
|
|
8
8
|
|
|
9
9
|
import numpy as np
|
|
10
|
-
from guidata.configtools import get_icon
|
|
11
10
|
from guidata.dataset import update_dataset
|
|
12
11
|
from guidata.utils.misc import assert_interfaces_valid
|
|
13
12
|
from qtpy import QtCore as QC
|
|
@@ -75,6 +74,7 @@ class ImageFilterItem(BaseImageItem):
|
|
|
75
74
|
_can_select = True
|
|
76
75
|
_can_resize = True
|
|
77
76
|
_can_move = True
|
|
77
|
+
_icon_name = "funct.png"
|
|
78
78
|
|
|
79
79
|
def __init__(
|
|
80
80
|
self, image: RawImageItem | None, filter: Callable, param: ImageFilterParam
|
|
@@ -92,7 +92,6 @@ class ImageFilterItem(BaseImageItem):
|
|
|
92
92
|
|
|
93
93
|
self.imagefilterparam = param
|
|
94
94
|
self.imagefilterparam.update_imagefilter(self)
|
|
95
|
-
self.setIcon(get_icon("funct.png"))
|
|
96
95
|
|
|
97
96
|
# ---- Public API -----------------------------------------------------------
|
|
98
97
|
def set_image(self, image: RawImageItem | None) -> None:
|
|
@@ -6,7 +6,6 @@ import sys
|
|
|
6
6
|
from typing import TYPE_CHECKING
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
|
-
from guidata.configtools import get_icon
|
|
10
9
|
from guidata.dataset import update_dataset
|
|
11
10
|
from guidata.utils.misc import assert_interfaces_valid
|
|
12
11
|
from qtpy import QtCore as QC
|
|
@@ -206,6 +205,7 @@ class Histogram2DItem(BaseImageItem):
|
|
|
206
205
|
"""
|
|
207
206
|
|
|
208
207
|
__implements__ = (IBasePlotItem, IBaseImageItem, IHistDataSource, IVoiImageItemType)
|
|
208
|
+
_icon_name = "histogram2d.png"
|
|
209
209
|
|
|
210
210
|
def __init__(
|
|
211
211
|
self,
|
|
@@ -234,7 +234,6 @@ class Histogram2DItem(BaseImageItem):
|
|
|
234
234
|
|
|
235
235
|
self.set_lut_range([0, 10.0])
|
|
236
236
|
self.set_data(X, Y, Z)
|
|
237
|
-
self.setIcon(get_icon("histogram2d.png"))
|
|
238
237
|
|
|
239
238
|
# ---- BaseImageItem API ---------------------------------------------------
|
|
240
239
|
def get_default_param(self) -> Histogram2DParam:
|
|
@@ -16,7 +16,6 @@ from __future__ import annotations
|
|
|
16
16
|
from typing import TYPE_CHECKING, Any
|
|
17
17
|
|
|
18
18
|
import numpy as np
|
|
19
|
-
from guidata.configtools import get_icon
|
|
20
19
|
from guidata.dataset import update_dataset
|
|
21
20
|
from guidata.utils.misc import assert_interfaces_valid
|
|
22
21
|
from qtpy import QtCore as QC
|
|
@@ -207,6 +206,22 @@ class AbstractLabelItem(QwtPlotItem):
|
|
|
207
206
|
y0 = yMap.transform(self.G[1])
|
|
208
207
|
return x0, y0
|
|
209
208
|
|
|
209
|
+
def get_icon_name(self) -> str:
|
|
210
|
+
"""Return the icon name
|
|
211
|
+
|
|
212
|
+
Returns:
|
|
213
|
+
Icon name
|
|
214
|
+
"""
|
|
215
|
+
return self._icon_name
|
|
216
|
+
|
|
217
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
218
|
+
"""Set the icon name
|
|
219
|
+
|
|
220
|
+
Args:
|
|
221
|
+
icon_name: Icon name
|
|
222
|
+
"""
|
|
223
|
+
self._icon_name = icon_name
|
|
224
|
+
|
|
210
225
|
def set_selectable(self, state: bool) -> None:
|
|
211
226
|
"""Set item selectable state
|
|
212
227
|
|
|
@@ -497,6 +512,7 @@ class LabelItem(AbstractLabelItem):
|
|
|
497
512
|
"""
|
|
498
513
|
|
|
499
514
|
__implements__ = (IBasePlotItem, ISerializableType)
|
|
515
|
+
_icon_name = "label.png"
|
|
500
516
|
|
|
501
517
|
def __init__(
|
|
502
518
|
self, text: str | None = None, labelparam: LabelParam | None = None
|
|
@@ -505,7 +521,6 @@ class LabelItem(AbstractLabelItem):
|
|
|
505
521
|
self.text = QG.QTextDocument()
|
|
506
522
|
self.marker: qwt.symbol.QwtSymbol | None = None
|
|
507
523
|
super().__init__(labelparam)
|
|
508
|
-
self.setIcon(get_icon("label.png"))
|
|
509
524
|
|
|
510
525
|
def __reduce__(self) -> tuple[type, tuple]:
|
|
511
526
|
"""Return a tuple containing the constructor and its arguments"""
|
|
@@ -645,6 +660,7 @@ class LegendBoxItem(AbstractLabelItem):
|
|
|
645
660
|
"""
|
|
646
661
|
|
|
647
662
|
__implements__ = (IBasePlotItem, ISerializableType)
|
|
663
|
+
_icon_name = "legend.png"
|
|
648
664
|
|
|
649
665
|
def __init__(self, labelparam: LabelParam = None) -> None:
|
|
650
666
|
self.font = None
|
|
@@ -652,7 +668,6 @@ class LegendBoxItem(AbstractLabelItem):
|
|
|
652
668
|
super().__init__(labelparam)
|
|
653
669
|
# saves the last computed sizes
|
|
654
670
|
self.sizes = 0.0, 0.0, 0.0, 0.0
|
|
655
|
-
self.setIcon(get_icon("legend.png"))
|
|
656
671
|
|
|
657
672
|
def types(self) -> tuple[type[IItemType], ...]:
|
|
658
673
|
"""Returns a group or category for this item.
|
|
@@ -11,7 +11,6 @@ from sys import maxsize
|
|
|
11
11
|
from typing import TYPE_CHECKING
|
|
12
12
|
|
|
13
13
|
import numpy as np
|
|
14
|
-
from guidata.configtools import get_icon
|
|
15
14
|
from guidata.dataset import update_dataset
|
|
16
15
|
from guidata.utils.misc import assert_interfaces_valid
|
|
17
16
|
from qtpy import QtCore as QC
|
|
@@ -64,6 +63,7 @@ class PolygonMapItem(QwtPlotItem):
|
|
|
64
63
|
_can_resize = False
|
|
65
64
|
_can_move = False
|
|
66
65
|
_can_rotate = False
|
|
66
|
+
_icon_name = "polygonmap.png"
|
|
67
67
|
|
|
68
68
|
def __init__(self, param: PolygonMapParam | None = None) -> None:
|
|
69
69
|
super().__init__()
|
|
@@ -78,7 +78,6 @@ class PolygonMapItem(QwtPlotItem):
|
|
|
78
78
|
# (polygon k points are _pts[_n[k-1]:_n[k]])
|
|
79
79
|
self._c = None # Color of polygon Nx2 [border,background] as RGBA uint32
|
|
80
80
|
self.update_params()
|
|
81
|
-
self.setIcon(get_icon("polygonmap.png"))
|
|
82
81
|
|
|
83
82
|
def types(self) -> tuple[type[IItemType], ...]:
|
|
84
83
|
"""Returns a group or category for this item.
|
|
@@ -125,6 +124,22 @@ class PolygonMapItem(QwtPlotItem):
|
|
|
125
124
|
"""
|
|
126
125
|
return self._can_move
|
|
127
126
|
|
|
127
|
+
def get_icon_name(self) -> str:
|
|
128
|
+
"""Return the icon name
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
Icon name
|
|
132
|
+
"""
|
|
133
|
+
return self._icon_name
|
|
134
|
+
|
|
135
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
136
|
+
"""Set the icon name
|
|
137
|
+
|
|
138
|
+
Args:
|
|
139
|
+
icon_name: Icon name
|
|
140
|
+
"""
|
|
141
|
+
self._icon_name = icon_name
|
|
142
|
+
|
|
128
143
|
def set_selectable(self, state: bool) -> None:
|
|
129
144
|
"""Set item selectable state
|
|
130
145
|
|
|
@@ -6,7 +6,6 @@ import math
|
|
|
6
6
|
from typing import TYPE_CHECKING
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
|
-
from guidata.configtools import get_icon
|
|
10
9
|
from guidata.dataset import update_dataset
|
|
11
10
|
from guidata.utils.misc import assert_interfaces_valid
|
|
12
11
|
from qtpy import QtCore as QC
|
|
@@ -38,6 +37,7 @@ class Axes(PolygonShape):
|
|
|
38
37
|
"""
|
|
39
38
|
|
|
40
39
|
CLOSED: bool = True
|
|
40
|
+
_icon_name = "gtaxes.png"
|
|
41
41
|
|
|
42
42
|
def __init__(
|
|
43
43
|
self,
|
|
@@ -60,7 +60,6 @@ class Axes(PolygonShape):
|
|
|
60
60
|
else:
|
|
61
61
|
self.axesparam = axesparam
|
|
62
62
|
self.axesparam.update_param(self)
|
|
63
|
-
self.setIcon(get_icon("gtaxes.png"))
|
|
64
63
|
|
|
65
64
|
def __reduce__(self) -> tuple:
|
|
66
65
|
"""Reduce object to picklable state"""
|
|
@@ -38,6 +38,22 @@ class AbstractShape(QwtPlotItem):
|
|
|
38
38
|
self.selected = False
|
|
39
39
|
|
|
40
40
|
# ------IBasePlotItem API----------------------------------------------------
|
|
41
|
+
def get_icon_name(self) -> str:
|
|
42
|
+
"""Return the icon name
|
|
43
|
+
|
|
44
|
+
Returns:
|
|
45
|
+
Icon name
|
|
46
|
+
"""
|
|
47
|
+
return self._icon_name
|
|
48
|
+
|
|
49
|
+
def set_icon_name(self, icon_name: str) -> None:
|
|
50
|
+
"""Set the icon name
|
|
51
|
+
|
|
52
|
+
Args:
|
|
53
|
+
icon_name: Icon name
|
|
54
|
+
"""
|
|
55
|
+
self._icon_name = icon_name
|
|
56
|
+
|
|
41
57
|
def set_selectable(self, state: bool) -> None:
|
|
42
58
|
"""Set item selectable state
|
|
43
59
|
|
|
@@ -7,7 +7,6 @@ import sys
|
|
|
7
7
|
from typing import TYPE_CHECKING
|
|
8
8
|
|
|
9
9
|
import numpy as np
|
|
10
|
-
from guidata.configtools import get_icon
|
|
11
10
|
from guidata.utils.misc import assert_interfaces_valid
|
|
12
11
|
from qtpy import QtCore as QC
|
|
13
12
|
from qtpy import QtGui as QG
|
|
@@ -36,6 +35,7 @@ class EllipseShape(PolygonShape):
|
|
|
36
35
|
"""
|
|
37
36
|
|
|
38
37
|
CLOSED = True
|
|
38
|
+
_icon_name = "circle.png"
|
|
39
39
|
|
|
40
40
|
def __init__(
|
|
41
41
|
self,
|
|
@@ -48,17 +48,16 @@ class EllipseShape(PolygonShape):
|
|
|
48
48
|
super().__init__(shapeparam=shapeparam)
|
|
49
49
|
self.is_ellipse = False
|
|
50
50
|
self.set_xdiameter(x1, y1, x2, y2)
|
|
51
|
-
self.setIcon(get_icon("circle.png"))
|
|
52
51
|
|
|
53
52
|
def switch_to_ellipse(self):
|
|
54
53
|
"""Switch to ellipse mode"""
|
|
55
54
|
self.is_ellipse = True
|
|
56
|
-
self.
|
|
55
|
+
self.set_icon_name("ellipse_shape.png")
|
|
57
56
|
|
|
58
57
|
def switch_to_circle(self):
|
|
59
58
|
"""Switch to circle mode"""
|
|
60
59
|
self.is_ellipse = False
|
|
61
|
-
self.
|
|
60
|
+
self.set_icon_name("circle.png")
|
|
62
61
|
|
|
63
62
|
def set_xdiameter(self, x0: float, y0: float, x1: float, y1: float) -> None:
|
|
64
63
|
"""Set the coordinates of the ellipse's X-axis diameter
|