bec-widgets 0.81.0__py3-none-any.whl → 0.82.1__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 (80) hide show
  1. CHANGELOG.md +50 -46
  2. PKG-INFO +1 -1
  3. bec_widgets/cli/client.py +1 -0
  4. bec_widgets/examples/__init__.py +0 -9
  5. bec_widgets/qt_utils/settings_dialog.py +107 -0
  6. bec_widgets/{widgets/toolbar → qt_utils}/toolbar.py +1 -30
  7. bec_widgets/widgets/{device_inputs → base_classes}/device_input_base.py +2 -0
  8. bec_widgets/widgets/{buttons/color_button → color_button}/color_button_plugin.py +1 -1
  9. bec_widgets/widgets/{buttons/color_button → color_button}/register_color_button.py +1 -1
  10. bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png +0 -0
  11. bec_widgets/widgets/{device_inputs/device_combobox → device_combobox}/device_combobox.py +2 -2
  12. bec_widgets/widgets/device_combobox/device_combobox.pyproject +3 -0
  13. bec_widgets/widgets/{device_inputs/device_combobox → device_combobox}/device_combobox_plugin.py +6 -3
  14. bec_widgets/widgets/{device_inputs/device_combobox → device_combobox}/register_device_combobox.py +1 -3
  15. bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png +0 -0
  16. bec_widgets/widgets/{device_inputs/device_line_edit → device_line_edit}/device_line_edit.py +2 -2
  17. bec_widgets/widgets/device_line_edit/device_line_edit.pyproject +3 -0
  18. bec_widgets/widgets/{device_inputs/device_line_edit → device_line_edit}/device_line_edit_plugin.py +6 -3
  19. bec_widgets/widgets/{device_inputs/device_line_edit → device_line_edit}/register_device_line_edit.py +1 -3
  20. bec_widgets/widgets/figure/plots/motor_map/motor_map.py +10 -8
  21. bec_widgets/widgets/figure/plots/waveform/waveform.py +8 -2
  22. bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +5 -31
  23. bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py +2 -2
  24. bec_widgets/widgets/motor_map/motor_map_widget.py +6 -15
  25. bec_widgets/widgets/scan_control/scan_control.py +1 -1
  26. bec_widgets/widgets/scan_control/scan_group_box.py +1 -1
  27. bec_widgets/widgets/stop_button/assets/stop.png +0 -0
  28. bec_widgets/widgets/stop_button/register_stop_button.py +15 -0
  29. bec_widgets/widgets/{buttons/stop_button → stop_button}/stop_button.py +5 -12
  30. bec_widgets/widgets/stop_button/stop_button.pyproject +1 -0
  31. bec_widgets/widgets/stop_button/stop_button_plugin.py +57 -0
  32. bec_widgets/widgets/toggle/register_toggle_switch.py +15 -0
  33. bec_widgets/widgets/toggle/toggle.py +149 -0
  34. bec_widgets/widgets/toggle/toggle_switch.pyproject +1 -0
  35. bec_widgets/widgets/toggle/toggle_switch_plugin.py +54 -0
  36. {bec_widgets-0.81.0.dist-info → bec_widgets-0.82.1.dist-info}/METADATA +1 -1
  37. {bec_widgets-0.81.0.dist-info → bec_widgets-0.82.1.dist-info}/RECORD +58 -64
  38. pyproject.toml +1 -1
  39. tests/unit_tests/client_mocks.py +8 -0
  40. tests/unit_tests/test_device_input_base.py +2 -2
  41. tests/unit_tests/test_device_input_widgets.py +4 -2
  42. tests/unit_tests/test_motor_map_widget.py +196 -0
  43. tests/unit_tests/test_setting_dialog.py +97 -0
  44. tests/unit_tests/test_stop_button.py +5 -2
  45. tests/unit_tests/test_toggle.py +38 -0
  46. bec_widgets/examples/motor_movement/__init__.py +0 -9
  47. bec_widgets/examples/motor_movement/motor_control_compilations.py +0 -250
  48. bec_widgets/examples/motor_movement/motor_controller.ui +0 -926
  49. bec_widgets/widgets/buttons/__init__.py +0 -1
  50. bec_widgets/widgets/device_inputs/__init__.py +0 -2
  51. bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject +0 -4
  52. bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py +0 -11
  53. bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject +0 -4
  54. bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py +0 -11
  55. bec_widgets/widgets/motor_control/motor_control.py +0 -252
  56. bec_widgets/widgets/motor_control/motor_table/motor_table.py +0 -484
  57. bec_widgets/widgets/motor_control/motor_table/motor_table.ui +0 -113
  58. bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py +0 -159
  59. bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui +0 -149
  60. bec_widgets/widgets/motor_control/movement_relative/__init__.py +0 -0
  61. bec_widgets/widgets/motor_control/movement_relative/movement_relative.py +0 -230
  62. bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui +0 -298
  63. bec_widgets/widgets/motor_control/selection/__init__.py +0 -0
  64. bec_widgets/widgets/motor_control/selection/selection.py +0 -110
  65. bec_widgets/widgets/motor_control/selection/selection.ui +0 -69
  66. bec_widgets/widgets/toolbar/__init__.py +0 -1
  67. tests/unit_tests/test_motor_control.py +0 -588
  68. /bec_widgets/{widgets/buttons/color_button → qt_utils}/__init__.py +0 -0
  69. /bec_widgets/widgets/{buttons/stop_button → base_classes}/__init__.py +0 -0
  70. /bec_widgets/widgets/{device_inputs/device_combobox → color_button}/__init__.py +0 -0
  71. /bec_widgets/widgets/{buttons/color_button → color_button}/assets/color_button.png +0 -0
  72. /bec_widgets/widgets/{buttons/color_button → color_button}/color_button.py +0 -0
  73. /bec_widgets/widgets/{buttons/color_button → color_button}/color_button.pyproject +0 -0
  74. /bec_widgets/widgets/{device_inputs/device_line_edit → device_combobox}/__init__.py +0 -0
  75. /bec_widgets/widgets/{motor_control → device_line_edit}/__init__.py +0 -0
  76. /bec_widgets/widgets/{motor_control/motor_table → stop_button}/__init__.py +0 -0
  77. /bec_widgets/widgets/{motor_control/movement_absolute → toggle}/__init__.py +0 -0
  78. {bec_widgets-0.81.0.dist-info → bec_widgets-0.82.1.dist-info}/WHEEL +0 -0
  79. {bec_widgets-0.81.0.dist-info → bec_widgets-0.82.1.dist-info}/entry_points.txt +0 -0
  80. {bec_widgets-0.81.0.dist-info → bec_widgets-0.82.1.dist-info}/licenses/LICENSE +0 -0
