Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content

Waveform based on new PlotBase

wyzula_j requested to merge feat/ng-waveform-plot-base-refactor into pre_release_v2

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 Waveform widget based on PlotBase
  • NEW CurveSetting popup 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 BECWaveformWidget is 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 BECFigure instead of BECWaveformWidget, however I had adjust cleanup of tests, even thought the BECFigure with one plot is basically BECWaveformWidget.
  • Async updates are adapted to new simulations from ophyd_devices with '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
Edited by wyzula_j

Merge request reports

Loading