slaclab / pydm

Python Display Manager
http://slaclab.github.io/pydm/
Other
112 stars 77 forks source link

PyDM v1.18.0: baseplot.resetAutoRangeX() no longer works #971

Closed ruck314 closed 1 year ago

ruck314 commented 1 year ago

Here's where the function is defined in PyDM: https://github.com/slaclab/pydm/blob/v1.18.0/pydm/widgets/baseplot.py#L1021

Here's my code where I use the resetAutoRangeX(): https://github.com/slaclab/axi-soc-ultra-plus-core/blob/main/python/axi_soc_ultra_plus_core/rfsoc_utility/gui/_LiveDisplay.py#L35

The reset auto range functions lets the user restore the window ranging after they use the mouse to zoom in on specific regions in the plot.

I reverted my PyDM package and confirmed that it still works in PyDM 1.12.0. So somewhere between 1.12.0 and 1.18.0 the baseplot.resetAutoRangeX got broken

jbellister-slac commented 1 year ago

Thanks for reporting! Will take a look

ruck314 commented 1 year ago

@jbellister-slac I confirmed that I see the same behavior with pydm 1.18.2 as well

ruck314 commented 1 year ago

@jbellister-slac Thanks for working on this. Users will be very happy to get the original behavior back to waveform displaying

jbellister-slac commented 1 year ago

@ruck314 You're welcome! The plan right now is to do a release near the end of the month that would include this fix.

There is already existing working functionality in PyDM v1.18.0+ that allows resetting autorange on plots via right clicking on them and bringing up a menu. See #788 that has a gif with a short demo. In addition to the View All and Restore default X/Y ranges selected in the example, it's also possible to reset only the x or y axis via the other options in that context menu if that works in the mean time for your use cases.

If it would still help to get this out faster though, let me know and we should be able to do a minor release sooner than the major one planned for the end of the month.