Commit Graph

1979 Commits

Author SHA1 Message Date
Adam Strzelecki
983cc1695e
Patch/window handling (#468)
* Do not wrap PlotView/ImageView

There is no need to wrap PlotView/ImageView into QMainWindow, since
only purpose of the QMainWindow is some default menu toolbar & menu
handling, that is not used by PyQtGraph anyway.

Moreover, every parent-less Qt widget can become window, so this
change just use PlotView/ImageView as windows, removing extra
complexity, eg. method forwarding, self.win property.

Another benefit of this change, it that these windows get initial
dimensions and titles as they were designed in .ui file.

* Properly cleanup on ImageView.close()

We should not close explicitly child widgets or clear scene, otherwise
Qt will deallocate children views, and cause "wrapped C/C++ object of
type ImageItem has been deleted" error next time we call close()
and/or some other methods.

All children, including self.ui.roiPlot, self.ui.graphicsView will be
closed together with its parent, so there is no need to close them
explicitly.

So the purpose of close it to reclaim the memory, but not to make the existing ImageView object dysfunctional.

* Remove references to plot & image windows after close

PyQtGraph images and plots module list variables are currently holding
references to all plots and image windows returned directly from main
module. This does not seem to be documented however, and causes the Qt
windows to be not released from memory, even if user releases all own
references.

This change removes the references from images/plots list once window
is closed, so when there is no other reference, window and all related
memory is reclaimed.

* Change all UI forms title from Form to PyQtGraph

Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2020-06-01 11:23:18 -07:00
Karl Georg Bedrich
bb21791c71
changed structure to redefine axis via plotitem.setAxes (#391)
* changed structure to redefine axis via
plotitem.setAxes

* cleanuup

* remove old axesitems before adding new ones

* DEBUGGED plotitem.setAxes
NEW AxisItem.setOrientation (needed by plotitem.setAxes)
show/hide right axes after .setAxes()

Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2020-06-01 11:12:52 -07:00
Karl Georg Bedrich
68b8dbac1a
moved some functionality from method 'export' to new method (#390)
* moved some functionality from method 'export' to new method
'getSupportedFormats' making it accessible from outside
2020-06-01 11:05:39 -07:00
Ogi Moore
245d89033e
Identify pyqt5 515 ci issue (#1221)
* move forward pyvirtualdisplay

* Try installing things per QTBUG-84489

* Debug plugins to 1

* Removing all the other packages, adding libxcb-xfixes0

* adding libxcb-icccm4 per plugin debug

* adding libxcb-image0, restoring pyvirtualdisplay to older version

* now adding libxcb-keysyms1

* libxcb-randr0

* adding libxcb-render-util0

* adding libxcb-xinerama0

* Restore Configs, Properly Name Latest Pipeline
2020-06-01 00:09:16 -07:00
Ogi Moore
b64984b321
Merge pull request #151 from lidstrom83/custom_PlotItem_for_PlotWidget
Optionally provide custom PlotItem to PlotWidget
2020-05-31 21:05:59 -07:00
Ogi Moore
a27506209b
Merge pull request #393 from radjkarl/gradient
NEW show/hide gradient ticks NEW link gradientEditor to others
2020-05-31 21:03:27 -07:00
Zach Lowry
c903546679
Fix duplicate menus in GradientEditorItem (#444)
* Fix duplicate menus in GradientEditorItem

Add call to ev.accept in Tivk.mouseClickEvent to prevent parent menu from opening on a right click of a Tick.

Co-authored-by: Ogi <ognyan.moore@gmail.com>
2020-05-31 17:39:51 -07:00
Ogi Moore
c2cc92da52
Merge pull request #507 from alfonnews/Fix_Dock_Close_Event_QLabel_still_running
Fix Dock close event QLabel still running with no parent
2020-05-31 00:50:15 -07:00
Alberto Fontán Correa
1f9ccccfd0 Fix Dock close event QLabel still running with no parent 2020-05-31 00:26:19 -07:00
Ogi Moore
e70d1b5c75
Merge pull request #755 from ChristophRose/patch-1
Check lastDownsample in viewTransformChanged
2020-05-30 22:30:43 -07:00
ChristophRose
ed009d3779 Check lastDownsample in viewTransformChanged
Add a check in the viewTransformChanged function to only force a rerender when the downsampling factor changed.
Previously simply moving the image around or zooming in/out without changing the downsampling factor would force a complete rerendering of the image, which was very slow with large images. This way, the expensive rerender is only forced if necessary.
2020-05-30 22:15:52 -07:00
Ogi Moore
8bd2fa87e1
Merge pull request #1219 from j9ac9k/fix-1081
Encode csv export header as unicode
2020-05-30 21:31:47 -07:00
Ogi
173a755b6c Encode csv export header as unicode 2020-05-30 21:13:20 -07:00
Paul Müller
e08ac110f5
pretty-print log-scale axes labels (#1097)
* pretty-print log-scale axes labels

* only pretty-print in python 3
2020-05-30 13:53:38 -07:00
Israel Brewster
949df4da16
Fix aspectRatio and zoom range issues when zooming (#1093)
* Check and enforce view limits in the setRange function

* Check limits when setting aspectRatio

- This change is required due to moving the limit checking out of the updateViewRange function.
- If the original logic remained, aspect ratio could be lost due to "squshing" the requested view into the viewBox

* Add tests for ViewBox zooming limits and aspect ratio

* - Move test code to proper location and fix instantiation of QApplication

Co-authored-by: Israel Brewster <ijbrewster@alaska.edu>
2020-05-30 13:09:09 -07:00
Ogi Moore
2ac1eefeb5
Merge pull request #1173 from 2xB/fix-1136-2
GraphicsLayout: Always call layout.activate() after adding items
2020-05-30 13:04:37 -07:00
Ogi Moore
3020613b91
Merge pull request #1217 from pyqtgraph/rtd
Get docs version and copyright year dynamically
2020-05-30 13:02:44 -07:00
2xB
7672b5b725
Fix: Parameter tree ignores user-set 'expanded' state (#1175)
* Fix: Parameter tree ignores user-set 'expanded' state

When setting the 'expanded' state of parameters, this change is not applied
in the graphically visible tree. This commit changes that behaviour by
adding a clause in `ParameterItem.optsChanged` to react to that.

Fixes #1130

* ParameterTree: Add option to synchronize "expanded" state

As seen in #1130, there is interest in synchronizing the "expanded" state
of `Parameter`s in `ParameterTree`s. As a default, this would lead to
users being forced to always have multiple `ParameterTree`s to be
expanded in the exact same way. Since that might not be desirable, this
commit adds an option to customize whether synchronization
of the "expanded" state should happen.

* Fix: Sync Parameter options "renamable" and "removable" with ParameterTrees

Currently, `Parameter` options `renamable` and `removable` are only considered
when building a new `ParameterTree`. This commit makes changes in those
options reflected in the corresponding `ParameterItem`s.

* ParameterTree: Reflect changes in Parameter option 'tip'

* Parameter: When setting "syncExpanded", update "expanded" state directly

Co-authored-by: 2xB <2xB@users.noreply.github.com>
2020-05-30 13:01:39 -07:00
Ogi Moore
03b8385e62
Merge pull request #1218 from campagnola/ptree-fix
Fix ParameterTree.clear()
2020-05-30 13:00:10 -07:00
Luke Campagnola
7d979bcf94 Check for missing ptree widget before accessing 2020-05-30 09:30:36 -07:00
Kenneth Lyons
6c61e2445e Get docs version and copyright year dynamically 2020-05-30 09:09:01 -07:00
Christian Clauss
2a6f3f0193
import numpy as np for lines 44 and 51 (#1161)
* import numpy as np for lines 44 and 51
2020-05-30 08:09:25 -07:00
Ogi Moore
b03de3be9c
Merge pull request #1216 from erikmansson/add-maprectfromview-cache
Add cache for mapRectFromView
2020-05-30 08:07:07 -07:00
Erik Månsson
55e1f2c520 Add cache for mapRectFromView 2020-05-30 16:25:43 +02:00
Ogi Moore
401054a0a8
Merge pull request #1215 from j9ac9k/remove-text_pg_exit
Skipping this test on python 5.9 configs
2020-05-30 07:25:36 -07:00
Ogi
dfe83dc1c8 Skipping this test on python 5.9 configs 2020-05-30 07:15:46 -07:00
patricev
3f6424cc57
Update Data.py (#1071)
* Update Data.py

Python eval not working with python 3 - bug fix with the exec() part
2020-05-29 23:38:03 -07:00
christuart
ddb597a3dd
Fix selection of FlowchartWidget input/output nodes from issue #808 (#809)
Co-authored-by: Chris Stuart <chris.stuart@ukaea.uk>
2020-05-29 23:35:58 -07:00
Ogi Moore
be6f28b03c
Merge pull request #1090 from paulmueller/export-dialog-improvements
dump ExportDialog.exporterParameters
2020-05-29 23:11:46 -07:00
Daniel Hrisca
6194245322
improve SymbolAtlas.getSymbolCoords and ScatterPlotItem.plot performance (#1198) 2020-05-29 23:08:40 -07:00
Ogi Moore
99c43613f3
Merge pull request #1174 from Ma-Shell/develop
Fixed a possible race condition with linked views
2020-05-29 23:00:10 -07:00
Ogi Moore
b83563408c
Merge pull request #1206 from markobausch/develop
Added context menu option to parametertree
2020-05-29 22:55:19 -07:00
Luke Campagnola
2d59ce8532
Merge pull request #1212 from erikmansson/fix-pv-cache
Fix PixelVectors cache
2020-05-29 10:23:41 -07:00
Ogi Moore
6e2df00394
Merge pull request #1214 from j9ac9k/fix-linux-CI
Pin PyVirtualDisplay Version
2020-05-28 19:55:48 -07:00
Ogi
50099613d5 Pin PyVirtualDisplay Version 2020-05-28 19:31:49 -07:00
Erik Månsson
369d7a11d2 Fix PixelVectors cache 2020-05-28 23:10:00 +02:00
Ogi Moore
35128d404a
Merge pull request #1168 from 2xB/fix-788
GroupParameterItem: Did not pass changed options to ParameterItem
2020-05-27 07:32:17 -07:00
Marko Bausch
4052f0dd11 Added context menu option to paramtree 2020-05-22 16:05:52 +02:00
Ogi Moore
c715c5ac28
Merge pull request #1201 from pyqtgraph/rtd_build
Get readthedocs working
2020-05-18 14:58:05 -07:00
Kenneth Lyons
8b66d0e20f Updated README with readthedocs link and badge 2020-05-18 14:53:41 -07:00
Kenneth Lyons
9d844f3a42 Mock dependencies that aren't strictly needed for docs build 2020-05-17 20:10:47 -07:00
Kenneth Lyons
54ade7dfb8 Add readthedocs config file as recommended 2020-05-17 16:06:00 -07:00
Kenneth Lyons
ae8fc195da Disable inherited docstrings 2020-05-16 10:14:52 -07:00
Kenneth Lyons
5353acdb1c Static paths not used for docs. Fix malformed table in docstring 2020-05-16 10:12:33 -07:00
Chris Billington
9a9be68d90
mkQApp: Use sys.argv if non-empty and always set given name (#1199)
Always pass `sys.argv`, if non-empty, to `QApplication` constructor.
This allows code to continue to rely on the fact that the application
name is by default set from `sys.argv[0]`, which is important for
example on Linux where this determines the WM_CLASS X attribute used by
desktop environments to match applications to their launchers.

If `sys.argv` is empty, as it is in an interactive Python session, pass
`["pyqtgraph"]` in its place as a sensible default for the application
name, which causes issues if not set (issue #1165).

If a `name` is given, set it using `setApplicationName()` instead of via
the argument list. This ensures it will be set even if the singleton
`QApplication` already existed prior to calling `mkQApp()`.
2020-05-15 11:31:42 -07:00
Kenneth Lyons
f2e91d1b9a Add matplotlib and pyopengl to docs dependencies 2020-05-11 20:45:25 -07:00
Kenneth Lyons
10cb80a2ae Add dependencies for docs build 2020-05-11 20:23:10 -07:00
Kyle Sunden
fb56d3eaa9
Merge pull request #801 from ales-erjavec/remove-address-cache
Remove use of GraphicsScene._addressCache in translateGraphicsItem
2020-05-11 10:38:39 -05:00
Maxim Millen
14075e6223
Added support for plot curve to handle both fill and connect args. (#1188) 2020-05-10 08:42:04 -07:00
Kenneth Lyons
5bebf697b0
Disable remove ROI menu action in handle context menu (#1197) 2020-05-10 08:39:17 -07:00