@@ -12,8 +12,8 @@ from qtpy.QtWidgets import (
12
12
  )
13
13
 
14
14
  from bec_widgets.utils import BECConnector
15
- from bec_widgets.widgets.buttons.stop_button.stop_button import StopButton
16
15
  from bec_widgets.widgets.scan_control.scan_group_box import ScanGroupBox
16
+ from bec_widgets.widgets.stop_button.stop_button import StopButton
17
17
 
18
18
 
19
19
  class ScanControl(BECConnector, QWidget):
@@ -12,7 +12,7 @@ from qtpy.QtWidgets import (
12
12
  )
13
13
 
14
14
  from bec_widgets.utils.widget_io import WidgetIO
15
- from bec_widgets.widgets.device_inputs import DeviceLineEdit
15
+ from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
16
16
 
17
17
 
18
18
  class ScanArgType:
@@ -0,0 +1,15 @@
1
+ def main(): # pragma: no cover
2
+ from qtpy import PYSIDE6
3
+
4
+ if not PYSIDE6:
5
+ print("PYSIDE6 is not available in the environment. Cannot patch designer.")
6
+ return
7
+ from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
8
+
9
+ from bec_widgets.widgets.stop_button.stop_button_plugin import StopButtonPlugin
10
+
11
+ QPyDesignerCustomWidgetCollection.addCustomWidget(StopButtonPlugin())
12
+
13
+
14
+ if __name__ == "__main__": # pragma: no cover
15
+ main()
@@ -1,3 +1,4 @@
1
+ from qtpy.QtCore import Slot
1
2
  from qtpy.QtWidgets import QPushButton
2
3
 
3
4
  from bec_widgets.utils import BECConnector
@@ -12,21 +13,13 @@ class StopButton(BECConnector, QPushButton):
12
13
 
13
14
  self.get_bec_shortcuts()
14
15
  self.setText("Stop")
15
- self.setStyleSheet("background-color: #cc181e; color: white")
16
+ self.setStyleSheet(
17
+ "background-color: #cc181e; color: white; font-weight: bold; font-size: 12px;"
18
+ )
16
19
  self.clicked.connect(self.stop_scan)
17
20
 
21
+ @Slot()
18
22
  def stop_scan(self):
19
23
  """Stop the scan."""
20
24
  self.queue.request_scan_abortion()
21
25
  self.queue.request_queue_reset()
