bec-widgets 0.117.1__py3-none-any.whl → 0.119.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 (26) hide show
  1. CHANGELOG.md +47 -51
  2. PKG-INFO +1 -1
  3. bec_widgets/applications/alignment/alignment_1d/alignment_1d.py +33 -89
  4. bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui +413 -715
  5. bec_widgets/examples/jupyter_console/jupyter_console_window.py +1 -1
  6. bec_widgets/qt_utils/compact_popup.py +68 -23
  7. bec_widgets/qt_utils/toolbar.py +51 -12
  8. bec_widgets/widgets/device_line_edit/device_line_edit.py +15 -1
  9. bec_widgets/widgets/figure/figure.py +10 -1
  10. bec_widgets/widgets/figure/plots/image/image.py +86 -19
  11. bec_widgets/widgets/image/image_widget.py +15 -2
  12. bec_widgets/widgets/positioner_box/positioner_box.py +10 -4
  13. bec_widgets/widgets/positioner_group/__init__.py +0 -0
  14. bec_widgets/widgets/positioner_group/positioner_group.py +170 -0
  15. bec_widgets/widgets/positioner_group/positioner_group.pyproject +1 -0
  16. bec_widgets/widgets/positioner_group/positioner_group_plugin.py +57 -0
  17. bec_widgets/widgets/positioner_group/register_positioner_group.py +15 -0
  18. bec_widgets/widgets/scan_control/scan_control.py +74 -122
  19. bec_widgets/widgets/scan_control/scan_group_box.py +66 -11
  20. bec_widgets/widgets/stop_button/stop_button.py +1 -1
  21. {bec_widgets-0.117.1.dist-info → bec_widgets-0.119.0.dist-info}/METADATA +1 -1
  22. {bec_widgets-0.117.1.dist-info → bec_widgets-0.119.0.dist-info}/RECORD +26 -21
  23. pyproject.toml +1 -1
  24. {bec_widgets-0.117.1.dist-info → bec_widgets-0.119.0.dist-info}/WHEEL +0 -0
  25. {bec_widgets-0.117.1.dist-info → bec_widgets-0.119.0.dist-info}/entry_points.txt +0 -0
  26. {bec_widgets-0.117.1.dist-info → bec_widgets-0.119.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,8 @@
1
1
  from typing import Literal
2
2
 
3
3
  from bec_lib.logger import bec_logger
4
- from qtpy.QtCore import Qt
4
+ from bec_qthemes import material_icon
5
+ from qtpy.QtCore import Property, Qt, Signal, Slot
5
6
  from qtpy.QtWidgets import (
6
7
  QCheckBox,
7
8
  QComboBox,
@@ -11,9 +12,12 @@ from qtpy.QtWidgets import (
11
12
  QFormLayout,
12
13
  QGridLayout,
13
14
  QGroupBox,
15
+ QHBoxLayout,
14
16
  QLabel,
15
17
  QLineEdit,
18
+ QPushButton,
16
19
  QSpinBox,
20
+ QVBoxLayout,
17
21
  )
18
22
 
19
23
  from bec_widgets.utils.widget_io import WidgetIO
@@ -133,6 +137,8 @@ class ScanGroupBox(QGroupBox):
133
137
  ScanArgType.LITERALS: QComboBox, # TODO figure out combobox logic
134
138
  }
135
139
 
140
+ device_selected = Signal(str)
141
+
136
142
  def __init__(
137
143
  self,
138
144
  parent=None,
@@ -144,13 +150,36 @@ class ScanGroupBox(QGroupBox):
144
150
  super().__init__(parent=parent, *args, **kwargs)
145
151
  self.config = config
146
152
  self.box_type = box_type
153
+ self._hide_add_remove_buttons = False
147
154
 
155
+ vbox_layout = QVBoxLayout(self)
156
+ hbox_layout = QHBoxLayout()
157
+ vbox_layout.addLayout(hbox_layout)
148
158
  self.layout = QGridLayout(self)
159
+ vbox_layout.addLayout(self.layout)
160
+
161
+ # Add bundle button
162
+ self.button_add_bundle = QPushButton(self)
163
+ self.button_add_bundle.setIcon(
164
+ material_icon(icon_name="add", size=(15, 15), convert_to_pixmap=False)
165
+ )
166
+ # Remove bundle button
167
+ self.button_remove_bundle = QPushButton(self)
168
+ self.button_remove_bundle.setIcon(
169
+ material_icon(icon_name="remove", size=(15, 15), convert_to_pixmap=False)
170
+ )
171
+ hbox_layout.addWidget(self.button_add_bundle)
172
+ hbox_layout.addWidget(self.button_remove_bundle)
173
+
149
174
  self.labels = []
150
175
  self.widgets = []
176
+ self.selected_devices = {}
151
177
 
152
178
  self.init_box(self.config)
153
179
 
180
+ self.button_add_bundle.clicked.connect(self.add_widget_bundle)
181
+ self.button_remove_bundle.clicked.connect(self.remove_widget_bundle)
182
+
154
183
  def init_box(self, config: dict):
155
184
  box_name = config.get("name", "ScanGroupBox")
156
185
  self.inputs = config.get("inputs", {})
@@ -166,6 +195,8 @@ class ScanGroupBox(QGroupBox):
166
195
  self.add_input_widgets(self.inputs, i)
167
196
  else:
168
197
  self.add_input_widgets(self.inputs, 1)
198
+ self.button_add_bundle.setVisible(False)
199
+ self.button_remove_bundle.setVisible(False)
169
200
 
170
201
  def add_input_labels(self, group_inputs: dict, row: int) -> None:
171
202
  """
@@ -192,27 +223,34 @@ class ScanGroupBox(QGroupBox):
192
223
  for column_index, item in enumerate(group_inputs):
193
224
  arg_name = item.get("name", None)
194
225
  default = item.get("default", None)
195
- widget = self.WIDGET_HANDLER.get(item["type"], None)
196
- if widget is None:
226
+ widget_class = self.WIDGET_HANDLER.get(item["type"], None)
227
+ if widget_class is None:
197
228
  logger.error(
198
229
  f"Unsupported annotation '{item['type']}' for parameter '{item['name']}'"
199
230
  )
200
231
  continue
201
232
  if default == "_empty":
202
233
  default = None
203
- widget_to_add = widget(arg_name=arg_name, default=default)
234
+ widget = widget_class(arg_name=arg_name, default=default)
235
+ if isinstance(widget, DeviceLineEdit):
236
+ self.selected_devices[widget] = ""
237
+ widget.device_selected.connect(self.emit_device_selected)
204
238
  tooltip = item.get("tooltip", None)
205
239
  if tooltip is not None:
206
- widget_to_add.setToolTip(item["tooltip"])
207
- self.layout.addWidget(widget_to_add, row, column_index)
208
- self.widgets.append(widget_to_add)
240
+ widget.setToolTip(item["tooltip"])
241
+ self.layout.addWidget(widget, row, column_index)
242
+ self.widgets.append(widget)
243
+
244
+ @Slot(str)
245
+ def emit_device_selected(self, device_name):
246
+ self.selected_devices[self.sender()] = device_name.strip()
247
+ selected_devices_str = " ".join(self.selected_devices.values())
248
+ self.device_selected.emit(selected_devices_str)
209
249
 
210
250
  def add_widget_bundle(self):
211
251
  """
212
252
  Adds a new row of widgets to the scan control layout. Only usable for arg_groups.
213
253
  """
214
- if self.box_type != "args":
215
- return
216
254
  arg_max = self.config.get("max", None)
217
255
  row = self.layout.rowCount()
218
256
  if arg_max is not None and row >= arg_max:
@@ -224,17 +262,34 @@ class ScanGroupBox(QGroupBox):
224
262
  """
225
263
  Removes the last row of widgets from the scan control layout. Only usable for arg_groups.
226
264
  """
227
- if self.box_type != "args":
228
- return
229
265
  arg_min = self.config.get("min", None)
230
266
  row = self.count_arg_rows()
231
267
  if arg_min is not None and row <= arg_min:
232
268
  return
233
269
 
234
270
  for widget in self.widgets[-len(self.inputs) :]:
271
+ if isinstance(widget, DeviceLineEdit):
272
+ self.selected_devices[widget] = ""
235
273
  widget.deleteLater()
236
274
  self.widgets = self.widgets[: -len(self.inputs)]
237
275
 
276
+ selected_devices_str = " ".join(self.selected_devices.values())
277
+ self.device_selected.emit(selected_devices_str.strip())
278
+
279
+ @Property(bool)
280
+ def hide_add_remove_buttons(self):
281
+ return self._hide_add_remove_buttons
282
+
283
+ @hide_add_remove_buttons.setter
284
+ def hide_add_remove_buttons(self, hide: bool):
285
+ self._hide_add_remove_buttons = hide
286
+ if not hide and self.box_type == "args":
287
+ self.button_add_bundle.show()
288
+ self.button_remove_bundle.show()
289
+ return
290
+ self.button_add_bundle.hide()
291
+ self.button_remove_bundle.hide()
292
+
238
293
  def get_parameters(self, device_object: bool = True):
239
294
  """
240
295
  Returns the parameters from the widgets in the scan control layout formated to run scan from BEC.
@@ -28,7 +28,7 @@ class StopButton(BECWidget, QWidget):
28
28
  self.button.setToolTip("Stop the scan queue")
29
29
  else:
30
30
  self.button = QPushButton()
31
- self.button.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
31
+ self.button.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
32
32
  self.button.setText("Stop")
33
33
  self.button.setStyleSheet(
34
34
  f"background-color: #cc181e; color: white; font-weight: bold; font-size: 12px;"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.117.1
3
+ Version: 0.119.0
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -2,11 +2,11 @@
2
2
  .gitlab-ci.yml,sha256=Dc1iDjsc72UxdUtihx4uSZU0lrTQeR8hZwGx1MQBfKE,8432
3
3
  .pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=l7OerEQLFUkgRP8ee9m3Pt33SvtAgXGysgXk7rrYG2o,7500
5
+ CHANGELOG.md,sha256=0BvVfDg_awMcIR5WdyZtf-eYBwyiRU6EETJPxfcGVUQ,7817
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=b_z8MIDR_146jZCXbjcxnzt8q1jbf2NZ1QRfjcUFBk4,1334
7
+ PKG-INFO,sha256=blgEe9q8dlARGyBUUwbVSMFxd9YB7n4J-3-stvLpE-w,1334
8
8
  README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
9
- pyproject.toml,sha256=z_RxPwnuA9ck8UUX9jWpMRdyO-3DugNJkJoAtGYh1mk,2594
9
+ pyproject.toml,sha256=McTHvee-FaVDKor7lpJlu9kT9dDtcX09PSWoEzyS1vk,2594
10
10
  .git_hooks/pre-commit,sha256=n3RofIZHJl8zfJJIUomcMyYGFi_rwq4CC19z0snz3FI,286
11
11
  .gitlab/issue_templates/bug_report_template.md,sha256=gAuyEwl7XlnebBrkiJ9AqffSNOywmr8vygUFWKTuQeI,386
12
12
  .gitlab/issue_templates/documentation_update_template.md,sha256=FHLdb3TS_D9aL4CYZCjyXSulbaW5mrN2CmwTaeLPbNw,860
@@ -17,8 +17,8 @@ bec_widgets/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
17
17
  bec_widgets/applications/bec_app.py,sha256=PptBknsnhWm5GSE-xBps4EAYP3f9i-q9YmUMROupnqQ,2801
18
18
  bec_widgets/applications/alignment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  bec_widgets/applications/alignment/alignment_1d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- bec_widgets/applications/alignment/alignment_1d/alignment_1d.py,sha256=eGqEXKVz4kSdaIBZAKfuI4pwYoLWwKyLjTY1eB31kgk,11200
21
- bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui,sha256=CQz0UAXhWI4As_dsgfZUqCtYoqEAgEJl7IZWP7YxA5I,28940
20
+ bec_widgets/applications/alignment/alignment_1d/alignment_1d.py,sha256=kGF0grwYDWGwNRhWiI3OUj7wUmMd6PhFOR9Drb0339I,8093
21
+ bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui,sha256=af3-CytU4h3TAaOvgzq6OHJ60DZSiGVeci7tzNX2fto,18927
22
22
  bec_widgets/assets/app_icons/BEC-General-App.png,sha256=hc2ktly53DZAbl_rE3cb-vdRa5gtdCmBEjfwm2y5P4g,447581
23
23
  bec_widgets/assets/app_icons/alignment_1d.png,sha256=5VouaWieb4lVv3wUBNHaO5ovUW2Fk25aTKYQzOWy0mg,2071069
24
24
  bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
@@ -36,7 +36,7 @@ bec_widgets/examples/general_app/general_app.py,sha256=PoFCTuA_1yqrpgthASpYFgH7J
36
36
  bec_widgets/examples/general_app/general_app.ui,sha256=TsejkM3Z8znnixyqxoj4SwhIIpIzTAuGAMkGXSS1aT8,10479
37
37
  bec_widgets/examples/general_app/web_links.py,sha256=d5OgzgI9zb-NAC0pOGanOtJX3nZoe4x8QuQTw-_hK_8,434
38
38
  bec_widgets/examples/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=C1GeB-RuL7Uo2IJS8DghNsPY41FJJi60EVXVJrwz3Do,6767
39
+ bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=ghtbw0rZjjLMq3Kn01PTPn7ubJ9O20Y0VFgIFlOkWXY,6776
40
40
  bec_widgets/examples/plugin_example_pyside/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  bec_widgets/examples/plugin_example_pyside/main.py,sha256=zDP5wO7wb3BVsQ15HOCRT1nNmCujIVRvSXZ3Txje8L0,549
42
42
  bec_widgets/examples/plugin_example_pyside/registertictactoe.py,sha256=cVhBnP0qx5j9Jft-VeKvlTFE-bX58hbP45CX0f4r5pM,535
@@ -45,12 +45,12 @@ bec_widgets/examples/plugin_example_pyside/tictactoe.py,sha256=s3rCurXloVcmMdzZi
45
45
  bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py,sha256=MFMwONn4EZ3V8DboEG4I3BXpURE9JDbKB7XTzzfZl5w,1978
46
46
  bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=V6OVnBTS-60zjQ2FAs88Ldjm1MfoMROfiQZZu6Guav8,2379
47
47
  bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- bec_widgets/qt_utils/compact_popup.py,sha256=DQel3iVjRYn6C5cR33ADSPyZObuMWSKwJYbwudb0o1k,8474
48
+ bec_widgets/qt_utils/compact_popup.py,sha256=3yeb-GJ1PUla5Q_hT0XDKqvyIEH9yV_eGidf1t8Dbbw,10234
49
49
  bec_widgets/qt_utils/error_popups.py,sha256=y9gKKWaafp468ioHr96nBhf02ZpEgjDc-BAVOTWh-e8,7680
50
50
  bec_widgets/qt_utils/palette_viewer.py,sha256=PGhJ-4XI0f7gNnC1djNgcIHYg6HDO6hPju4pfWj9rvg,6311
51
51
  bec_widgets/qt_utils/redis_message_waiter.py,sha256=fvL_QgC0cTDv_FPJdRyp5AKjf401EJU4z3r38p47ydY,1745
52
52
  bec_widgets/qt_utils/settings_dialog.py,sha256=NhtzTer_xzlB2lLLrGklkI1QYLJEWQpJoZbCz4o5daI,3645
53
- bec_widgets/qt_utils/toolbar.py,sha256=6D6GL0OjXEtuP9G83OiDxycyy6m8mqY2ChtPwinN9Ec,8735
53
+ bec_widgets/qt_utils/toolbar.py,sha256=yR2WNPv7dD8jU12aHgUMAi5-FYyCKe2MNSsqMzsa5pg,9856
54
54
  bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
55
55
  bec_widgets/utils/bec_connector.py,sha256=I9M_4g-_-WaMmhyXzChFCGXAElelx0mG6E1g0KvtEQs,10059
56
56
  bec_widgets/utils/bec_designer.py,sha256=Z3MeMju-KmTz8POtm23VQfp4rvtD2sF6eIOKQkl2F7w,4729
@@ -149,7 +149,7 @@ bec_widgets/widgets/device_combobox/device_combo_box_plugin.py,sha256=E4kR_EWo2Y
149
149
  bec_widgets/widgets/device_combobox/device_combobox.py,sha256=OMtrIn9e9F3S-bJ3xB27LTMShnGIdawBoq_G_E98SV0,2695
150
150
  bec_widgets/widgets/device_combobox/register_device_combo_box.py,sha256=ZCrWVdWOvIjnUJWe3MU7JO021rcXYg2SgA1iSKqbLoY,488
151
151
  bec_widgets/widgets/device_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
- bec_widgets/widgets/device_line_edit/device_line_edit.py,sha256=whPg6x4I0645Cw4jyNaOvUTGSO4-2AiGPbstv722HcI,3250
152
+ bec_widgets/widgets/device_line_edit/device_line_edit.py,sha256=v5Pz7fmGzDxYF8uy3OVHy3uCSFQU_SOJ7WdHiFfhnrA,3700
153
153
  bec_widgets/widgets/device_line_edit/device_line_edit.pyproject,sha256=tqAYXRbxsHR41MwqmAxvfq1CFeZ1IRv84whUG67HjjE,41
154
154
  bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=KsTa6Ha1hWFvbw5x24KCGstxKqhlTakJfmtphsOouJ0,1433
155
155
  bec_widgets/widgets/device_line_edit/register_device_line_edit.py,sha256=8gEPnC8djYCw-idoZAENNB3bPOxM6pbzEp9A366EAGg,489
@@ -160,13 +160,13 @@ bec_widgets/widgets/dock/dock_area.pyproject,sha256=URW0UrDXCnkzk80rbQmUMgF6Uqay
160
160
  bec_widgets/widgets/dock/dock_area_plugin.py,sha256=hfA1r13hmlXaDO6kzbk6vBlhVlGh2eSTXrnftjzZj0Q,1320
161
161
  bec_widgets/widgets/dock/register_dock_area.py,sha256=Yqd1mq6CcHwlxHZxX5EHKONy4P44nMm8pso-4X0tvJI,464
162
162
  bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
163
- bec_widgets/widgets/figure/figure.py,sha256=IzQaV_9utjViJyjMydOa3-EJ9k-FVG2PTVm8_ENCbgY,28849
163
+ bec_widgets/widgets/figure/figure.py,sha256=dHH27Fwr9dFBx4g6CXfDQr09LVAUi7xghxukhjoRND8,29110
164
164
  bec_widgets/widgets/figure/plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  bec_widgets/widgets/figure/plots/axis_settings.py,sha256=grgrX4t4eAzccW4jj4HYtMSxy8Wgcd9N9J1aU7UHtIs,3723
166
166
  bec_widgets/widgets/figure/plots/axis_settings.ui,sha256=ye-guaRU_jhu7sHZS-9AjBjLrCtA1msOD0dszu4o9x8,11785
167
167
  bec_widgets/widgets/figure/plots/plot_base.py,sha256=7c1HQaGwxsN2vQOFuF5Z68Gp-hbeHOI04C4wvWQs89w,18180
168
168
  bec_widgets/widgets/figure/plots/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
- bec_widgets/widgets/figure/plots/image/image.py,sha256=FmvVVKLtMOAvaRL1tF30KLO0yQVCZqxCqydQIesKgdc,25044
169
+ bec_widgets/widgets/figure/plots/image/image.py,sha256=tTtBoAA5CRhSEMae0k8dElM-MznnhcgTg0flXIIduq0,28052
170
170
  bec_widgets/widgets/figure/plots/image/image_item.py,sha256=TwHo6FwCiQgJBdr-KKy_7Y_vYSB0pPjBl1AubuZSrE0,11002
171
171
  bec_widgets/widgets/figure/plots/image/image_processor.py,sha256=GeTtWjbldy6VejMwPGQgM-o3d6bmLglCjdoktu19xfA,5262
172
172
  bec_widgets/widgets/figure/plots/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -177,7 +177,7 @@ bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=RUo4GfXwlaCei
177
177
  bec_widgets/widgets/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
178
  bec_widgets/widgets/image/bec_image_widget.pyproject,sha256=PHisdBo5_5UCApd27GkizzqgfdjsDx2bFZa_p9LiSW8,30
179
179
  bec_widgets/widgets/image/bec_image_widget_plugin.py,sha256=3nOHJTukHsEkaCLAivPHIY4qdshAj86LUKb5fYF3C-Y,1369
180
- bec_widgets/widgets/image/image_widget.py,sha256=va8IwMWgKUhtmmig2npFjVWJgTnIdnGMFhqFHuoQvWo,17040
180
+ bec_widgets/widgets/image/image_widget.py,sha256=o639hbSJVrCGwx2r0KV8JUJ-inaME-GWMR7YDmzFHhg,17796
181
181
  bec_widgets/widgets/image/register_bec_image_widget.py,sha256=01YLZQTMSSIXvH1TSL-1AYsRs1a4EbSwKLVAwh9AjeA,478
182
182
  bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
183
  bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=-e7HQOECeH5eDrJYh4BFIzRL78LDkooU4otabyN0aX4,2343
@@ -202,7 +202,7 @@ bec_widgets/widgets/position_indicator/position_indicator.pyproject,sha256=s0JEf
202
202
  bec_widgets/widgets/position_indicator/position_indicator_plugin.py,sha256=ehQPpwkjJ7k365i4gdwtmAmCbVmB1tvQLEo60J_ivo4,1413
203
203
  bec_widgets/widgets/position_indicator/register_position_indicator.py,sha256=OZNiMgM_80TPSAXK_0hXAkne4vUh8DGvh_OdpOiMpwI,516
204
204
  bec_widgets/widgets/positioner_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
- bec_widgets/widgets/positioner_box/positioner_box.py,sha256=xrANDL3dJM40c0AYhhessLGBdHkXSPOA-8KRvY5kKx0,11693
205
+ bec_widgets/widgets/positioner_box/positioner_box.py,sha256=LfF9t6B2L1WN4JHugXWA33L40RufI44nwhMUKAxpUaE,11980
206
206
  bec_widgets/widgets/positioner_box/positioner_box.pyproject,sha256=7966pHdDseaHciaPNEKgdQgbUThSZf5wEDCeAEJh9po,32
207
207
  bec_widgets/widgets/positioner_box/positioner_box.ui,sha256=7LZlM9smIqmkvS2KAIDkBamn04mBAkXeG9T1fpKRQe8,6093
208
208
  bec_widgets/widgets/positioner_box/positioner_box_plugin.py,sha256=kJtQgRFGkJYWbZqJ7K7o0UhdsgAlODUVZL8pKJWwMhs,1413
@@ -212,6 +212,11 @@ bec_widgets/widgets/positioner_box/positioner_control_line.ui,sha256=fUq56Bl05jx
212
212
  bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py,sha256=ud3KqPoW_jDipe6O7uEbM_X0M7angJgchY9dAjyxNRM,1495
213
213
  bec_widgets/widgets/positioner_box/register_positioner_box.py,sha256=UPOUjXXq6-IgSj0kdV_nJe1rYPMF8aIZxF4eSmWgQAg,483
214
214
  bec_widgets/widgets/positioner_box/register_positioner_control_line.py,sha256=MJ13vKGIwTMQGFhll63tfUGXHyd6bz40Cvr85oYKH3I,525
215
+ bec_widgets/widgets/positioner_group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
+ bec_widgets/widgets/positioner_group/positioner_group.py,sha256=UH7_9TJ5YH6WaU1hEcf7avAZiP_Co7Ppp1TsAvluu1Q,5768
217
+ bec_widgets/widgets/positioner_group/positioner_group.pyproject,sha256=NV-Hupn3uA4T9KXhxFO3r4MVuUAfdfWaLH4CIm71eqc,35
218
+ bec_widgets/widgets/positioner_group/positioner_group_plugin.py,sha256=mN1PcOy0SN_mgVLekuvAfC6-vLUYhRYC0Ks95f1Ut1c,1450
219
+ bec_widgets/widgets/positioner_group/register_positioner_group.py,sha256=1R9FCWeOIPMAhWCnpjMKsW06-Ku79S6pj0O_rB2LM78,491
215
220
  bec_widgets/widgets/ring_progress_bar/__init__.py,sha256=_uoJKnDM2YAeUBfwc5WLbIHSJj7zm_FAurSKP3WRaCw,47
216
221
  bec_widgets/widgets/ring_progress_bar/register_ring_progress_bar.py,sha256=uJrMhkuQi2PdWa0BwFJqjVXSkO-TXoyai4EQYOOe9t4,493
217
222
  bec_widgets/widgets/ring_progress_bar/ring.py,sha256=2pdEzETaJpvx4Dzyosq2YhnvDOEUvFnj_f9GfFKpG5Q,11159
@@ -220,10 +225,10 @@ bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject,sha256=ZNYDnKD
220
225
  bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py,sha256=-rw9ZSThgAH0Ubbr3X-L5x-ZqMXUGnauyFb4OmfUvD4,1394
221
226
  bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
222
227
  bec_widgets/widgets/scan_control/register_scan_control.py,sha256=xUX2yR0-MaIMg9_y9qe50yDDphzsh2x1b5PMrF90yPM,475
223
- bec_widgets/widgets/scan_control/scan_control.py,sha256=xR043qG1biFePq7bmfZZTcCvoQovObDe9cjRj-B-ylA,19343
228
+ bec_widgets/widgets/scan_control/scan_control.py,sha256=k1nypTt4cRo4zHI4Oii-P3-YBoUAEDUhQT-kbl9djyk,18126
224
229
  bec_widgets/widgets/scan_control/scan_control.pyproject,sha256=eTgVDFKToIH8_BbJjM2RvbOLr7HnYoidX0SAHx640DM,30
225
230
  bec_widgets/widgets/scan_control/scan_control_plugin.py,sha256=7GaqmaRgbwIPjVoXcyKVDl8UpfqC2weViup-YFfzUsM,1270
226
- bec_widgets/widgets/scan_control/scan_group_box.py,sha256=H2QQFvRlmpF-lilmRRNB-vsAcYQkDYhbHZo32hPRVr8,10488
231
+ bec_widgets/widgets/scan_control/scan_group_box.py,sha256=-d3V-sU-S-IHFymY-c-4BesUZNsG3Hq1exXvVGspXy4,12713
227
232
  bec_widgets/widgets/spinner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
233
  bec_widgets/widgets/spinner/register_spinner_widget.py,sha256=_zCPjLh4M7NTSHP1Atdn6yu33zJ3LJkcBy3KOJ5eSVY,476
229
234
  bec_widgets/widgets/spinner/spinner.py,sha256=5LoRGuRvQmY1hUCt06P3DJjXqOVkFCszbNAXRmPzqlo,2628
@@ -231,7 +236,7 @@ bec_widgets/widgets/spinner/spinner_widget.pyproject,sha256=zzLajGB3DTgVnrSqMey2
231
236
  bec_widgets/widgets/spinner/spinner_widget_plugin.py,sha256=AZYJJe40olMzqL6Edk6J-X_iNHcXrU-EQN4mCUCp_Fo,1355
232
237
  bec_widgets/widgets/stop_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
238
  bec_widgets/widgets/stop_button/register_stop_button.py,sha256=U7r3fEOH-uPhAQI-nTituHXDDXDWR4JQZ7_vD6b_dfM,471
234
- bec_widgets/widgets/stop_button/stop_button.py,sha256=Y_6GPSZ3NjmMBbZFW8moJYO2C-Ay5Zp-u9RuNKZaFB0,2022
239
+ bec_widgets/widgets/stop_button/stop_button.py,sha256=mRDJvsM5KqiOhmR_qIeV2hNcBHMkKqe63Kexv6FwA_w,2016
235
240
  bec_widgets/widgets/stop_button/stop_button.pyproject,sha256=Cc_xbv-zfzNVpsdg_1QyzuTlrJaM9_BkIjes70umrx0,29
236
241
  bec_widgets/widgets/stop_button/stop_button_plugin.py,sha256=VT-WVLq89fw7PwML7JDMCF1bqfopLCZIgMA4yetl65M,1365
237
242
  bec_widgets/widgets/text_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -265,8 +270,8 @@ bec_widgets/widgets/website/register_website_widget.py,sha256=LIQJpV9uqcBiPR9cEA
265
270
  bec_widgets/widgets/website/website.py,sha256=42pncCc_zI2eqeMArIurVmPUukRo5bTxa2h1Skah-io,3012
266
271
  bec_widgets/widgets/website/website_widget.pyproject,sha256=scOiV3cV1_BjbzpPzy2N8rIJL5P2qIZz8ObTJ-Uvdtg,25
267
272
  bec_widgets/widgets/website/website_widget_plugin.py,sha256=pz38_C2cZ0yvPPS02wdIPcmhFo_yiwUhflsASocAPQQ,1341
268
- bec_widgets-0.117.1.dist-info/METADATA,sha256=b_z8MIDR_146jZCXbjcxnzt8q1jbf2NZ1QRfjcUFBk4,1334
269
- bec_widgets-0.117.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
270
- bec_widgets-0.117.1.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
271
- bec_widgets-0.117.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
272
- bec_widgets-0.117.1.dist-info/RECORD,,
273
+ bec_widgets-0.119.0.dist-info/METADATA,sha256=blgEe9q8dlARGyBUUwbVSMFxd9YB7n4J-3-stvLpE-w,1334
274
+ bec_widgets-0.119.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
275
+ bec_widgets-0.119.0.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
276
+ bec_widgets-0.119.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
277
+ bec_widgets-0.119.0.dist-info/RECORD,,
pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "0.117.1"
7
+ version = "0.119.0"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [