Waveform based on new PlotBase
Description
A new Waveform widget based on the updated PlotBase. Currently, it supports a toolbar with basic actions, a side menu for plot customization, and a DAP parameter view. This implementation also fixes some minor bugs from the old BECWaveformWidget. These fixes will not be applied to the old version, the new version will replace the old BECWaveformWidget (however keeping BECWaveform as part of BECFigure due to auto update window).
At the moment, I haven't finalized the design approach for configuring curves from the GUI (#433 (closed)). However, RPC is fully functional. → Done.
Saving states to INI files is currently disabled because it does not work well in highly dynamic environments like BECDockArea—it only functions in a static GUI (#435).
Setting curves from Qt Designer will be implemented later (a proof-of-concept has been completed in this branch: feat/next-gen-waveform #434).
Documentation will be updated once all widgets have been migrated to the new system.
Related Issues
Closes #424 (closed), #345 (closed), #381 (closed), #361 (closed), #267 (closed), #96 (closed), #283 (closed), #433 (closed)
Type of Change
-
NEW
Waveformwidget based onPlotBase -
NEW
CurveSettingpopup with merged Device and DAP curves - Fixed size policy for DAP widget
- Fixed cleanup for popups for PlotBase if popup was open during shutting down
-
DEPRECATED old
BECWaveformWidgetis gone -
Cleanup for unblock proxy signal→ !410 (merged) -
possibility to add action to already existing bundle in toolbar→ !415 (merged) -
Colors are changed for pyqtgraph on the app level, not on round frame level→ !412 (merged)
Potential Side Effects
- Aligment1D app will not work because it is dependent on old
BECWaveformWidget - tests for Arrow and Tick item had to be adjusted to use
BECFigureinstead ofBECWaveformWidget, however I had adjust cleanup of tests, even thought theBECFigurewith one plot is basicallyBECWaveformWidget. - Async updates are adapted to new simulations from
ophyd_deviceswith 'add' instead of 'extend' ophyd_devices!232 (merged)
TODO
-
make toolbars more compact -
both side panels and popup option, popup as default -
old waveform setting dialog