22
-
23
-
24
- if __name__ == "__main__": # pragma: no cover
25
- import sys
26
-
27
- from qtpy.QtWidgets import QApplication
28
-
29
- app = QApplication(sys.argv)
30
- widget = StopButton()
31
- widget.show()
32
- sys.exit(app.exec_())
@@ -0,0 +1 @@
1
+ {'files': ['stop_button.py']}
@@ -0,0 +1,57 @@
1
+ # Copyright (C) 2022 The Qt Company Ltd.
2
+ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
+ import os
4
+
5
+ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
6
+ from qtpy.QtGui import QIcon
7
+
8
+ from bec_widgets.widgets.stop_button.stop_button import StopButton
9
+
10
+ DOM_XML = """
11
+ <ui language='c++'>
12
+ <widget class='StopButton' name='stop_button'>
13
+ </widget>
14
+ </ui>
15
+ """
16
+
17
+
18
+ class StopButtonPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
19
+ def __init__(self):
20
+ super().__init__()
21
+ self._form_editor = None
22
+
23
+ def createWidget(self, parent):
24
+ t = StopButton(parent)
25
+ return t
26
+
27
+ def domXml(self):
28
+ return DOM_XML
29
+
30
+ def group(self):
31
+ return "BEC Buttons"
32
+
33
+ def icon(self):
34
+ current_path = os.path.dirname(__file__)
35
+ icon_path = os.path.join(current_path, "assets", "stop.png")
36
+ return QIcon(icon_path)
37
+
38
+ def includeFile(self):
39
+ return "stop_button"
40
+
41
+ def initialize(self, form_editor):
42
+ self._form_editor = form_editor
43
+
44
+ def isContainer(self):
45
+ return False
46
+
47
+ def isInitialized(self):
48
+ return self._form_editor is not None
49
+
50
+ def name(self):
51
+ return "StopButton"
52
+
53
+ def toolTip(self):
54
+ return "A button that stops the current scan."
55
+
56
+ def whatsThis(self):
57
+ return self.toolTip()
@@ -0,0 +1,15 @@
1
+ def main(): # pragma: no cover
2
+ from qtpy import PYSIDE6
3
+
4
+ if not PYSIDE6:
5
+ print("PYSIDE6 is not available in the environment. Cannot patch designer.")
6
+ return
7
+ from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
8
+
9
+ from bec_widgets.widgets.toggle.toggle_switch_plugin import ToggleSwitchPlugin
10
+
11
+ QPyDesignerCustomWidgetCollection.addCustomWidget(ToggleSwitchPlugin())
12
+
13
+
14
+ if __name__ == "__main__": # pragma: no cover
15
+ main()
@@ -0,0 +1,149 @@
1
+ import sys
2
+
3
+ from qtpy.QtCore import Property, QEasingCurve, QPointF, QPropertyAnimation, Qt
4
+ from qtpy.QtGui import QColor, QPainter
5
+ from qtpy.QtWidgets import QApplication, QWidget
6
+
7
+
8
+ class ToggleSwitch(QWidget):
9
+ """
10
+ A simple toggle.
11
+ """
12
+
13
+ def __init__(self, parent=None):
14
+ super().__init__(parent)
15
+ self.setFixedSize(40, 21)
16
+
17
+ self._thumb_pos = QPointF(3, 2) # Use QPointF for the thumb position
18
+ self._active_track_color = QColor(33, 150, 243)
19
+ self._active_thumb_color = QColor(255, 255, 255)
20
+ self._inactive_track_color = QColor(200, 200, 200)
21
+ self._inactive_thumb_color = QColor(255, 255, 255)
22
+
23
+ self._checked = False
24
+ self._track_color = self.inactive_track_color
25
+ self._thumb_color = self.inactive_thumb_color
26
+
27
+ self._animation = QPropertyAnimation(self, b"thumb_pos")
28
+ self._animation.setDuration(200)
29
+ self._animation.setEasingCurve(QEasingCurve.Type.OutBack)
30
+ self.setProperty("checked", True)
31
+
32
+ @Property(bool)
33
+ def checked(self):
34
+ """
35
+ The checked state of the toggle switch.
36
+ """
37
+ return self._checked
38
+
39
+ @checked.setter
40
+ def checked(self, state):
41
+ self._checked = state
42
+ self.update_colors()
43
+ self.set_thumb_pos_to_state()
44
+
45
+ @Property(QPointF)
46
+ def thumb_pos(self):
47
+ return self._thumb_pos
48
+
49
+ @thumb_pos.setter
50
+ def thumb_pos(self, pos):
51
+ self._thumb_pos = pos
52
+ self.update()
53
+
54
+ @Property(QColor)
55
+ def active_track_color(self):
56
+ return self._active_track_color
57
+
58
+ @active_track_color.setter
59
+ def active_track_color(self, color):
60
+ self._active_track_color = color
61
+ self.update_colors()
62
+ self.update()
63
+
64
+ @Property(QColor)
65
+ def active_thumb_color(self):
66
+ return self._active_thumb_color
67
+
68
+ @active_thumb_color.setter
69
+ def active_thumb_color(self, color):
70
+ self._active_thumb_color = color
71
+ self.update_colors()
72
+ self.update()
73
+
74
+ @Property(QColor)
75
+ def inactive_track_color(self):
76
+ return self._inactive_track_color
77
+
78
+ @inactive_track_color.setter
79
+ def inactive_track_color(self, color):
80
+ self._inactive_track_color = color
81
+ self.update_colors()
82
+ self.update()
83
+
84
+ @Property(QColor)
85
+ def inactive_thumb_color(self):
86
+ return self._inactive_thumb_color
87
+
88
+ @inactive_thumb_color.setter
89
+ def inactive_thumb_color(self, color):
90
+ self._inactive_thumb_color = color
91
+ self.update_colors()
92
+ self.update()
93
+
94
+ def paintEvent(self, event):
95
+ painter = QPainter(self)
96
+ painter.setRenderHint(QPainter.Antialiasing)
97
+
98
+ # Draw track
99
+ painter.setBrush(self._track_color)
100
+ painter.setPen(Qt.NoPen)
101
+ painter.drawRoundedRect(
102
+ 0, 0, self.width(), self.height(), self.height() / 2, self.height() / 2
103
+ )
104
+
105
+ # Draw thumb
106
+ painter.setBrush(self._thumb_color)
107
+ diameter = int(self.height() * 0.8)
108
+ painter.drawEllipse(int(self._thumb_pos.x()), int(self._thumb_pos.y()), diameter, diameter)
109
+
110
+ def mousePressEvent(self, event):
111
+ if event.button() == Qt.LeftButton:
112
+ self._checked = not self._checked
113
+ self.update_colors()
114
+ self.animate_thumb()
115
+
116
+ def update_colors(self):
117
+
118
+ self._thumb_color = self.active_thumb_color if self._checked else self.inactive_thumb_color
119
+ self._track_color = self.active_track_color if self._checked else self.inactive_track_color
120
+
121
+ def get_thumb_pos(self, checked):
122
+ return QPointF(self.width() - self.height() + 3, 2) if checked else QPointF(3, 2)
123
+
124
+ def set_thumb_pos_to_state(self):
125
+ # this is to avoid that linter complains about the thumb_pos setter
126
+ self.setProperty("thumb_pos", self.get_thumb_pos(self._checked))
127
+ self.update_colors()
128
+
129
+ def animate_thumb(self):
130
+ start_pos = self.thumb_pos
131
+ end_pos = self.get_thumb_pos(self._checked)
132
+
133
+ self._animation.stop()
134
+ self._animation.setStartValue(start_pos)
135
+ self._animation.setEndValue(end_pos)
136
+ self._animation.start()
137
+
138
+ def sizeHint(self):
139
+ return self.minimumSizeHint()
140
+
141
+ def minimumSizeHint(self):
142
+ return self.size()
143
+
144
+
145
+ if __name__ == "__main__": # pragma: no cover
146
+ app = QApplication(sys.argv)
147
+ window = ToggleSwitch()
148
+ window.show()
149
+ sys.exit(app.exec())
@@ -0,0 +1 @@
1
+ {'files': ['toggle.py']}
@@ -0,0 +1,54 @@
1
+ # Copyright (C) 2022 The Qt Company Ltd.
2
+ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
+
4
+ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
5
+ from qtpy.QtGui import QIcon
6
+
7
+ from bec_widgets.widgets.toggle.toggle import ToggleSwitch
8
+
9
+ DOM_XML = """
10
+ <ui language='c++'>
11
+ <widget class='ToggleSwitch' name='toggle_switch'>
12
+ </widget>
13
+ </ui>
14
+ """
15
+
16
+
17
+ class ToggleSwitchPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
18
+ def __init__(self):
19
+ super().__init__()
20
+ self._form_editor = None
21
+
22
+ def createWidget(self, parent):
23
+ t = ToggleSwitch(parent)
24
+ return t
25
+
26
+ def domXml(self):
27
+ return DOM_XML
28
+
29
+ def group(self):
30
+ return ""
31
+
32
+ def icon(self):
33
+ return QIcon()
34
+
35
+ def includeFile(self):
36
+ return "toggle_switch"
37
+
38
+ def initialize(self, form_editor):
39
+ self._form_editor = form_editor
40
+
41
+ def isContainer(self):
42
+ return False
43
+
44
+ def isInitialized(self):
45
+ return self._form_editor is not None
46
+
47
+ def name(self):
48
+ return "ToggleSwitch"
49
+
50
+ def toolTip(self):
51
+ return "ToggleSwitch"
52
+
53
+ def whatsThis(self):
54
+ return self.toolTip()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.81.0
3
+ Version: 0.82.1
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=vuDJPAYOK0995_H6fu0N5dIgIrOJgTvKr0HZkNWlxMw,8142
3
3
  .pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=OgrWel1F911JTU6mVXk65yl1rsjQBJ81hLemhVjkqxw,6813
