bec-widgets 0.80.0__py3-none-any.whl → 0.82.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 (75) hide show
  1. CHANGELOG.md +40 -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/utils/entry_validator.py +1 -1
  6. bec_widgets/widgets/{device_inputs → base_classes}/device_input_base.py +2 -0
  7. bec_widgets/widgets/color_button/color_button.py +36 -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/waveform/waveform.py +8 -2
  21. bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +1 -1
  22. bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py +1 -1
  23. bec_widgets/widgets/motor_map/motor_map_widget.py +0 -12
  24. bec_widgets/widgets/scan_control/scan_control.py +1 -1
  25. bec_widgets/widgets/scan_control/scan_group_box.py +1 -1
  26. bec_widgets/widgets/stop_button/assets/stop.png +0 -0
  27. bec_widgets/widgets/stop_button/register_stop_button.py +15 -0
  28. bec_widgets/widgets/{buttons/stop_button → stop_button}/stop_button.py +5 -12
  29. bec_widgets/widgets/stop_button/stop_button.pyproject +1 -0
  30. bec_widgets/widgets/stop_button/stop_button_plugin.py +57 -0
  31. bec_widgets/widgets/toggle/register_toggle_switch.py +15 -0
  32. bec_widgets/widgets/toggle/toggle.py +149 -0
  33. bec_widgets/widgets/toggle/toggle_switch.pyproject +1 -0
  34. bec_widgets/widgets/toggle/toggle_switch_plugin.py +54 -0
  35. {bec_widgets-0.80.0.dist-info → bec_widgets-0.82.0.dist-info}/METADATA +1 -1
  36. {bec_widgets-0.80.0.dist-info → bec_widgets-0.82.0.dist-info}/RECORD +52 -61
  37. pyproject.toml +1 -1
  38. tests/unit_tests/test_device_input_base.py +1 -1
  39. tests/unit_tests/test_device_input_widgets.py +2 -2
  40. tests/unit_tests/test_stop_button.py +5 -2
  41. tests/unit_tests/test_toggle.py +38 -0
  42. bec_widgets/examples/motor_movement/__init__.py +0 -9
  43. bec_widgets/examples/motor_movement/motor_control_compilations.py +0 -250
  44. bec_widgets/examples/motor_movement/motor_controller.ui +0 -926
  45. bec_widgets/widgets/buttons/__init__.py +0 -1
  46. bec_widgets/widgets/buttons/color_button/color_button.py +0 -17
  47. bec_widgets/widgets/device_inputs/__init__.py +0 -2
  48. bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject +0 -4
  49. bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py +0 -11
  50. bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject +0 -4
  51. bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py +0 -11
  52. bec_widgets/widgets/motor_control/motor_control.py +0 -252
  53. bec_widgets/widgets/motor_control/motor_table/motor_table.py +0 -484
  54. bec_widgets/widgets/motor_control/motor_table/motor_table.ui +0 -113
  55. bec_widgets/widgets/motor_control/movement_absolute/__init__.py +0 -0
  56. bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py +0 -159
  57. bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui +0 -149
  58. bec_widgets/widgets/motor_control/movement_relative/__init__.py +0 -0
  59. bec_widgets/widgets/motor_control/movement_relative/movement_relative.py +0 -230
  60. bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui +0 -298
  61. bec_widgets/widgets/motor_control/selection/__init__.py +0 -0
  62. bec_widgets/widgets/motor_control/selection/selection.py +0 -110
  63. bec_widgets/widgets/motor_control/selection/selection.ui +0 -69
  64. tests/unit_tests/test_motor_control.py +0 -588
  65. /bec_widgets/widgets/{buttons/color_button → base_classes}/__init__.py +0 -0
  66. /bec_widgets/widgets/{buttons/stop_button → color_button}/__init__.py +0 -0
  67. /bec_widgets/widgets/{buttons/color_button → color_button}/assets/color_button.png +0 -0
  68. /bec_widgets/widgets/{buttons/color_button → color_button}/color_button.pyproject +0 -0
  69. /bec_widgets/widgets/{device_inputs/device_combobox → device_combobox}/__init__.py +0 -0
  70. /bec_widgets/widgets/{device_inputs/device_line_edit → device_line_edit}/__init__.py +0 -0
  71. /bec_widgets/widgets/{motor_control → stop_button}/__init__.py +0 -0
  72. /bec_widgets/widgets/{motor_control/motor_table → toggle}/__init__.py +0 -0
  73. {bec_widgets-0.80.0.dist-info → bec_widgets-0.82.0.dist-info}/WHEEL +0 -0
  74. {bec_widgets-0.80.0.dist-info → bec_widgets-0.82.0.dist-info}/entry_points.txt +0 -0
  75. {bec_widgets-0.80.0.dist-info → bec_widgets-0.82.0.dist-info}/licenses/LICENSE +0 -0
