Introduce FilterIO, SignalLineEdit/Combobox
Description
This MR adds a FilterIO utility and reviews the usage of filters for DeviceInput widgets. In addition, it complements the Input widgets with two more options: SignalLineEdit
/SignalComboBox
Related Issues
closes #359 (closed)
Type of Change
- add FilterIO utility to simplify filtering mechanism and autocomplete for QComboBox and QLineEdit
- introduce
SignalComboBox
/SignalLineEdit
as new widget to allow selecting a signal for a given device - refactored
DeviceComboBox
/DeviceLineEdit
to allow more filtering options, and reveal options through QProperties for BECDesigner - adjust test scenarios and add additional tests
- review and complement documentation
- For LineEdits, a red box is drawn around the field in case the input is not valid which is only considered in case the widget is enabled
Additional Comments
I have only corrected the widgets which use these inputs. There are a few which still use QLineEdit and QComboBox. This should be reviewed and changed in the near future, but is not part of this MR. One example is for instance the CurveDialog popup, a dedicated issue will be created #389 .
Potential side effects
I tried to go through widgets and adjust the filtering accordingly, but it is quite likely that I missed some Input fields. Please keep this in mind, I changed the following:
- ScanControl : filter_to_devices
- Image : Filter_to_devices + readout_priority Async
- MotorMap: Filter_to_positioners
Screenshots / GIFs (if applicable)
Signal Inputs
Device Inputs
Definition of Done
-
Documentation is up-to-date.