5
+ CHANGELOG.md,sha256=51OXCmE8Hehc5TNpYDvNRXUi5tTewjqPN-MzOIpdoFY,6575
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=uOA0ry3j9gMHIqijdlx1A5CaV40Td9mpTu97RpEnrus,1309
7
+ PKG-INFO,sha256=HDswJisHfyksMUD6G3xvmym8cQlpX85Mf6i16-m6jKM,1309
8
8
  README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
9
- pyproject.toml,sha256=6qgj8PnVjY9-eNJnF2Xq-oVV2t4EF5TI7bB7C0DlYvw,2358
9
+ pyproject.toml,sha256=BzRmQleEbvlRpmEbGMq6GfGWaVHIQMQxoqypM_B_yZ8,2358
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,19 +17,16 @@ bec_widgets/assets/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3i
17
17
  bec_widgets/assets/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
18
18
  bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
19
19
  bec_widgets/cli/auto_updates.py,sha256=DyBV3HnjMSH-cvVkYNcDiYKVf0Xut4Qy2qGQqkW47Bw,4833
20
- bec_widgets/cli/client.py,sha256=J011qUzqWpdwclRzB2yA8zqytALAwCwgZLgruUKeyv0,60054
20
+ bec_widgets/cli/client.py,sha256=MMDy1edr1j9klgVGZZmD1dzLxi74gp75Jf4FNed9al8,60084
21
21
  bec_widgets/cli/client_utils.py,sha256=zq1gPW7t4n9Nsn4MLkdUeKwwl-9nUcf5UjuN8lZr9iY,12281
22
22
  bec_widgets/cli/generate_cli.py,sha256=Ea5px9KblUlcGg-1JbJBTIU7laGg2n8PM7Efw9WVVzM,5889
23
23
  bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
24
24
  bec_widgets/cli/rpc_wigdet_handler.py,sha256=6kQng2DyS6rhLJqSJ7xa0kdgSxp-35A2upcf833dJRE,1483
25
25
  bec_widgets/cli/server.py,sha256=2EJvkQDzrDTsZjRPs7g2v_iPTspGqxzY34tRAnvjxjY,7281
26
- bec_widgets/examples/__init__.py,sha256=WWQ0cu7m8sA4Ehy-DWdTIqSISjaHsbxhsNmNrMnhDZU,202
26
+ bec_widgets/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  bec_widgets/examples/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=oOVCTY68bAn9HDFd5W_xNqQhI7Nsm7TaqYYLqLWXo2w,5520
29
29
  bec_widgets/examples/jupyter_console/jupyter_console_window.ui,sha256=2A2mNTUMZBYygz8K4qWzrcjnNqZBMVyeHm26iLZVRWI,1473
30
- bec_widgets/examples/motor_movement/__init__.py,sha256=LzPJkxLAxOsZCbXR-fRCPmeYobp7Yqds6tDxW4W1gSw,214
31
- bec_widgets/examples/motor_movement/motor_control_compilations.py,sha256=8rpA7a2xVZTDMrx7YQIj3IJew78J1gcVMkHvloS0U_Q,9055
32
- bec_widgets/examples/motor_movement/motor_controller.ui,sha256=83XX6NGILwntoUIghvzWnMuGf80O8khK3SduVKTAEFM,29105
33
30
  bec_widgets/examples/plugin_example_pyside/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
31
  bec_widgets/examples/plugin_example_pyside/main.py,sha256=xdC6RWSRt1rW8Prj0CsDeCPct6-_j3__oJmdgogB5PI,505
35
32
  bec_widgets/examples/plugin_example_pyside/registertictactoe.py,sha256=VNFkHc5Sc30lRKzOFJbhArCHGkp_wRxOeJjZbmaAHRU,448
@@ -37,6 +34,9 @@ bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject,sha256=O_
37
34
  bec_widgets/examples/plugin_example_pyside/tictactoe.py,sha256=s3rCurXloVcmMdzZiSzDS7Lgj0Qe6x8-wkxCeiXYX80,4904
38
35
  bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py,sha256=BBt3MD8oDLUMCCY3mioJa1QRR0WQdW6DuvVmK1Taovk,1734
39
36
  bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=LNwplI6deUdKY6FOhUuWBanotxk9asF2G-6k7lFfA8Y,2301
37
+ bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ bec_widgets/qt_utils/settings_dialog.py,sha256=rR_Zk4RGTnI4dz5OEzCc13lVpxlOKuwOf4_7wqXSbRw,3373
39
+ bec_widgets/qt_utils/toolbar.py,sha256=r6H4A8_3s2AItmdV8JS9UMSM4hV8Fx_162grYL2Pwzw,2111
40
40
  bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
41
41
  bec_widgets/utils/bec_connector.py,sha256=JScGWHEt4kh6C-C0O_JV_bOuiQlBjYTAPJktqgeAj70,9534
42
42
  bec_widgets/utils/bec_designer.py,sha256=ak3G8FdojUPjVBBwdPXw7tN5P2Uxr-SSoQt394jXeAA,4308
@@ -59,6 +59,8 @@ bec_widgets/utils/yaml_dialog.py,sha256=T6UyGNGdmpXW74fa_7Nk6b99T5pp2Wvyw3AOauRc
59
59
  bec_widgets/utils/plugin_templates/plugin.template,sha256=JHkUvYegesW-xEhZuY4FQVGqyEMBRLaPY4JNI8Ni_vE,1182
60
60
  bec_widgets/utils/plugin_templates/register.template,sha256=XyL3OZPT_FTArLAM8tHd5qMqv2ZuAbJAZLsNNnHcagU,417
61
61
  bec_widgets/widgets/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
62
+ bec_widgets/widgets/base_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ bec_widgets/widgets/base_classes/device_input_base.py,sha256=k7-hIJBvoh1xPCnMCdJ-hdVvtqG1QMtk4sF3EZwvdCU,3918
62
64
  bec_widgets/widgets/bec_queue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
65
  bec_widgets/widgets/bec_queue/bec_queue.py,sha256=voIsj599a5t-u-H15tpSqjGBmy5ra6LsHpZnqEZFrI8,3551
64
66
  bec_widgets/widgets/bec_queue/bec_queue.pyproject,sha256=VhoNmAv1DQUl9dg7dELyf5i4pZ5k65N3GnqOYiSwbQo,27
@@ -70,30 +72,25 @@ bec_widgets/widgets/bec_status_box/bec_status_box.pyproject,sha256=JWtx3Csfn2h7O
70
72
  bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py,sha256=CNFIETpkORLQ9J3l91jefiRLJs5Ru3nsWIPoUwaRbB0,1242