@@ -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.80.0
3
+ Version: 0.82.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=vuDJPAYOK0995_H6fu0N5dIgIrOJgTvKr0HZkNWlxMw,8142
3
3
  .pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=7xfcsl64resY5jo7fRcioA-Ew8yxeKcrN0g1QTyS5ZI,6948
5
+ CHANGELOG.md,sha256=k2WtOtHgXemiWHWfpEiNOVE8J8rSXScPG5bnccZKTtw,6798
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=jLF_WhEeH0HZcZ0CsaF-2aNH0Ik5sO9zF_VBKbDhpmA,1309
7
+ PKG-INFO,sha256=LT1qiOoINPiD0fx8bR3xpuvsb8e3_dscPXfGK1NVQNs,1309
8
8
  README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
9
- pyproject.toml,sha256=wvgRT2shpytqQi873NIBurGDMu4Di_uJz0Bq3M82dtE,2358
9
+ pyproject.toml,sha256=wcznXGDLca8bvxpzz4gq3qCV0D7E9st-N9uyKRSo028,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
@@ -46,7 +43,7 @@ bec_widgets/utils/bec_widget.py,sha256=Y-t90XMe2PASvY96Xve5a_jevXqnxk1SJ-mfy6ULC
46
43
  bec_widgets/utils/colors.py,sha256=CP_lwj757CpwdVhWSfdNEXKFCEVVVF48DizD2WJKSwI,9759
47
44
  bec_widgets/utils/container_utils.py,sha256=m3VUyAYmSWkEwApP9tBvKxPYVtc2kHw4toxIpMryJy4,1495
48
45
  bec_widgets/utils/crosshair.py,sha256=SubY4FQCI6vUKsmMYGKHR7uYdGQJ6vhoYLuC1XlKS9I,9626
49
- bec_widgets/utils/entry_validator.py,sha256=IqmtResXQtnmMvWVSl8IrnggqSzXLp4cSggn6WdSTpE,1298
46
+ bec_widgets/utils/entry_validator.py,sha256=3skJIsUwTYicT76AMHm_M78RiWtUgyD2zb-Rxo2HdHQ,1313
50
47
  bec_widgets/utils/generate_designer_plugin.py,sha256=T6DqL29sN4LcXLH8Hoa410UGnoRzjsZ-z0PRGTEzkRE,5809
51
48
  bec_widgets/utils/layout_manager.py,sha256=H0nKsIMaPxRkof1MEXlSmW6w1dFxA6astaGzf4stI84,4727
52
49
  bec_widgets/utils/plugin_utils.py,sha256=njvVdvF-AR47Yn80ntpvFldEvLuFx9GV-qEX4p_n4AI,5263
@@ -59,6 +56,8 @@ bec_widgets/utils/yaml_dialog.py,sha256=T6UyGNGdmpXW74fa_7Nk6b99T5pp2Wvyw3AOauRc
59
56
  bec_widgets/utils/plugin_templates/plugin.template,sha256=JHkUvYegesW-xEhZuY4FQVGqyEMBRLaPY4JNI8Ni_vE,1182
60
57
  bec_widgets/utils/plugin_templates/register.template,sha256=XyL3OZPT_FTArLAM8tHd5qMqv2ZuAbJAZLsNNnHcagU,417
61
58
  bec_widgets/widgets/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
59
+ bec_widgets/widgets/base_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ bec_widgets/widgets/base_classes/device_input_base.py,sha256=k7-hIJBvoh1xPCnMCdJ-hdVvtqG1QMtk4sF3EZwvdCU,3918
62
61
  bec_widgets/widgets/bec_queue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
62
  bec_widgets/widgets/bec_queue/bec_queue.py,sha256=voIsj599a5t-u-H15tpSqjGBmy5ra6LsHpZnqEZFrI8,3551
