There are small typos in:
- doc/source/how_to_use.rst
- doc/source/region_of_interest.rst
- examples/ViewBox.py
- pyqtgraph/flowchart/Node.py
- pyqtgraph/graphicsItems/AxisItem.py
- pyqtgraph/graphicsItems/PColorMeshItem.py
- pyqtgraph/graphicsItems/PlotDataItem.py
- pyqtgraph/graphicsItems/TargetItem.py
- pyqtgraph/graphicsItems/ViewBox/ViewBox.py
- pyqtgraph/widgets/RawImageWidget.py
Fixes:
- Should read `mapped` rather than `maped`.
- Should read `vector` rather than `vetctor`.
- Should read `value` rather than `vaule`.
- Should read `preferable` rather than `preferrable`.
- Should read `output` rather than `ouptut`.
- Should read `information` rather than `inforation`.
- Should read `information` rather than `infomation`.
- Should read `exempt` rather than `excempt`.
- Should read `emphasizing` rather than `emphacizing`.
- Should read `construction` rather than `constrution`.
* Registered parameter types go in their own files
* Moves [int, float] item definitions outside `WidgetParameterItem`
* Moves [int, float] parameter definitions outside `WidgetParameterItem`
* Allow registering ParameterItems for easy parameter defs
* Finalizes moving simple parameters to their own files
* removes accidentally committed file
* Provides class qualnames in rst
* Address docstring build issues
* Address recent review comments
- `registerParameterItemType`:
* added to docs and parametertree.__init__
* Remove unsed PARAM_TYPES global
* Hyperlink to `registerParameterType`
- parameter tree rst:
* Alphabetize entries
* Rebuild RST without fully qualified class name
* Add note at file header that it is auto generated
* Remove spurious space during rst doc creation
* Ensure created/modified files end with newline
* Address CodeQL warnings
* toPlainText also returns str
* `QTreeWidgetItem.text` returns str
* Remove all usage of python2_3.py
Technically these functions were exported at the top level of the library, this removes them without warning... If we want to we can bring them back for there, but I honestly don't think its needed, as we are py3 only now and have been for multiple releases.
This may introduce a number of 'useless cast' or similar but those were always happening anyway
This PR brought to you by sed
* Update varname in hdf example to avoid collision with builtin
* Clean up some leftover comments surrounding imports of compat code
* Unnecessary string casts
* Additional unnecessary casts
* syntax error fix
* more unnecessary casts
* Yet more unnecessary casts
* Many unused import cleanups
Ignored some star imports, some vendored code in colorama, only looked within pyqtgraph the library, not e.g. examples
* SpinBox decimal imported with both import and from import
* feature More parameter item types
Pen: Pops up a dialouge that allows the user to customize a pen. Setting pen value is not working yet.
Progress bar: For indication things.
Slider: Easier way to set values that dont require precision.
Fonts: Picking font types. Next thing could be a Font dialog.
Calendar: For picking dates or intervals
Open/save file/files/directory: Pops up an open/save file/directory dialog to select a file/directory. Filter string and caption can be defined too.
A PenSelectorDialog widget was created for the pen parameter item too.
Also added these parameter items to the example.
* PyQt/Side6 compatibility fixup
* Revisions from intial PR
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialog.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/parametertree/parameterTypes.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/parametertree/parameterTypes.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialog.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Update pyqtgraph/widgets/PenSelectorDialogbox.py
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
Apply suggestions from code review
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
* Bugfix: module instead of class import on param tree example
* Enrich the slider parameter
* Address pijyoi comments on pen style parameter
* Different file picker for easier porting
* Better organization and formatting, minor refactoring
* PyQt6/PySide6 fixup for file dialog
* Minor adjustment to file picker
* Bugfix: for 'None' sigChanged
'None' is explicitly allowed for a WidgetParameterItem's `sigChanged` value. However, this raises an error on a changed value unless the commit's fix is applied
* Calendar works better as sub item
* Fixes bugs in pen parameter's dialog + makes it resizable
* more bugfixes and recommended changes, lets pen serialize its options
* better pen save state
* Fixes file parameter qualms
* Fixes font parameter qualms
* Fixes calendar parameter qualms
* Fixes multiply-defined slider optsChanged
* Fixes pen parameter qualms
* ptree example minor bugfix
* Pen dialog bugfixes
* File dialog bugfixes / mild improvements
* unto ptree save state regression
* file fixup
* Adds parameter descriptions to docstrings
* Improved parameter documentation
* adds 'relativeTo' option for file parameter
* Less abuse of Qt enums during or-operations
* More uniform handling of relative paths
* More cleanup of enum setting
* better name for window title (matches qt name)
* Favor os.path over pathlib
* Exposes 'directory', 'windowTitle' to file parameter
* Fixup and add comparison to parameter tree state restoration
* Exposes "cosmetic" in pen parameter
* Indicate defaults in parameter documentation
* QtEnumParameter works for enums outside QtCore.Qt
* see if altering pytest report fixes ci bug
* Cleanup unused import and redundant `self.widget` assignments
Co-authored-by: Fekete Imre <feketeimre87@gmail.com>
Co-authored-by: ChristophRose <42769515+ChristophRose@users.noreply.github.com>
* Remove the use of pyqtgraph.ptime
With us supporting python3.7+, we have no more need for the ptime module
and can instead safely use perf_counter for everything.
* Address small issues PR turned up
* Reword comment in ImageView
* un-busy as many times as needed
* lint
* add test to prove cursor behavior
* tentative change in the hopes that all supported qt versions behave properly
* remove unnecessary code
* use contextmanager decorator instead of class
* use full path to WaitCursor
* restore docstring; refactor variable for clarity
* fix docstring whitespace
* break up long lines
* use variable to shorten instead
To reduce complexity, and make it easier to add more images and tests,
the images in the `test-data` repository should be merged with the main
repository. Furthermore, we can remove a lot of the subprocess work in
the image_testing.py file, as we no longer need to have it interact with
git.
The images are not the same. Images were regenerated with Qt6, and now
have proper big and little endian handling thanks to @pijyoi
Second commit is a slightly modified variant of
2e135ab282d6007b34a3854921be54d0e9efb241 authored by @pijyoi
it is to convert qimages to RGBA8888 for testing. Image
files were regenerated images for the big/little handling
Fixed issue with bogus test from test_NonUniformImage and generated a
new image
* Improve HistogramLUTItem docs, a few cosmetic changes
* Initial implementation of horizontally-oriented HistogramLUTItem
- Also adds support in HistogramLUTWidget
- Fixes AxisItem orientation bug for vertical orientation
- Make use of GradientEditorItem orientation (fixes another bug for
vertical orientation)
- Use horizontal orientation in an example for demonstration
* Remove unused HistogramLUTItem option
* A few more minor fixups
* Copy paste bug
* Use f-strings
* Update from review and a couple more minor updates
* Woops
* Add doc for orientation arg
* Add top/bottom orientation to doc. Expand on levelMode doc a bit
Various places in the library attempt to check if scalars are finite
via numpy methods, which are intended to be used on numpy arrays. Using
the math module equivalent functions on scalars is significantly faster.
In a few places, I also use numpy methods explicitly (np.all vs. all)
Significant performance issues have been identified with np.clip
and thus clip_array was created to speed up the operation. In addition
clip_scalar was created to clip a scalar value between two other values
this commit replaces many uses of np.clip from operating on scalars to
using clip_scalar instead
PyQt6 can serialize / deserialize enums and flags w/o us manually
casting them to int.
In PyQt6 6.0, it was okay to pass the already deserialized flag
back to the class constructor.
In PyQt6 6.1, the flags MouseButtons and KeyboardModifiers have
been renamed to MouseButton and KeyboardModifier respectively.
skipping the reconstruction allows it to work on both PyQt6 6.0 and 6.1.
note that this was already done in deserialize_mouse_event()
Qt5 docs specify differences between QGLWidget and QOpenGLWidget:
"...when invoking paintGL().
QOpenGLWidget sets up the viewport via glViewport().
It does not perform any clearing."
* Fix ScatterPlotItem performance regression
* Add hover benchmark to ScatterPlotSpeedTest.py
* Removed a performance regression from GraphicsView
* Removed some tests failing due to the last commit
Multiple tests are executed by pytest with the same Python process.
The QApplication instance is a global object that will be used by
subsequent tests.
The Qt documentation says that the object will only be deleted while
running in an event loop. In addition, the Qt docs also specifically
say that processEvents() does not process DeferredDelete events.
i.e. calling processEvents() in a loop is not equivalent to calling
QApplication.instance().exec_()
the code being removed was committed in 2012.
the reason for the workaround no longer exists.
the reason this code is under scrutiny is because while porting to
PyQt6, calling ev.type() triggered a bug in PyQt6 6.0