71
73
  bec_widgets/widgets/bec_status_box/register_bec_status_box.py,sha256=EiQITnkNw7IU7hE776wAeXro97eZd9XlsB9essgCebE,481
72
74
  bec_widgets/widgets/bec_status_box/status_item.py,sha256=2SoMmgHL_MFnr7XiStFjLolHh0Vs3P68ZvP8kMIGc8w,5046
73
- bec_widgets/widgets/buttons/__init__.py,sha256=74ucIRU6-anoqQ-zT7wbrysmxhg_3_04xGhN_kllNUI,48
74
- bec_widgets/widgets/buttons/color_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- bec_widgets/widgets/buttons/color_button/color_button.py,sha256=Faszdcu6iJo2n0fdAORvKMf926Le9f454t6JIIZRc-0,1049
76
- bec_widgets/widgets/buttons/color_button/color_button.pyproject,sha256=LUYF4VkDOB4ttVe7YfvLh64K-XZg0-xaVT06BqCT3UA,30
77
- bec_widgets/widgets/buttons/color_button/color_button_plugin.py,sha256=4phedgYl94PAn2VL-_IPIU3rKq6dwDGgHXyk5c2HcgU,1264
78
- bec_widgets/widgets/buttons/color_button/register_color_button.py,sha256=PqsqOMNcdBL956mRIRFau4emb0bExuEtI9_l1l6rf88,483
79
- bec_widgets/widgets/buttons/color_button/assets/color_button.png,sha256=dkjgGHSdxu98nM68O16fGpxBjxkkeLN8iu9M_8i5-NY,5618
80
- bec_widgets/widgets/buttons/stop_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- bec_widgets/widgets/buttons/stop_button/stop_button.py,sha256=x4a7RvlMkHzOd05zKOGYkyTmBza7Me7jgOL9WIgA_c4,906
75
+ bec_widgets/widgets/color_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ bec_widgets/widgets/color_button/color_button.py,sha256=Faszdcu6iJo2n0fdAORvKMf926Le9f454t6JIIZRc-0,1049
77
+ bec_widgets/widgets/color_button/color_button.pyproject,sha256=LUYF4VkDOB4ttVe7YfvLh64K-XZg0-xaVT06BqCT3UA,30
78
+ bec_widgets/widgets/color_button/color_button_plugin.py,sha256=CvO3L6r8pBd-0DNuqjQ7uKF9u1mU6xFs23sS_dsj4tw,1256
79
+ bec_widgets/widgets/color_button/register_color_button.py,sha256=ZAx3t7G2VI2S-1qcEof31Xi9O0X8deLeZNgS651L1JI,475
80
+ bec_widgets/widgets/color_button/assets/color_button.png,sha256=dkjgGHSdxu98nM68O16fGpxBjxkkeLN8iu9M_8i5-NY,5618
82
81
  bec_widgets/widgets/console/console.py,sha256=EgKYlbW3NrRPoQwIr8x739sLd1IRBWkEy286VDQw0gA,17838
83
- bec_widgets/widgets/device_inputs/__init__.py,sha256=BcWvcSASPh6YdDu5jfC48xqI2_iBj1epUt4doYJQHEs,122
84
- bec_widgets/widgets/device_inputs/device_input_base.py,sha256=AP0Pgto87CKqgTuzrmFL3a7MOW9_qm1rmyiI2ZrvCOM,3839
85
- bec_widgets/widgets/device_inputs/device_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
- bec_widgets/widgets/device_inputs/device_combobox/device_combobox.py,sha256=0IMwb7A2A9HosgYQXpzYbOj6iQAhoMSrOTTGYbhJyDc,2826
87
- bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject,sha256=AH6Oz_4aDCzsBbHWnCNK_ALvQ0Qwj-z24sUG1oNSK3I,75
88
- bec_widgets/widgets/device_inputs/device_combobox/device_combobox_plugin.py,sha256=VfbP0PrLwME8OB1bz1kVmy8vJCZDRONvas5j5cPyd08,1218
89
- bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py,sha256=jr9JJHtIPmbUNLpGLUESS_bYcITnbv-W3EdrZCHq2Rg,267
90
- bec_widgets/widgets/device_inputs/device_combobox/register_device_combobox.py,sha256=V6QcxBU9Lli4qy2Vhf9bFfpTsofsc-bT-_vEp0heBsM,518
91
- bec_widgets/widgets/device_inputs/device_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
- bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.py,sha256=DJbUvO5ewg-IG4-CgW69OSH3qvxd3bWuCGdy8q5NTrY,3379
93
- bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject,sha256=0GTk3WfNUHl-6tFEAY0pel5XBpVR0oyRX2BU-LNzVps,77
94
- bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit_plugin.py,sha256=J1MNrtXkgBrwEsUXnf0pGRoNJ1g_OWqk-xafSpV4ot8,1239
95
- bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py,sha256=3sVZ-5Hoy1smhgBcnzO9SXHk5_oUEaWFnRfslXAW3_4,267
96
- bec_widgets/widgets/device_inputs/device_line_edit/register_device_line_edit.py,sha256=GXHPRe1kSkJ2NKDWQJWabI4a6Maw__niA2g5wLiheX8,520
82
+ bec_widgets/widgets/device_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
+ bec_widgets/widgets/device_combobox/device_combobox.py,sha256=L6hPOk3LkTy9U_HRdU7bvqCH1L1Y_BuPYTTfl1eqShg,2824
84
+ bec_widgets/widgets/device_combobox/device_combobox.pyproject,sha256=wI2eXR5ky_IM9-BCHJnH_9CEqYcZwIuLcgitSEr8OJU,40
85
+ bec_widgets/widgets/device_combobox/device_combobox_plugin.py,sha256=CQszPKVXoa4wRxucQjVIqblP5rtGvwWn8FZOR_OE_-o,1406
86
+ bec_widgets/widgets/device_combobox/register_device_combobox.py,sha256=xzz2qM82cgFIrj77c9zyUpJ-1QHZRMrLkyeq8uGNsmE,487
87
+ bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png,sha256=ydC7WZmoU-UjjIOGFuUIDjQ30p4L66si2emHawc_inU,2592
88
+ bec_widgets/widgets/device_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ bec_widgets/widgets/device_line_edit/device_line_edit.py,sha256=SnNWR_DrXwe3-FvaDosfIaSOqXiDy8_UcfRrPGwdKm0,3377
90
+ bec_widgets/widgets/device_line_edit/device_line_edit.pyproject,sha256=tqAYXRbxsHR41MwqmAxvfq1CFeZ1IRv84whUG67HjjE,41
91
+ bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=7aJR2jsEdbq2UuH9p-7lqKzndkrtY4ZcqnNLIVc7rzk,1423
92
+ bec_widgets/widgets/device_line_edit/register_device_line_edit.py,sha256=8gEPnC8djYCw-idoZAENNB3bPOxM6pbzEp9A366EAGg,489
93
+ bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png,sha256=nxVykqQY4kgMJP7GELzv6N_dghqIzBJb2MWqxs4B-Ug,3391
97
94
  bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