64
63
  bec_widgets/widgets/bec_queue/bec_queue.pyproject,sha256=VhoNmAv1DQUl9dg7dELyf5i4pZ5k65N3GnqOYiSwbQo,27
@@ -70,30 +69,25 @@ bec_widgets/widgets/bec_status_box/bec_status_box.pyproject,sha256=JWtx3Csfn2h7O
70
69
  bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py,sha256=CNFIETpkORLQ9J3l91jefiRLJs5Ru3nsWIPoUwaRbB0,1242
71
70
  bec_widgets/widgets/bec_status_box/register_bec_status_box.py,sha256=EiQITnkNw7IU7hE776wAeXro97eZd9XlsB9essgCebE,481
72
71
  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=AJUMOQVLd4H39wzW2MJLhGAww7a1NtjivTkfexVhHHo,512
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
72
+ bec_widgets/widgets/color_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
+ bec_widgets/widgets/color_button/color_button.py,sha256=Faszdcu6iJo2n0fdAORvKMf926Le9f454t6JIIZRc-0,1049
74
+ bec_widgets/widgets/color_button/color_button.pyproject,sha256=LUYF4VkDOB4ttVe7YfvLh64K-XZg0-xaVT06BqCT3UA,30
75
+ bec_widgets/widgets/color_button/color_button_plugin.py,sha256=CvO3L6r8pBd-0DNuqjQ7uKF9u1mU6xFs23sS_dsj4tw,1256
76
+ bec_widgets/widgets/color_button/register_color_button.py,sha256=ZAx3t7G2VI2S-1qcEof31Xi9O0X8deLeZNgS651L1JI,475
77
+ bec_widgets/widgets/color_button/assets/color_button.png,sha256=dkjgGHSdxu98nM68O16fGpxBjxkkeLN8iu9M_8i5-NY,5618
82
78
  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
79
+ bec_widgets/widgets/device_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
+ bec_widgets/widgets/device_combobox/device_combobox.py,sha256=L6hPOk3LkTy9U_HRdU7bvqCH1L1Y_BuPYTTfl1eqShg,2824
81
+ bec_widgets/widgets/device_combobox/device_combobox.pyproject,sha256=wI2eXR5ky_IM9-BCHJnH_9CEqYcZwIuLcgitSEr8OJU,40
82
+ bec_widgets/widgets/device_combobox/device_combobox_plugin.py,sha256=CQszPKVXoa4wRxucQjVIqblP5rtGvwWn8FZOR_OE_-o,1406
83
+ bec_widgets/widgets/device_combobox/register_device_combobox.py,sha256=xzz2qM82cgFIrj77c9zyUpJ-1QHZRMrLkyeq8uGNsmE,487
84
+ bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png,sha256=ydC7WZmoU-UjjIOGFuUIDjQ30p4L66si2emHawc_inU,2592
85
+ bec_widgets/widgets/device_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
+ bec_widgets/widgets/device_line_edit/device_line_edit.py,sha256=SnNWR_DrXwe3-FvaDosfIaSOqXiDy8_UcfRrPGwdKm0,3377
87
+ bec_widgets/widgets/device_line_edit/device_line_edit.pyproject,sha256=tqAYXRbxsHR41MwqmAxvfq1CFeZ1IRv84whUG67HjjE,41
88
+ bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=7aJR2jsEdbq2UuH9p-7lqKzndkrtY4ZcqnNLIVc7rzk,1423
89
+ bec_widgets/widgets/device_line_edit/register_device_line_edit.py,sha256=8gEPnC8djYCw-idoZAENNB3bPOxM6pbzEp9A366EAGg,489
90
+ bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png,sha256=nxVykqQY4kgMJP7GELzv6N_dghqIzBJb2MWqxs4B-Ug,3391
97
91
  bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
98
92
  bec_widgets/widgets/dock/dock.py,sha256=joymi8NRoIuzuugUj9ccF9e1m57HwLQhhMmjaWiwTnM,7597
99
93
  bec_widgets/widgets/dock/dock_area.py,sha256=WKIt61v7w2YXahfIL4nddWHPfpTpw52uphX4QCbS3q0,7913
