1
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2026-03-04 16:02:51 +01:00

fix(scatter_waveform): modernization of scatter waveform settings dialog

This commit is contained in:
2026-01-17 19:05:32 +01:00
committed by Jan Wyzula
parent 7e9cc20e59
commit 12746ae4aa
3 changed files with 142 additions and 56 deletions

View File

@@ -106,6 +106,13 @@ class ScatterWaveform(PlotBase):
)
self._init_scatter_curve_settings()
# Show toolbar bundles - only include scatter_waveform_settings if not in SIDE mode
shown_bundles = ["plot_export", "mouse_interaction", "roi", "axis_popup"]
if self.ui_mode != UIMode.SIDE:
shown_bundles.insert(0, "scatter_waveform_settings")
self.toolbar.show_bundles(shown_bundles)
self.update_with_scan_history(-1)
################################################################################
@@ -134,15 +141,9 @@ class ScatterWaveform(PlotBase):
checkable=True,
parent=self,
)
self.toolbar.components.add_safe("scatter_waveform_settings", scatter_curve_action)
self.toolbar.get_bundle("axis_popup").add_action("scatter_waveform_settings")
self.toolbar.add_action("scatter_waveform_settings", scatter_curve_action)
scatter_curve_action.action.triggered.connect(self.show_scatter_curve_settings)
shown_bundles = self.toolbar.shown_bundles
if "performance" in shown_bundles:
shown_bundles.remove("performance")
self.toolbar.show_bundles(shown_bundles)
def show_scatter_curve_settings(self):
"""
Show the scatter curve settings dialog.
@@ -158,7 +159,7 @@ class ScatterWaveform(PlotBase):
window_title="Scatter Curve Settings",
modal=False,
)
self.scatter_dialog.resize(620, 200)
self.scatter_dialog.resize(700, 240)
# When the dialog is closed, update the toolbar icon and clear the reference
self.scatter_dialog.finished.connect(self._scatter_dialog_closed)
self.scatter_dialog.show()

View File

@@ -86,17 +86,17 @@ class ScatterCurveSettings(SettingWidget):
if hasattr(self.ui, "x_name"):
self.ui.x_name.set_device(x_name)
if hasattr(self.ui, "x_entry") and x_entry is not None:
self.ui.x_entry.setText(x_entry)
self.ui.x_entry.set_to_obj_name(x_entry)
if hasattr(self.ui, "y_name"):
self.ui.y_name.set_device(y_name)
if hasattr(self.ui, "y_entry") and y_entry is not None:
self.ui.y_entry.setText(y_entry)
self.ui.y_entry.set_to_obj_name(y_entry)
if hasattr(self.ui, "z_name"):
self.ui.z_name.set_device(z_name)
if hasattr(self.ui, "z_entry") and z_entry is not None:
self.ui.z_entry.setText(z_entry)
self.ui.z_entry.set_to_obj_name(z_entry)
@SafeSlot()
def accept_changes(self):

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>604</width>
<height>166</height>
<width>826</width>
<height>204</height>
</rect>
</property>
<property name="windowTitle">
@@ -31,6 +31,13 @@
</item>
</layout>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@@ -46,9 +53,6 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="DeviceLineEdit" name="x_name"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
@@ -56,8 +60,22 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="DeviceComboBox" name="x_name">
<property name="editable">
<bool>true</bool>
</property>
<property name="set_first_element_as_empty" stdset="0">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="x_entry"/>
<widget class="SignalComboBox" name="x_entry">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
@@ -75,9 +93,6 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="DeviceLineEdit" name="y_name"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
@@ -85,8 +100,22 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="DeviceComboBox" name="y_name">
<property name="editable">
<bool>true</bool>
</property>
<property name="set_first_element_as_empty" stdset="0">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="y_entry"/>
<widget class="SignalComboBox" name="y_entry">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
@@ -111,11 +140,22 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="z_entry"/>
</item>
<item row="0" column="1">
<widget class="DeviceLineEdit" name="z_name"/>
<widget class="DeviceComboBox" name="z_name">
<property name="editable">
<bool>true</bool>
</property>
<property name="set_first_element_as_empty" stdset="0">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="SignalComboBox" name="z_entry">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
@@ -126,76 +166,121 @@
</widget>
<customwidgets>
<customwidget>
<class>DeviceLineEdit</class>
<extends>QLineEdit</extends>
<header>device_line_edit</header>
<class>DeviceComboBox</class>
<extends></extends>
<header>device_combo_box</header>
</customwidget>
<customwidget>
<class>SignalComboBox</class>
<extends></extends>
<header>signal_combo_box</header>
</customwidget>
<customwidget>
<class>ToggleSwitch</class>
<extends>QWidget</extends>
<extends></extends>
<header>toggle_switch</header>
</customwidget>
<customwidget>
<class>BECColorMapWidget</class>
<extends>QWidget</extends>
<extends></extends>
<header>bec_color_map_widget</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>x_name</tabstop>
<tabstop>x_entry</tabstop>
<tabstop>y_name</tabstop>
<tabstop>y_entry</tabstop>
<tabstop>z_name</tabstop>
<tabstop>z_entry</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>x_name</sender>
<signal>textChanged(QString)</signal>
<signal>device_reset()</signal>
<receiver>x_entry</receiver>
<slot>clear()</slot>
<slot>reset_selection()</slot>
<hints>
<hint type="sourcelabel">
<x>134</x>
<y>95</y>
<x>136</x>
<y>122</y>
</hint>
<hint type="destinationlabel">
<x>138</x>
<y>128</y>
<x>133</x>
<y>151</y>
</hint>
</hints>
</connection>
<connection>
<sender>y_name</sender>
<signal>textChanged(QString)</signal>
<signal>device_reset()</signal>
<receiver>y_entry</receiver>
<slot>clear()</slot>
<slot>reset_selection()</slot>
<hints>
<hint type="sourcelabel">
<x>351</x>
<y>91</y>
<x>412</x>
<y>122</y>
</hint>
<hint type="destinationlabel">
<x>349</x>
<y>121</y>
<x>409</x>
<y>151</y>
</hint>
</hints>
</connection>
<connection>
<sender>z_name</sender>
<signal>textChanged(QString)</signal>
<signal>device_reset()</signal>
<receiver>z_entry</receiver>
<slot>clear()</slot>
<slot>reset_selection()</slot>
<hints>
<hint type="sourcelabel">
<x>520</x>
<y>98</y>
<x>687</x>
<y>121</y>
</hint>
<hint type="destinationlabel">
<x>522</x>
<y>127</y>
<x>684</x>
<y>149</y>
</hint>
</hints>
</connection>
<connection>
<sender>x_name</sender>
<signal>currentTextChanged(QString)</signal>
<receiver>x_entry</receiver>
<slot>set_device(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>152</x>
<y>123</y>
</hint>
<hint type="destinationlabel">
<x>151</x>
<y>151</y>
</hint>
</hints>
</connection>
<connection>
<sender>y_name</sender>
<signal>currentTextChanged(QString)</signal>
<receiver>y_entry</receiver>
<slot>set_device(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>412</x>
<y>121</y>
</hint>
<hint type="destinationlabel">
<x>409</x>
<y>149</y>
</hint>
</hints>
</connection>
<connection>
<sender>z_name</sender>
<signal>currentTextChanged(QString)</signal>
<receiver>z_entry</receiver>
<slot>set_device(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>687</x>
<y>121</y>
</hint>
<hint type="destinationlabel">
<x>684</x>
<y>149</y>
</hint>
</hints>
</connection>