98
95
  bec_widgets/widgets/dock/dock.py,sha256=joymi8NRoIuzuugUj9ccF9e1m57HwLQhhMmjaWiwTnM,7597
99
96
  bec_widgets/widgets/dock/dock_area.py,sha256=WKIt61v7w2YXahfIL4nddWHPfpTpw52uphX4QCbS3q0,7913
@@ -108,49 +105,44 @@ bec_widgets/widgets/figure/plots/image/image.py,sha256=8J-20r12FD9_Wtv-YSzJsWdq3
108
105
  bec_widgets/widgets/figure/plots/image/image_item.py,sha256=TyarahdWEn0jgalj5fqSAmcznXSbENkqHrrlL2GVdU4,10558
109
106
  bec_widgets/widgets/figure/plots/image/image_processor.py,sha256=GeTtWjbldy6VejMwPGQgM-o3d6bmLglCjdoktu19xfA,5262
110
107
  bec_widgets/widgets/figure/plots/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
- bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=QYeXKcb87DPti19MaAFFr6LGma4F7GijaxnC1vx8Kng,18013
108
+ bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=FH3ZSYThGco98jS29r9EGcIh5fYx8e5eOs_nYJNrr48,18210
112
109
  bec_widgets/widgets/figure/plots/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
- bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=GW8dInC7Wd4sNp6vCGYOHdhvqFrLrKJr3GmtLc-yW8c,29033
110
+ bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=e401GGvUF11rZKf4onB4zYlcUWIv8Zsnm4GcysaXi6U,29226
114
111
  bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=yQZGPKs--3X_9Qg2pv0GUiL5WLBQVC3z_PJKRnsHqPU,8293
115
112
  bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
113
  bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=ioLYJL31RdBoAOGFSS8PVSnUhkWPWmLC3tiKp7CouO8,2251
117
- bec_widgets/widgets/motor_control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
- bec_widgets/widgets/motor_control/motor_control.py,sha256=UrLCvp3J6uiVxWV2jqQbsA2nsMf9s_rrDH2KjnUm-bk,7890
119
- bec_widgets/widgets/motor_control/motor_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
- bec_widgets/widgets/motor_control/motor_table/motor_table.py,sha256=xOTCz4eBKzEUyeOJhnAK--sbf-68H0yg7LM3KH3A9Hc,17570
121
- bec_widgets/widgets/motor_control/motor_table/motor_table.ui,sha256=t6aRKiSmutMfp0AyupavbCs0cal-FANEnlKQiPzC9PQ,2792
122
- bec_widgets/widgets/motor_control/movement_absolute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
- bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py,sha256=TQXZ1o4a4ukRAvhbebXC0v2-VGLqHVM2VzSAv5PajDI,5694
124
- bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui,sha256=nR3p6oevAkIBTLW5wM_zYOVWsCAUgeMZdRm10Q77COE,4126
125
- bec_widgets/widgets/motor_control/movement_relative/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- bec_widgets/widgets/motor_control/movement_relative/movement_relative.py,sha256=DXFHAxSGskpapRTyDNbG_oqLwFkVOXITYkEXbfQGWWQ,8926
127
- bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui,sha256=PulNJNiws7TRAxHM2snNyvlmQ0tRShdArHmtaC85h4U,8684
128
- bec_widgets/widgets/motor_control/selection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- bec_widgets/widgets/motor_control/selection/selection.py,sha256=WNHndvv4JvxeAMnDFBMTvUILcn9u_0mWGRsgNiBZEsM,3988
130
- bec_widgets/widgets/motor_control/selection/selection.ui,sha256=vXXpvNWuL6xyHhW7Lx1zmVFX-95Z5AXGlhKQD2HmM1A,1779
131
114
  bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
115
  bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
133
116
  bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=PIfDE78Zqvsu7-xwoh9DdYkH8a7eOUFSaEl0bNrHYHc,1292
134
- bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=16gcr_soWytWyUC8yl077KeKC691pLt3a-ZJSdj7dRM,7492
117
+ bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=92v90z6IrxORzxYrPIt1dFXZL8cJg9viFcGzNHGOeBw,7243
135
118
  bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
136
119
  bec_widgets/widgets/motor_map/assets/connection.svg,sha256=czIb1BnshmxJnER8ssU3WcLENrFSIUfMwberajWOGAk,341
137
120
  bec_widgets/widgets/motor_map/assets/history.svg,sha256=bd6p5saxRiNRpd5OsSwIOvRWvel0WFEHul9zw4y9vH0,392
138
121
  bec_widgets/widgets/motor_map/assets/motor_map.png,sha256=xd6GFBM8gAb5c-xRgswxTZFtvo449yK57-EbkFvidOI,9746
139
122
  bec_widgets/widgets/motor_map/assets/settings.svg,sha256=ro30oa9CF1YijOXoUl-hz2DilJcqTy4rlTrMYhggumQ,1473
140
123
  bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
- bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py,sha256=ADXqL535WK9gz8Cfgnru6mHU_22pma5XKjMVh8U22L4,2931
124
+ bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py,sha256=terJ5NHRzAsiUwdqg-hTbkQ5gadnRT0Ol0_Fm66kPF4,2011
142
125
  bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui,sha256=nv5vPftt6vcIl60OOZLRvwD29rdHVWOoGmz168BnwKw,2685
