bec-widgets 1.25.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. .gitlab-ci.yml +11 -6
  2. CHANGELOG.md +650 -0
  3. PKG-INFO +3 -3
  4. bec_widgets/__init__.py +4 -0
  5. bec_widgets/applications/bw_launch.py +23 -0
  6. bec_widgets/applications/launch_window.py +430 -0
  7. bec_widgets/assets/app_icons/auto_update.png +0 -0
  8. bec_widgets/assets/app_icons/ui_loader_tile.png +0 -0
  9. bec_widgets/cli/__init__.py +0 -1
  10. bec_widgets/cli/client.py +1779 -2064
  11. bec_widgets/cli/client_utils.py +346 -174
  12. bec_widgets/cli/generate_cli.py +143 -37
  13. bec_widgets/cli/rpc/rpc_base.py +152 -21
  14. bec_widgets/cli/rpc/rpc_register.py +113 -6
  15. bec_widgets/cli/rpc/rpc_widget_handler.py +13 -11
  16. bec_widgets/cli/server.py +125 -239
  17. bec_widgets/examples/jupyter_console/jupyter_console_window.py +97 -145
  18. bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +1 -1
  19. bec_widgets/utils/bec_connector.py +190 -21
  20. bec_widgets/utils/bec_designer.py +7 -0
  21. bec_widgets/utils/bec_dispatcher.py +71 -4
  22. bec_widgets/utils/bec_plugin_helper.py +89 -0
  23. bec_widgets/utils/bec_signal_proxy.py +1 -1
  24. bec_widgets/utils/bec_widget.py +26 -10
  25. bec_widgets/utils/colors.py +1 -1
  26. bec_widgets/{qt_utils → utils}/compact_popup.py +2 -0
  27. bec_widgets/utils/container_utils.py +37 -12
  28. bec_widgets/utils/crosshair.py +25 -8
  29. bec_widgets/utils/entry_validator.py +3 -1
  30. bec_widgets/{qt_utils → utils}/error_popups.py +18 -0
  31. bec_widgets/{qt_utils → utils}/expandable_frame.py +2 -2
  32. bec_widgets/utils/forms_from_types/forms.py +182 -0
  33. bec_widgets/{widgets/editors/scan_metadata/_metadata_widgets.py → utils/forms_from_types/items.py} +41 -30
  34. bec_widgets/utils/generate_designer_plugin.py +40 -36
  35. bec_widgets/utils/linear_region_selector.py +2 -0
  36. bec_widgets/utils/name_utils.py +16 -0
  37. bec_widgets/{qt_utils → utils}/palette_viewer.py +2 -2
  38. bec_widgets/utils/plot_indicator_items.py +2 -5
  39. bec_widgets/utils/plugin_utils.py +47 -1
  40. bec_widgets/{qt_utils → utils}/round_frame.py +14 -14
  41. bec_widgets/utils/rpc_server.py +277 -0
  42. bec_widgets/utils/serialization.py +44 -0
  43. bec_widgets/{qt_utils → utils}/settings_dialog.py +26 -1
  44. bec_widgets/{qt_utils → utils}/side_panel.py +17 -10
  45. bec_widgets/{qt_utils → utils}/toolbar.py +69 -25
  46. bec_widgets/utils/ui_loader.py +8 -8
  47. bec_widgets/utils/widget_io.py +166 -25
  48. bec_widgets/widgets/containers/auto_update/auto_updates.py +364 -0
  49. bec_widgets/widgets/containers/dock/dock.py +157 -49
  50. bec_widgets/widgets/containers/dock/dock_area.py +186 -138
  51. bec_widgets/widgets/containers/layout_manager/layout_manager.py +2 -1
  52. bec_widgets/widgets/containers/main_window/addons/web_links.py +15 -0
  53. bec_widgets/widgets/containers/main_window/main_window.py +189 -41
  54. bec_widgets/widgets/control/buttons/button_abort/button_abort.py +3 -4
  55. bec_widgets/widgets/control/buttons/button_reset/button_reset.py +3 -4
  56. bec_widgets/widgets/control/buttons/button_resume/button_resume.py +3 -3
  57. bec_widgets/widgets/control/buttons/stop_button/stop_button.py +18 -7
  58. bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +22 -3
  59. bec_widgets/widgets/control/device_control/positioner_box/_base/positioner_box_base.py +37 -18
  60. bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py +28 -4
  61. bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.ui +27 -4
  62. bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py +5 -2
  63. bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.ui +97 -31
  64. bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.ui +11 -4
  65. bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +2 -3
  66. bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +29 -4
  67. bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +1 -0
  68. bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +2 -2
  69. bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +2 -2
  70. bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +1 -2
  71. bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +1 -2
  72. bec_widgets/widgets/control/scan_control/scan_control.py +7 -5
  73. bec_widgets/widgets/control/scan_control/scan_group_box.py +28 -5
  74. bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +1 -2
  75. bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +3 -4
  76. bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +14 -8
  77. bec_widgets/widgets/editors/console/console.py +1 -1
  78. bec_widgets/widgets/editors/{scan_metadata/additional_metadata_table.py → dict_backed_table.py} +29 -6
  79. bec_widgets/widgets/editors/scan_metadata/__init__.py +0 -7
  80. bec_widgets/widgets/editors/scan_metadata/_util.py +1 -1
  81. bec_widgets/widgets/{plots/motor_map/register_bec_motor_map_widget.py → editors/scan_metadata/register_scan_metadata.py} +2 -4
  82. bec_widgets/widgets/editors/scan_metadata/scan_metadata.py +42 -136
  83. bec_widgets/widgets/editors/scan_metadata/scan_metadata.pyproject +1 -0
  84. bec_widgets/widgets/{plots/multi_waveform/bec_multi_waveform_widget_plugin.py → editors/scan_metadata/scan_metadata_plugin.py} +9 -9
  85. bec_widgets/widgets/editors/text_box/text_box.py +2 -3
  86. bec_widgets/widgets/editors/website/website.py +2 -2
  87. bec_widgets/widgets/games/minesweeper.py +3 -2
  88. bec_widgets/widgets/plots/image/image.py +960 -0
  89. bec_widgets/widgets/plots/image/image.pyproject +1 -0
  90. bec_widgets/widgets/plots/image/image_item.py +279 -0
  91. bec_widgets/widgets/plots/{motor_map/bec_motor_map_widget_plugin.py → image/image_plugin.py} +11 -13
  92. bec_widgets/widgets/{containers/figure/plots → plots}/image/image_processor.py +31 -64
  93. bec_widgets/widgets/plots/image/{register_bec_image_widget.py → register_image.py} +2 -2
  94. bec_widgets/widgets/plots/image/toolbar_bundles/image_selection.py +59 -0
  95. bec_widgets/widgets/plots/image/toolbar_bundles/processing.py +79 -0
  96. bec_widgets/widgets/plots/motor_map/motor_map.py +832 -0
  97. bec_widgets/widgets/plots/motor_map/motor_map.pyproject +1 -0
  98. bec_widgets/widgets/plots/motor_map/motor_map_plugin.py +54 -0
  99. bec_widgets/widgets/plots/{multi_waveform/register_bec_multi_waveform_widget.py → motor_map/register_motor_map.py} +2 -4
  100. bec_widgets/widgets/plots/motor_map/settings/motor_map_settings.py +129 -0
  101. bec_widgets/widgets/plots/motor_map/settings/motor_map_settings.ui +120 -0
  102. bec_widgets/widgets/plots/motor_map/toolbar_bundles/motor_selection.py +70 -0
  103. bec_widgets/widgets/plots/multi_waveform/multi_waveform.py +508 -0
  104. bec_widgets/widgets/plots/multi_waveform/multi_waveform.pyproject +1 -0
  105. bec_widgets/widgets/plots/multi_waveform/multi_waveform_plugin.py +54 -0
  106. bec_widgets/widgets/plots/multi_waveform/register_multi_waveform.py +15 -0
  107. bec_widgets/widgets/plots/multi_waveform/settings/control_panel.py +144 -0
  108. bec_widgets/widgets/plots/multi_waveform/settings/multi_waveform_controls.ui +164 -0
  109. bec_widgets/widgets/plots/multi_waveform/toolbar_bundles/monitor_selection.py +65 -0
  110. bec_widgets/widgets/{plots_next_gen → plots}/plot_base.py +321 -40
  111. bec_widgets/widgets/plots/{waveform/register_bec_waveform_widget.py → scatter_waveform/register_scatter_waveform.py} +3 -3
  112. bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py +197 -0
  113. bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py +553 -0
  114. bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.pyproject +1 -0
  115. bec_widgets/widgets/plots/{image/bec_image_widget_plugin.py → scatter_waveform/scatter_waveform_plugin.py} +9 -13
  116. bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_setting.py +138 -0
  117. bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_settings_horizontal.ui +195 -0
  118. bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_settings_vertical.ui +204 -0
  119. bec_widgets/widgets/{plots_next_gen → plots}/setting_menus/axis_settings.py +8 -8
  120. bec_widgets/widgets/{plots_next_gen → plots}/toolbar_bundles/mouse_interactions.py +4 -18
  121. bec_widgets/widgets/{plots_next_gen → plots}/toolbar_bundles/plot_export.py +14 -3
  122. bec_widgets/widgets/{plots_next_gen → plots}/toolbar_bundles/roi_bundle.py +6 -1
  123. bec_widgets/widgets/{plots_next_gen → plots}/toolbar_bundles/save_state.py +2 -2
  124. bec_widgets/widgets/{containers/figure/plots/waveform/waveform_curve.py → plots/waveform/curve.py} +119 -49
  125. bec_widgets/widgets/plots/waveform/register_waveform.py +15 -0
  126. bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_setting.py +125 -0
  127. bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_tree.py +576 -0
  128. bec_widgets/widgets/plots/waveform/utils/__init__.py +0 -0
  129. bec_widgets/widgets/plots/waveform/utils/roi_manager.py +84 -0
  130. bec_widgets/widgets/plots/waveform/waveform.py +1794 -0
  131. bec_widgets/widgets/plots/waveform/waveform.pyproject +1 -0
  132. bec_widgets/widgets/plots/waveform/{bec_waveform_widget_plugin.py → waveform_plugin.py} +9 -13
  133. bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +1 -2
  134. bec_widgets/widgets/progress/ring_progress_bar/ring.py +11 -10
  135. bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +24 -14
  136. bec_widgets/widgets/services/bec_queue/bec_queue.py +13 -11
  137. bec_widgets/widgets/services/bec_status_box/bec_status_box.py +3 -4
  138. bec_widgets/widgets/services/device_browser/device_browser.py +5 -2
  139. bec_widgets/widgets/services/device_browser/device_item/device_item.py +1 -1
  140. bec_widgets/widgets/utility/logpanel/logpanel.py +36 -17
  141. bec_widgets/widgets/utility/spinbox/decimal_spinbox.py +3 -3
  142. bec_widgets/widgets/utility/spinner/spinner.py +2 -2
  143. bec_widgets/widgets/utility/visual/color_button/color_button.py +1 -1
  144. bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +4 -6
  145. bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +4 -8
  146. {bec_widgets-1.25.0.dist-info → bec_widgets-2.0.0.dist-info}/METADATA +3 -3
  147. {bec_widgets-1.25.0.dist-info → bec_widgets-2.0.0.dist-info}/RECORD +169 -154
  148. pyproject.toml +3 -3
  149. bec_widgets/applications/alignment/alignment_1d/alignment_1d.py +0 -198
  150. bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui +0 -615
  151. bec_widgets/applications/bec_app.py +0 -84
  152. bec_widgets/cli/auto_updates.py +0 -168
  153. bec_widgets/widgets/containers/figure/__init__.py +0 -1
  154. bec_widgets/widgets/containers/figure/figure.py +0 -796
  155. bec_widgets/widgets/containers/figure/plots/axis_settings.py +0 -91
  156. bec_widgets/widgets/containers/figure/plots/axis_settings.ui +0 -256
  157. bec_widgets/widgets/containers/figure/plots/image/image.py +0 -772
  158. bec_widgets/widgets/containers/figure/plots/image/image_item.py +0 -337
  159. bec_widgets/widgets/containers/figure/plots/motor_map/motor_map.py +0 -525
  160. bec_widgets/widgets/containers/figure/plots/multi_waveform/multi_waveform.py +0 -340
  161. bec_widgets/widgets/containers/figure/plots/plot_base.py +0 -505
  162. bec_widgets/widgets/containers/figure/plots/waveform/waveform.py +0 -1563
  163. bec_widgets/widgets/plots/image/bec_image_widget.pyproject +0 -1
  164. bec_widgets/widgets/plots/image/image_widget.py +0 -515
  165. bec_widgets/widgets/plots/motor_map/bec_motor_map_widget.pyproject +0 -1
  166. bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.py +0 -56
  167. bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.ui +0 -108
  168. bec_widgets/widgets/plots/motor_map/motor_map_widget.py +0 -234
  169. bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget.pyproject +0 -1
  170. bec_widgets/widgets/plots/multi_waveform/multi_waveform_controls.ui +0 -99
  171. bec_widgets/widgets/plots/multi_waveform/multi_waveform_widget.py +0 -536
  172. bec_widgets/widgets/plots/waveform/bec_waveform_widget.pyproject +0 -1
  173. bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -336
  174. bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -372
  175. bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -25
  176. bec_widgets/widgets/plots/waveform/waveform_widget.py +0 -751
  177. /bec_widgets/{qt_utils → utils}/collapsible_panel_manager.py +0 -0
  178. /bec_widgets/{applications/alignment → utils/forms_from_types}/__init__.py +0 -0
  179. /bec_widgets/{qt_utils → utils}/redis_message_waiter.py +0 -0
  180. /bec_widgets/{applications/alignment/alignment_1d → widgets/containers/auto_update}/__init__.py +0 -0
  181. /bec_widgets/{qt_utils → widgets/containers/main_window/addons}/__init__.py +0 -0
  182. /bec_widgets/widgets/{containers/figure/plots → plots/image/toolbar_bundles}/__init__.py +0 -0
  183. /bec_widgets/widgets/{containers/figure/plots/image → plots/motor_map/settings}/__init__.py +0 -0
  184. /bec_widgets/widgets/{containers/figure/plots/motor_map → plots/motor_map/toolbar_bundles}/__init__.py +0 -0
  185. /bec_widgets/widgets/{containers/figure/plots/multi_waveform → plots/multi_waveform/settings}/__init__.py +0 -0
  186. /bec_widgets/widgets/{containers/figure/plots/waveform → plots/multi_waveform/toolbar_bundles}/__init__.py +0 -0
  187. /bec_widgets/widgets/plots/{motor_map/motor_map_dialog → scatter_waveform}/__init__.py +0 -0
  188. /bec_widgets/widgets/plots/{waveform/waveform_popups → scatter_waveform/settings}/__init__.py +0 -0
  189. /bec_widgets/widgets/plots/{waveform/waveform_popups/curve_dialog → setting_menus}/__init__.py +0 -0
  190. /bec_widgets/widgets/{plots_next_gen → plots}/setting_menus/axis_settings_horizontal.ui +0 -0
  191. /bec_widgets/widgets/{plots_next_gen → plots}/setting_menus/axis_settings_vertical.ui +0 -0
  192. /bec_widgets/widgets/plots/{waveform/waveform_popups/dap_summary_dialog → toolbar_bundles}/__init__.py +0 -0
  193. /bec_widgets/widgets/{plots_next_gen/setting_menus → plots/waveform/settings}/__init__.py +0 -0
  194. /bec_widgets/widgets/{plots_next_gen/toolbar_bundles → plots/waveform/settings/curve_settings}/__init__.py +0 -0
  195. {bec_widgets-1.25.0.dist-info → bec_widgets-2.0.0.dist-info}/WHEEL +0 -0
  196. {bec_widgets-1.25.0.dist-info → bec_widgets-2.0.0.dist-info}/entry_points.txt +0 -0
  197. {bec_widgets-1.25.0.dist-info → bec_widgets-2.0.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,372 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ui version="4.0">
3
- <class>Form</class>
4
- <widget class="QWidget" name="Form">
5
- <property name="geometry">
6
- <rect>
7
- <x>0</x>
8
- <y>0</y>
9
- <width>720</width>
10
- <height>806</height>
11
- </rect>
12
- </property>
13
- <property name="windowTitle">
14
- <string>Form</string>
15
- </property>
16
- <layout class="QVBoxLayout" name="verticalLayout_2">
17
- <property name="leftMargin">
18
- <number>2</number>
19
- </property>
20
- <property name="topMargin">
21
- <number>2</number>
22
- </property>
23
- <property name="rightMargin">
24
- <number>2</number>
25
- </property>
26
- <property name="bottomMargin">
27
- <number>2</number>
28
- </property>
29
- <item>
30
- <widget class="QGroupBox" name="x_group_box">
31
- <property name="title">
32
- <string>X Axis</string>
33
- </property>
34
- <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0,0,1,3,1,3">
35
- <item>
36
- <widget class="QLabel" name="x_mode_label">
37
- <property name="text">
38
- <string>X Axis Mode</string>
39
- </property>
40
- </widget>
41
- </item>
42
- <item>
43
- <widget class="QComboBox" name="x_mode">
44
- <property name="minimumSize">
45
- <size>
46
- <width>150</width>
47
- <height>26</height>
48
- </size>
49
- </property>
50
- <item>
51
- <property name="text">
52
- <string>best_effort</string>
53
- </property>
54
- </item>
55
- <item>
56
- <property name="text">
57
- <string>device</string>
58
- </property>
59
- </item>
60
- <item>
61
- <property name="text">
62
- <string>index</string>
63
- </property>
64
- </item>
65
- <item>
66
- <property name="text">
67
- <string>timestamp</string>
68
- </property>
69
- </item>
70
- </widget>
71
- </item>
72
- <item>
73
- <spacer name="horizontalSpacer_3">
74
- <property name="orientation">
75
- <enum>Qt::Orientation::Horizontal</enum>
76
- </property>
77
- <property name="sizeHint" stdset="0">
78
- <size>
79
- <width>40</width>
80
- <height>20</height>
81
- </size>
82
- </property>
83
- </spacer>
84
- </item>
85
- <item>
86
- <spacer name="horizontalSpacer_4">
87
- <property name="orientation">
88
- <enum>Qt::Orientation::Horizontal</enum>
89
- </property>
90
- <property name="sizeHint" stdset="0">
91
- <size>
92
- <width>40</width>
93
- <height>20</height>
94
- </size>
95
- </property>
96
- </spacer>
97
- </item>
98
- <item>
99
- <widget class="QLabel" name="x_name_label">
100
- <property name="text">
101
- <string>Name</string>
102
- </property>
103
- </widget>
104
- </item>
105
- <item>
106
- <widget class="DeviceLineEdit" name="x_name"/>
107
- </item>
108
- <item>
109
- <widget class="QLabel" name="x_entry_label">
110
- <property name="text">
111
- <string>Entry</string>
112
- </property>
113
- </widget>
114
- </item>
115
- <item>
116
- <widget class="QLineEdit" name="x_entry"/>
117
- </item>
118
- </layout>
119
- </widget>
120
- </item>
121
- <item>
122
- <widget class="QGroupBox" name="y_group_box">
123
- <property name="title">
124
- <string>Y Axis</string>
125
- </property>
126
- <layout class="QVBoxLayout" name="verticalLayout">
127
- <item>
128
- <widget class="QTabWidget" name="tabWidget">
129
- <property name="currentIndex">
130
- <number>0</number>
131
- </property>
132
- <widget class="QWidget" name="tab_scan">
133
- <attribute name="title">
134
- <string>Scan</string>
135
- </attribute>
136
- <layout class="QGridLayout" name="gridLayout">
137
- <property name="leftMargin">
138
- <number>5</number>
139
- </property>
140
- <property name="topMargin">
141
- <number>5</number>
142
- </property>
143
- <property name="rightMargin">
144
- <number>5</number>
145
- </property>
146
- <property name="bottomMargin">
147
- <number>5</number>
148
- </property>
149
- <item row="0" column="2">
150
- <widget class="QPushButton" name="normalize_colors_scan">
151
- <property name="text">
152
- <string>Normalize Colors</string>
153
- </property>
154
- </widget>
155
- </item>
156
- <item row="1" column="0" colspan="4">
157
- <widget class="QTableWidget" name="scan_table">
158
- <property name="rowCount">
159
- <number>0</number>
160
- </property>
161
- <attribute name="horizontalHeaderCascadingSectionResizes">
162
- <bool>false</bool>
163
- </attribute>
164
- <attribute name="horizontalHeaderShowSortIndicator" stdset="0">
165
- <bool>true</bool>
166
- </attribute>
167
- <attribute name="horizontalHeaderStretchLastSection">
168
- <bool>true</bool>
169
- </attribute>
170
- <attribute name="verticalHeaderStretchLastSection">
171
- <bool>false</bool>
172
- </attribute>
173
- <column>
174
- <property name="text">
175
- <string>Name</string>
176
- </property>
177
- </column>
178
- <column>
179
- <property name="text">
180
- <string>Entry</string>
181
- </property>
182
- </column>
183
- <column>
184
- <property name="text">
185
- <string>Color</string>
186
- </property>
187
- </column>
188
- <column>
189
- <property name="text">
190
- <string>Style</string>
191
- </property>
192
- </column>
193
- <column>
194
- <property name="text">
195
- <string>Width</string>
196
- </property>
197
- </column>
198
- <column>
199
- <property name="text">
200
- <string>Symbol Size</string>
201
- </property>
202
- </column>
203
- <column>
204
- <property name="text">
205
- <string>Delete</string>
206
- </property>
207
- </column>
208
- </widget>
209
- </item>
210
- <item row="0" column="1">
211
- <spacer name="horizontalSpacer">
212
- <property name="orientation">
213
- <enum>Qt::Orientation::Horizontal</enum>
214
- </property>
215
- <property name="sizeHint" stdset="0">
216
- <size>
217
- <width>40</width>
218
- <height>20</height>
219
- </size>
220
- </property>
221
- </spacer>
222
- </item>
223
- <item row="0" column="0">
224
- <widget class="QPushButton" name="add_curve">
225
- <property name="toolTip">
226
- <string/>
227
- </property>
228
- <property name="text">
229
- <string/>
230
- </property>
231
- </widget>
232
- </item>
233
- <item row="0" column="3">
234
- <widget class="BECColorMapWidget" name="color_map_selector_scan">
235
- <property name="sizePolicy">
236
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
237
- <horstretch>0</horstretch>
238
- <verstretch>0</verstretch>
239
- </sizepolicy>
240
- </property>
241
- </widget>
242
- </item>
243
- </layout>
244
- </widget>
245
- <widget class="QWidget" name="tab_DAP">
246
- <attribute name="title">
247
- <string>DAP</string>
248
- </attribute>
249
- <layout class="QGridLayout" name="gridLayout_2">
250
- <property name="leftMargin">
251
- <number>5</number>
252
- </property>
253
- <property name="topMargin">
254
- <number>5</number>
255
- </property>
256
- <property name="rightMargin">
257
- <number>5</number>
258
- </property>
259
- <property name="bottomMargin">
260
- <number>5</number>
261
- </property>
262
- <item row="1" column="0" colspan="4">
263
- <widget class="QTableWidget" name="dap_table">
264
- <attribute name="horizontalHeaderShowSortIndicator" stdset="0">
265
- <bool>true</bool>
266
- </attribute>
267
- <attribute name="horizontalHeaderStretchLastSection">
268
- <bool>true</bool>
269
- </attribute>
270
- <column>
271
- <property name="text">
272
- <string>Name</string>
273
- </property>
274
- </column>
275
- <column>
276
- <property name="text">
277
- <string>Entry</string>
278
- </property>
279
- </column>
280
- <column>
281
- <property name="text">
282
- <string>Model</string>
283
- </property>
284
- </column>
285
- <column>
286
- <property name="text">
287
- <string>Color</string>
288
- </property>
289
- </column>
290
- <column>
291
- <property name="text">
292
- <string>Style</string>
293
- </property>
294
- </column>
295
- <column>
296
- <property name="text">
297
- <string>Width</string>
298
- </property>
299
- </column>
300
- <column>
301
- <property name="text">
302
- <string>Symbol Size</string>
303
- </property>
304
- </column>
305
- <column>
306
- <property name="text">
307
- <string>Delete</string>
308
- </property>
309
- </column>
310
- </widget>
311
- </item>
312
- <item row="0" column="2">
313
- <widget class="QPushButton" name="normalize_colors_dap">
314
- <property name="text">
315
- <string>Normalize Colors</string>
316
- </property>
317
- </widget>
318
- </item>
319
- <item row="0" column="1">
320
- <spacer name="horizontalSpacer_2">
321
- <property name="orientation">
322
- <enum>Qt::Orientation::Horizontal</enum>
323
- </property>
324
- <property name="sizeHint" stdset="0">
325
- <size>
326
- <width>585</width>
327
- <height>20</height>
328
- </size>
329
- </property>
330
- </spacer>
331
- </item>
332
- <item row="0" column="0">
333
- <widget class="QPushButton" name="add_dap">
334
- <property name="text">
335
- <string/>
336
- </property>
337
- </widget>
338
- </item>
339
- <item row="0" column="3">
340
- <widget class="BECColorMapWidget" name="color_map_selector_dap">
341
- <property name="sizePolicy">
342
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
343
- <horstretch>0</horstretch>
344
- <verstretch>0</verstretch>
345
- </sizepolicy>
346
- </property>
347
- </widget>
348
- </item>
349
- </layout>
350
- </widget>
351
- </widget>
352
- </item>
353
- </layout>
354
- </widget>
355
- </item>
356
- </layout>
357
- </widget>
358
- <customwidgets>
359
- <customwidget>
360
- <class>DeviceLineEdit</class>
361
- <extends>QLineEdit</extends>
362
- <header>device_line_edit</header>
363
- </customwidget>
364
- <customwidget>
365
- <class>BECColorMapWidget</class>
366
- <extends>QWidget</extends>
367
- <header>bec_color_map_widget</header>
368
- </customwidget>
369
- </customwidgets>
370
- <resources/>
371
- <connections/>
372
- </ui>
@@ -1,25 +0,0 @@
1
- from qtpy.QtWidgets import QDialog, QVBoxLayout
2
-
3
- from bec_widgets.widgets.dap.lmfit_dialog.lmfit_dialog import LMFitDialog
4
-
5
-
6
- class FitSummaryWidget(QDialog):
7
-
8
- def __init__(self, parent=None, target_widget=None):
9
- super().__init__(parent=parent)
10
-
11
- self.setModal(True)
12
- self.target_widget = target_widget
13
- self.dap_dialog = LMFitDialog(parent=self, ui_file="lmfit_dialog_compact.ui")
14
- self.layout = QVBoxLayout(self)
15
- self.layout.addWidget(self.dap_dialog)
16
- self.target_widget.dap_summary_update.connect(self.dap_dialog.update_summary_tree)
17
- self.setLayout(self.layout)
18
- self._get_dap_from_target_widget()
19
-
20
- def _get_dap_from_target_widget(self) -> None:
21
- """Get the DAP data from the target widget and update the DAP dialog manually on creation."""
22
- dap_summary = self.target_widget.get_dap_summary()
23
- for curve_id, data in dap_summary.items():
24
- md = {"curve_id": curve_id}
25
- self.dap_dialog.update_summary_tree(data=data, metadata=md)