@@ -110,45 +104,42 @@ bec_widgets/widgets/figure/plots/image/image_processor.py,sha256=GeTtWjbldy6VejM
110
104
  bec_widgets/widgets/figure/plots/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
105
  bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=QYeXKcb87DPti19MaAFFr6LGma4F7GijaxnC1vx8Kng,18013
112
106
  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
107
+ bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=e401GGvUF11rZKf4onB4zYlcUWIv8Zsnm4GcysaXi6U,29226
114
108
  bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=yQZGPKs--3X_9Qg2pv0GUiL5WLBQVC3z_PJKRnsHqPU,8293
115
109
  bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
110
  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
111
  bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
112
  bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
133
113
  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
114
+ bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=bmXNRlEZfDC-YMxeC2QwmWX3ftESg4KQpOSxVnOYy1Q,7103
135
115
  bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
136
116
  bec_widgets/widgets/motor_map/assets/connection.svg,sha256=czIb1BnshmxJnER8ssU3WcLENrFSIUfMwberajWOGAk,341
137
117
  bec_widgets/widgets/motor_map/assets/history.svg,sha256=bd6p5saxRiNRpd5OsSwIOvRWvel0WFEHul9zw4y9vH0,392
138
118
  bec_widgets/widgets/motor_map/assets/motor_map.png,sha256=xd6GFBM8gAb5c-xRgswxTZFtvo449yK57-EbkFvidOI,9746
139
119
  bec_widgets/widgets/motor_map/assets/settings.svg,sha256=ro30oa9CF1YijOXoUl-hz2DilJcqTy4rlTrMYhggumQ,1473
140
120
  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
121
+ bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py,sha256=Y6ZkBGxsBy_cQ24K9YO8NbOZWpbJqAGC1H2-kDPdMfM,2931
142
122
  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
123
+ bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py,sha256=qVvNgGVPTbJ4j6GDWsdV61I__t5rcuiv-818I0Yc9XU,2201
144
124
  bec_widgets/widgets/ring_progress_bar/__init__.py,sha256=_uoJKnDM2YAeUBfwc5WLbIHSJj7zm_FAurSKP3WRaCw,47
145
125
  bec_widgets/widgets/ring_progress_bar/ring.py,sha256=19zFj-6ZrIPLXYqvs5EPcrmDWnfnSLlEOmzJffL4d3A,11241
146
126
  bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py,sha256=sU4Dur2XzBVfDYAYazI6pjOZOhzggoQIuc9VD3PWgac,24073
147
127
  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
128
+ bec_widgets/widgets/scan_control/scan_control.py,sha256=EHibpeK8vpG6rlg8zhvDDz8GDUzDmvhYH0aX7-Xo4m8,7689
129
+ bec_widgets/widgets/scan_control/scan_group_box.py,sha256=wrrJLfI0apfll0NKpqM8ymlbl5NaqA9cKNgyfVdYR00,7420
130
+ bec_widgets/widgets/stop_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
+ bec_widgets/widgets/stop_button/register_stop_button.py,sha256=U7r3fEOH-uPhAQI-nTituHXDDXDWR4JQZ7_vD6b_dfM,471
132
+ bec_widgets/widgets/stop_button/stop_button.py,sha256=icJQT1k5G_nvdHWZZkGEZVQupt-mWd2viK8zYg5B5dI,793
133
+ bec_widgets/widgets/stop_button/stop_button.pyproject,sha256=Cc_xbv-zfzNVpsdg_1QyzuTlrJaM9_BkIjes70umrx0,29
134
+ bec_widgets/widgets/stop_button/stop_button_plugin.py,sha256=-90MqPp1cFumsrHGaFgc_nahdCoew98M5bS1oqSRhDk,1346
135
+ bec_widgets/widgets/stop_button/assets/stop.png,sha256=9nGdvR-qwOz1YP4xYoBjmDnnj9ns2cLLhfvTz9amyKc,8424
150
136
  bec_widgets/widgets/text_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
137
  bec_widgets/widgets/text_box/text_box.py,sha256=dg2gpOqdBZNKD08mygb40twweFBiG-xsXz0GlIhfXV0,4240