143
- bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py,sha256=SKS45caPdLSwiikk9karcPzkMcC33ToQ0MZAVLRiSzw,2183
126
+ bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py,sha256=R6pmxhB_1ouc6f6cNQQvbxTHb3Ko3K_gTGs5WIYgnRI,2194
144
127
  bec_widgets/widgets/ring_progress_bar/__init__.py,sha256=_uoJKnDM2YAeUBfwc5WLbIHSJj7zm_FAurSKP3WRaCw,47
145
128
  bec_widgets/widgets/ring_progress_bar/ring.py,sha256=19zFj-6ZrIPLXYqvs5EPcrmDWnfnSLlEOmzJffL4d3A,11241
146
129
  bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py,sha256=sU4Dur2XzBVfDYAYazI6pjOZOhzggoQIuc9VD3PWgac,24073
147
130
  bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
148
- bec_widgets/widgets/scan_control/scan_control.py,sha256=lrnT3Oz7XH-zy65qSgVPoCRTAyJmryMZoBhvcY-ZP2M,7697
149
- bec_widgets/widgets/scan_control/scan_group_box.py,sha256=8XGpYcdKTEtiqOFbBxZ6xV07ZJ_tg9R-JDfsdTdqXSI,7400
131
+ bec_widgets/widgets/scan_control/scan_control.py,sha256=EHibpeK8vpG6rlg8zhvDDz8GDUzDmvhYH0aX7-Xo4m8,7689
132
+ bec_widgets/widgets/scan_control/scan_group_box.py,sha256=wrrJLfI0apfll0NKpqM8ymlbl5NaqA9cKNgyfVdYR00,7420
133
+ bec_widgets/widgets/stop_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
+ bec_widgets/widgets/stop_button/register_stop_button.py,sha256=U7r3fEOH-uPhAQI-nTituHXDDXDWR4JQZ7_vD6b_dfM,471
135
+ bec_widgets/widgets/stop_button/stop_button.py,sha256=icJQT1k5G_nvdHWZZkGEZVQupt-mWd2viK8zYg5B5dI,793
136
+ bec_widgets/widgets/stop_button/stop_button.pyproject,sha256=Cc_xbv-zfzNVpsdg_1QyzuTlrJaM9_BkIjes70umrx0,29
137
+ bec_widgets/widgets/stop_button/stop_button_plugin.py,sha256=-90MqPp1cFumsrHGaFgc_nahdCoew98M5bS1oqSRhDk,1346
138
+ bec_widgets/widgets/stop_button/assets/stop.png,sha256=9nGdvR-qwOz1YP4xYoBjmDnnj9ns2cLLhfvTz9amyKc,8424
150
139
  bec_widgets/widgets/text_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
140
  bec_widgets/widgets/text_box/text_box.py,sha256=dg2gpOqdBZNKD08mygb40twweFBiG-xsXz0GlIhfXV0,4240
152
- bec_widgets/widgets/toolbar/__init__.py,sha256=d-TP4_cr_VbpwreMM4ePnfZ5YXsEPQ45ibEf75nuGoE,36
153
- bec_widgets/widgets/toolbar/toolbar.py,sha256=rloOsr3TVGHLI4OJNKYWEBb1Z9_yJ0ZYIyf9RlPlxwY,3194
141
+ bec_widgets/widgets/toggle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
+ bec_widgets/widgets/toggle/register_toggle_switch.py,sha256=8pVtkeEeiDOjV4OPoZq1I30F9JDzl4nQE7e7xoWyWBs,472
143
+ bec_widgets/widgets/toggle/toggle.py,sha256=JzCGYoyHBrlBWCoyL94QX4zSLyEwWbCNHMegjlnSy2E,4442
144
+ bec_widgets/widgets/toggle/toggle_switch.pyproject,sha256=Msa-AS5H5XlqW65r8GlX2AxD8FnFnDyDgGnbKcXqKOw,24
145
+ bec_widgets/widgets/toggle/toggle_switch_plugin.py,sha256=8e8JjUx6T5CIx7ixWLwVdT9JOJTbQ8aWwd3_9VAc_Mw,1177
154
146
  bec_widgets/widgets/vscode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
147
  bec_widgets/widgets/vscode/vscode.py,sha256=ZyJJCJapYrGhqgudEt8JQn723DDqLdwjsXxXa5q3EkU,2544
156
148
  bec_widgets/widgets/website/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -211,7 +203,7 @@ tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=mjg29huqTivLnukG_XyoMtjOy2P_7J
211
203
  tests/end-2-end/test_rpc_register_e2e.py,sha256=blhMiW7HVHX1kGm5dg8Sv0PeCuJ0gnBz3evznQFz_B8,1619
212
204
  tests/end-2-end/test_scan_control_e2e.py,sha256=u7oLgFyltkMW2apSZKDukMIXvYrbhHrU32p4mBdn8VE,2276
213
205
  tests/unit_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
- tests/unit_tests/client_mocks.py,sha256=FEb875yuDu-LGvWsyzqCSruqVV63d4TTjovvJpKcvwA,4255
206
+ tests/unit_tests/client_mocks.py,sha256=BTBpA75CqeJhqYCI5M5XSX2-e4wMoHxi2rnc1PnmsuE,4549
215
207
  tests/unit_tests/conftest.py,sha256=KrnktXPWmZhnKNue-xGWOLD1XGEvdz9Vf7V2eO3XQ3A,596
216
208
  tests/unit_tests/test_bec_connector.py,sha256=zGDfNHwLFZTbpyX6-yc7Pwzr2jWO_HGZ8T4NFCNo4IE,2444
217
209
  tests/unit_tests/test_bec_dispatcher.py,sha256=rYPiRizHaswhGZw55IBMneDFxmPiCCLAZQBqjEkpdyY,3992
@@ -224,11 +216,11 @@ tests/unit_tests/test_bec_status_box.py,sha256=gZdjyy9DNuUP9UwleTLj2Dp5HUImiqnkH
224
216
  tests/unit_tests/test_client_utils.py,sha256=eViJ1Tz-HX9TkMvQH6W8cO-c3_1I8bUc4_Yen6LOc0E,830
225
217
  tests/unit_tests/test_color_validation.py,sha256=xbFbtFDia36XLgaNrX2IwvAX3IDC_Odpj5BGoJSgiIE,2389
226
218
  tests/unit_tests/test_crosshair.py,sha256=3OMAJ2ZaISYXMOtkXf1rPdy94vCr8njeLi6uHblBL9Q,5045
227
- tests/unit_tests/test_device_input_base.py,sha256=Bf2lk_utvLsDqDX5NWgyArSAo-dWMQ72yiCPGoWVwxM,2431
228
- tests/unit_tests/test_device_input_widgets.py,sha256=PmUL8aJXg_BYwWDE3Gh1kGm8q6fQZD5sWlVXz3KLwI0,5837
219
+ tests/unit_tests/test_device_input_base.py,sha256=r1tI7BFAhpv7V7gf_n5gjusyrBFOfuCqIkdVg7YA7vY,2444
220
+ tests/unit_tests/test_device_input_widgets.py,sha256=Q40xNKGvJT2dvNttRH68WZi0au8PwpUgBi2EB4LXfC8,5841
229
221
  tests/unit_tests/test_generate_cli_client.py,sha256=ng-eV5iF7Dhm-6YpxYo99CMY0KgqoaZBQNkMeKULDBU,3355
230
222
  tests/unit_tests/test_generate_plugin.py,sha256=9603ucZChM-pYpHadzsR94U1Zec1KZT34WedX9qzgMo,4464
231
- tests/unit_tests/test_motor_control.py,sha256=bdCjhthWEy9iNyNZiD1JAeN_PSMaOblS780XGDjVwsw,20851
223
+ tests/unit_tests/test_motor_map_widget.py,sha256=3nbINg3NYvWUrrGGMRPs8SDtePjXhoehSY_CShFGvEI,7507
232
224
  tests/unit_tests/test_plot_base.py,sha256=vWbt-QO5blSoE5C1392MIFha9A9JnUsx_D_9yTqhcRo,3845
233
225
  tests/unit_tests/test_plugin_utils.py,sha256=ayksWdrFY7kOiA0wVEjKFmFCF3UhH3lG8tzPVOpwysk,528
234
226
  tests/unit_tests/test_ring_progress_bar.py,sha256=hDlqkQho7FR7HAfM4Zrr4q1m773a3_rQ8CbM1GqDDSE,12252
@@ -236,8 +228,10 @@ tests/unit_tests/test_rpc_register.py,sha256=hECjZEimd440mwRrO0rg7L3PKN7__3DgjmE
236
228
  tests/unit_tests/test_rpc_widget_handler.py,sha256=ceQ3BPnBIFY2Hy-sDPw0wxxREVTTphILts0gvX9qoUw,234
237
229
  tests/unit_tests/test_scan_control.py,sha256=Wr6KcE8av4sEIOx5VgYbzVCem3Jgb4Kzx_oOuvwlmkE,13459
238
230
  tests/unit_tests/test_scan_control_group_box.py,sha256=HNqjP10B_NonikspNwKz9upJU-t7xf6hwBerNhbC-uo,5563
239
- tests/unit_tests/test_stop_button.py,sha256=2OH9dhs_-S5QovPPgU-5hJoViE1YKZa0gxisb4vOY28,712
231
+ tests/unit_tests/test_setting_dialog.py,sha256=QbHWwLa1VGFwYie-SN3rjS3ICo7A44S4AKN2qeNvIKY,3137
232
+ tests/unit_tests/test_stop_button.py,sha256=tpQanzBUyl7qLXjbMUQqm3U3vShbKKARcnLpgsu3P0E,789
240
233
  tests/unit_tests/test_text_box_widget.py,sha256=cT0uEHt_6d-FwST0A_wE9sFW9E3F_nJbKhuBAeU4yHg,1862
234
+ tests/unit_tests/test_toggle.py,sha256=Amzgres7te0tTQIDR2WMKSx9Kce44TxMpIPR6HZygXQ,832
241
235
  tests/unit_tests/test_vscode_widget.py,sha256=NVB23ppLqIj-Opd8QnapqUJzDMz6mIZfm3wGPnFXyUE,2788
242
236
  tests/unit_tests/test_waveform1d.py,sha256=inc-CyRA_3-PE99WnR6vDdfRE1vgp-ZoLVJ-Qbq0qFY,15967
243
237
  tests/unit_tests/test_website_widget.py,sha256=fBADIJJBAHU4Ro7u95kdemFVNv196UOcuO9oLHuHt8A,761
@@ -248,8 +242,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
248
242
  tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
249
243
  tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
244
  tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
251
- bec_widgets-0.81.0.dist-info/METADATA,sha256=uOA0ry3j9gMHIqijdlx1A5CaV40Td9mpTu97RpEnrus,1309
252
- bec_widgets-0.81.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
253
- bec_widgets-0.81.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
254
- bec_widgets-0.81.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
255
- bec_widgets-0.81.0.dist-info/RECORD,,
245
+ bec_widgets-0.82.1.dist-info/METADATA,sha256=HDswJisHfyksMUD6G3xvmym8cQlpX85Mf6i16-m6jKM,1309
246
+ bec_widgets-0.82.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
247
+ bec_widgets-0.82.1.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
248
+ bec_widgets-0.82.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
249
+ bec_widgets-0.82.1.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.81.0"
7
+ version = "0.82.1"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -72,6 +72,13 @@ class FakePositioner(FakeDevice):
72
72
  return MagicMock(get=MagicMock(return_value=self.read_value))
73
73
 
74
74
 
75
+ class Positioner(FakePositioner):
76
+ """just placeholder for testing embeded isinstance check in DeviceCombobox"""
77
+
78
+ def __init__(self, name="test", limits=None, read_value=1.0):
79
+ super().__init__(name, limits, read_value)
80
+
81
+
75
82
  class DMMock:
76
83
  def __init__(self):
77
84
  self.devices = DeviceContainer()
@@ -95,6 +102,7 @@ DEVICES = [
95
102
  FakeDevice("bpm3a"),
96
103
  FakeDevice("bpm3i"),
97
104
  FakeDevice("eiger"),
105
+ Positioner("test", limits=[-10, 10], read_value=2.0),
98
106
  ]
99
107
 
100
108
 
@@ -1,6 +1,6 @@
1
1
  import pytest
2
2
 
3
- from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase
3
+ from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase
4
4
 
5
5
  from .client_mocks import mocked_client
6
6
 
@@ -63,4 +63,4 @@ def test_device_input_base_get_device_list(device_input_base):
63
63
 
64
64
  def test_device_input_base_get_filters(device_input_base):
65
65
  filters = device_input_base.get_available_filters()
66
- assert filters == {"FakePositioner", "FakeDevice"}
66
+ assert filters == {"FakePositioner", "FakeDevice", "Positioner"}