138
+ bec_widgets/widgets/toggle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
+ bec_widgets/widgets/toggle/register_toggle_switch.py,sha256=8pVtkeEeiDOjV4OPoZq1I30F9JDzl4nQE7e7xoWyWBs,472
140
+ bec_widgets/widgets/toggle/toggle.py,sha256=JzCGYoyHBrlBWCoyL94QX4zSLyEwWbCNHMegjlnSy2E,4442
141
+ bec_widgets/widgets/toggle/toggle_switch.pyproject,sha256=Msa-AS5H5XlqW65r8GlX2AxD8FnFnDyDgGnbKcXqKOw,24
142
+ bec_widgets/widgets/toggle/toggle_switch_plugin.py,sha256=8e8JjUx6T5CIx7ixWLwVdT9JOJTbQ8aWwd3_9VAc_Mw,1177
152
143
  bec_widgets/widgets/toolbar/__init__.py,sha256=d-TP4_cr_VbpwreMM4ePnfZ5YXsEPQ45ibEf75nuGoE,36
153
144
  bec_widgets/widgets/toolbar/toolbar.py,sha256=rloOsr3TVGHLI4OJNKYWEBb1Z9_yJ0ZYIyf9RlPlxwY,3194
154
145
  bec_widgets/widgets/vscode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -224,11 +215,10 @@ tests/unit_tests/test_bec_status_box.py,sha256=gZdjyy9DNuUP9UwleTLj2Dp5HUImiqnkH
224
215
  tests/unit_tests/test_client_utils.py,sha256=eViJ1Tz-HX9TkMvQH6W8cO-c3_1I8bUc4_Yen6LOc0E,830
225
216
  tests/unit_tests/test_color_validation.py,sha256=xbFbtFDia36XLgaNrX2IwvAX3IDC_Odpj5BGoJSgiIE,2389
226
217
  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
218
+ tests/unit_tests/test_device_input_base.py,sha256=ooA7lL-tqW-Cvd6mMx_xlupunsGw93PYFDc6CgiQPgg,2430
219
+ tests/unit_tests/test_device_input_widgets.py,sha256=4zbN64p4BZcAGGc1gTB3QhFGYeBU7lQ6MtTblu1ZXrQ,5809
229
220
  tests/unit_tests/test_generate_cli_client.py,sha256=ng-eV5iF7Dhm-6YpxYo99CMY0KgqoaZBQNkMeKULDBU,3355
230
221
  tests/unit_tests/test_generate_plugin.py,sha256=9603ucZChM-pYpHadzsR94U1Zec1KZT34WedX9qzgMo,4464
231
- tests/unit_tests/test_motor_control.py,sha256=bdCjhthWEy9iNyNZiD1JAeN_PSMaOblS780XGDjVwsw,20851
232
222
  tests/unit_tests/test_plot_base.py,sha256=vWbt-QO5blSoE5C1392MIFha9A9JnUsx_D_9yTqhcRo,3845
233
223
  tests/unit_tests/test_plugin_utils.py,sha256=ayksWdrFY7kOiA0wVEjKFmFCF3UhH3lG8tzPVOpwysk,528
234
224
  tests/unit_tests/test_ring_progress_bar.py,sha256=hDlqkQho7FR7HAfM4Zrr4q1m773a3_rQ8CbM1GqDDSE,12252
@@ -236,8 +226,9 @@ tests/unit_tests/test_rpc_register.py,sha256=hECjZEimd440mwRrO0rg7L3PKN7__3DgjmE
236
226
  tests/unit_tests/test_rpc_widget_handler.py,sha256=ceQ3BPnBIFY2Hy-sDPw0wxxREVTTphILts0gvX9qoUw,234
237
227
  tests/unit_tests/test_scan_control.py,sha256=Wr6KcE8av4sEIOx5VgYbzVCem3Jgb4Kzx_oOuvwlmkE,13459
238
228
  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
229
+ tests/unit_tests/test_stop_button.py,sha256=tpQanzBUyl7qLXjbMUQqm3U3vShbKKARcnLpgsu3P0E,789
240
230
  tests/unit_tests/test_text_box_widget.py,sha256=cT0uEHt_6d-FwST0A_wE9sFW9E3F_nJbKhuBAeU4yHg,1862
231
+ tests/unit_tests/test_toggle.py,sha256=Amzgres7te0tTQIDR2WMKSx9Kce44TxMpIPR6HZygXQ,832
241
232
  tests/unit_tests/test_vscode_widget.py,sha256=NVB23ppLqIj-Opd8QnapqUJzDMz6mIZfm3wGPnFXyUE,2788
242
233
  tests/unit_tests/test_waveform1d.py,sha256=inc-CyRA_3-PE99WnR6vDdfRE1vgp-ZoLVJ-Qbq0qFY,15967
243
234
  tests/unit_tests/test_website_widget.py,sha256=fBADIJJBAHU4Ro7u95kdemFVNv196UOcuO9oLHuHt8A,761
@@ -248,8 +239,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
248
239
  tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
249
240
  tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
241
  tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
251
- bec_widgets-0.80.0.dist-info/METADATA,sha256=jLF_WhEeH0HZcZ0CsaF-2aNH0Ik5sO9zF_VBKbDhpmA,1309
252
- bec_widgets-0.80.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
253
- bec_widgets-0.80.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
254
- bec_widgets-0.80.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
255
- bec_widgets-0.80.0.dist-info/RECORD,,
242
+ bec_widgets-0.82.0.dist-info/METADATA,sha256=LT1qiOoINPiD0fx8bR3xpuvsb8e3_dscPXfGK1NVQNs,1309
243
+ bec_widgets-0.82.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
244
+ bec_widgets-0.82.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
245
+ bec_widgets-0.82.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
246
+ bec_widgets-0.82.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.80.0"
7
+ version = "0.82.0"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  import pytest
2
2
 
3
- from bec_widgets.widgets.device_inputs.device_combobox.device_combobox import DeviceComboBox
4
- from bec_widgets.widgets.device_inputs.device_line_edit.device_line_edit import DeviceLineEdit
3
+ from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
4
+ from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
5
5
 
6
6
  from .client_mocks import mocked_client
7
7
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  import pytest
4
4
 
5
- from bec_widgets.widgets.buttons import StopButton
5
+ from bec_widgets.widgets.stop_button.stop_button import StopButton
6
6
 
7
7
  from .client_mocks import mocked_client
8
8
 
@@ -18,7 +18,10 @@ def stop_button(qtbot, mocked_client):
18
18
 
19
19
  def test_stop_button(stop_button):
20
20
  assert stop_button.text() == "Stop"
21
- assert stop_button.styleSheet() == "background-color: #cc181e; color: white"
21
+ assert (
22
+ stop_button.styleSheet()
23
+ == "background-color: #cc181e; color: white; font-weight: bold; font-size: 12px;"
24
+ )
22
25
  stop_button.click()
23
26
  assert stop_button.queue.request_scan_abortion.called
24
27
  assert stop_button.queue.request_queue_reset.called
@@ -0,0 +1,38 @@
1
+ import pytest
2
+ from qtpy.QtCore import QPointF, Qt
3
+
4
+ from bec_widgets.widgets.toggle.toggle import ToggleSwitch
5
+
6
+
7
+ @pytest.fixture
8
+ def toggle(qtbot):
9
+ widget = ToggleSwitch()
10
+ qtbot.addWidget(widget)
11
+ qtbot.waitExposed(widget)
12
+ yield widget
13
+
14
+
15
+ def test_toggle(toggle):
16
+ toggle.checked = False
17
+ assert toggle.checked is False
18
+
19
+ assert toggle.thumb_pos == QPointF(3, 2)
20
+
21
+ toggle.checked = True
22
+ assert toggle.checked is True
23
+
24
+ assert toggle.thumb_pos == QPointF(22, 2)
25
+
26
+
27
+ def test_toggle_click(qtbot, toggle):
28
+ init_state = toggle.checked
29
+
30
+ qtbot.mouseClick(toggle, Qt.LeftButton)
31
+ toggle.paintEvent(None)
32
+ assert toggle.checked is not init_state
33
+
34
+ init_state = toggle.checked
35
+
36
+ qtbot.mouseClick(toggle, Qt.LeftButton)
37
+ toggle.paintEvent(None)
38
+ assert toggle.checked is not init_state
@@ -1,9 +0,0 @@
1
- from .motor_control_compilations import (
2
- MotorControlApp,
3
- MotorControlMap,
4
- MotorControlPanel,
5
- MotorControlPanelAbsolute,
6
- MotorControlPanelRelative,
7
- MotorCoordinateTable,
8
- MotorThread,
9
- )