bec-widgets 1.0.2__py3-none-any.whl → 1.2.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 (36) hide show
  1. CHANGELOG.md +30 -35
  2. PKG-INFO +1 -1
  3. bec_widgets/cli/client.py +56 -0
  4. bec_widgets/tests/__init__.py +0 -0
  5. bec_widgets/tests/utils.py +226 -0
  6. bec_widgets/utils/colors.py +110 -27
  7. bec_widgets/utils/filter_io.py +156 -0
  8. bec_widgets/utils/widget_io.py +12 -9
  9. bec_widgets/widgets/base_classes/device_input_base.py +331 -62
  10. bec_widgets/widgets/base_classes/device_signal_input_base.py +280 -0
  11. bec_widgets/widgets/bec_status_box/status_item.py +1 -0
  12. bec_widgets/widgets/dap_combo_box/dap_combo_box_plugin.py +1 -1
  13. bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +1 -1
  14. bec_widgets/widgets/device_combobox/device_combobox.py +118 -41
  15. bec_widgets/widgets/device_line_edit/device_line_edit.py +122 -59
  16. bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +1 -1
  17. bec_widgets/widgets/image/image_widget.py +7 -1
  18. bec_widgets/widgets/motor_map/motor_map_widget.py +4 -2
  19. bec_widgets/widgets/positioner_box/positioner_box.py +4 -1
  20. bec_widgets/widgets/scan_control/scan_group_box.py +3 -1
  21. bec_widgets/widgets/signal_combobox/__init__.py +0 -0
  22. bec_widgets/widgets/signal_combobox/register_signal_combobox.py +15 -0
  23. bec_widgets/widgets/signal_combobox/signal_combobox.py +115 -0
  24. bec_widgets/widgets/signal_combobox/signal_combobox.pyproject +1 -0
  25. bec_widgets/widgets/signal_combobox/signal_combobox_plugin.py +54 -0
  26. bec_widgets/widgets/signal_line_edit/__init__.py +0 -0
  27. bec_widgets/widgets/signal_line_edit/register_signal_line_edit.py +15 -0
  28. bec_widgets/widgets/signal_line_edit/signal_line_edit.py +140 -0
  29. bec_widgets/widgets/signal_line_edit/signal_line_edit.pyproject +1 -0
  30. bec_widgets/widgets/signal_line_edit/signal_line_edit_plugin.py +54 -0
  31. {bec_widgets-1.0.2.dist-info → bec_widgets-1.2.0.dist-info}/METADATA +1 -1
  32. {bec_widgets-1.0.2.dist-info → bec_widgets-1.2.0.dist-info}/RECORD +36 -22
  33. pyproject.toml +1 -1
  34. {bec_widgets-1.0.2.dist-info → bec_widgets-1.2.0.dist-info}/WHEEL +0 -0
  35. {bec_widgets-1.0.2.dist-info → bec_widgets-1.2.0.dist-info}/entry_points.txt +0 -0
  36. {bec_widgets-1.0.2.dist-info → bec_widgets-1.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,140 @@
1
+ from bec_lib.device import Positioner
2
+ from ophyd import Kind
3
+ from qtpy.QtCore import QSize, Signal, Slot
4
+ from qtpy.QtGui import QPainter, QPaintEvent, QPen
5
+ from qtpy.QtWidgets import QCompleter, QLineEdit, QSizePolicy
6
+
7
+ from bec_widgets.utils.colors import get_accent_colors
8
+ from bec_widgets.widgets.base_classes.device_signal_input_base import DeviceSignalInputBase
9
+
10
+
11
+ class SignalLineEdit(DeviceSignalInputBase, QLineEdit):
12
+ """
13
+ Line edit widget for device input with autocomplete for device names.
14
+
15
+ Args:
16
+ parent: Parent widget.
17
+ client: BEC client object.
18
+ config: Device input configuration.
19
+ gui_id: GUI ID.
20
+ device_filter: Device filter, name of the device class from BECDeviceFilter and BECReadoutPriority. Check DeviceInputBase for more details.
21
+ default: Default device name.
22
+ arg_name: Argument name, can be used for the other widgets which has to call some other function in bec using correct argument names.
23
+ """
24
+
25
+ device_signal_changed = Signal(str)
26
+
27
+ ICON_NAME = "vital_signs"
28
+
29
+ def __init__(
30
+ self,
31
+ parent=None,
32
+ client=None,
33
+ config: DeviceSignalInputBase = None,
34
+ gui_id: str | None = None,
35
+ device: str | None = None,
36
+ signal_filter: str | list[str] | None = None,
37
+ default: str | None = None,
38
+ arg_name: str | None = None,
39
+ ):
40
+ self._is_valid_input = False
41
+ super().__init__(client=client, config=config, gui_id=gui_id)
42
+ QLineEdit.__init__(self, parent=parent)
43
+ self._accent_colors = get_accent_colors()
44
+ self.completer = QCompleter(self)
45
+ self.setCompleter(self.completer)
46
+ if arg_name is not None:
47
+ self.config.arg_name = arg_name
48
+ self.arg_name = arg_name
49
+ if default is not None:
50
+ self.set_device(default)
51
+
52
+ self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
53
+ self.setMinimumSize(QSize(100, 0))
54
+ # We do not consider the config that is passed here, this produced problems
55
+ # with QtDesigner, since config and input arguments may differ and resolve properly
56
+ # Implementing this logic and config recoverage is postponed.
57
+ if signal_filter is not None:
58
+ self.set_filter(signal_filter)
59
+ else:
60
+ self.set_filter([Kind.hinted, Kind.normal, Kind.config])
61
+ if device is not None:
62
+ self.set_device(device)
63
+ if default is not None:
64
+ self.set_signal(default)
65
+ self.textChanged.connect(self.validate_device)
66
+ self.validate_device(self.text())
67
+
68
+ def get_current_device(self) -> object:
69
+ """
70
+ Get the current device object based on the current value.
71
+
72
+ Returns:
73
+ object: Device object, can be device of type Device, Positioner, Signal or ComputedSignal.
74
+ """
75
+ dev_name = self.text()
76
+ return self.get_device_object(dev_name)
77
+
78
+ def paintEvent(self, event: QPaintEvent) -> None:
79
+ """Extend the paint event to set the border color based on the validity of the input.
80
+
81
+ Args:
82
+ event (PySide6.QtGui.QPaintEvent) : Paint event.
83
+ """
84
+ super().paintEvent(event)
85
+ painter = QPainter(self)
86
+ pen = QPen()
87
+ pen.setWidth(2)
88
+
89
+ if self._is_valid_input is False and self.isEnabled() is True:
90
+ pen.setColor(self._accent_colors.emergency)
91
+ painter.setPen(pen)
92
+ painter.drawRect(self.rect().adjusted(1, 1, -1, -1))
93
+
94
+ @Slot(str)
95
+ def check_validity(self, input_text: str) -> None:
96
+ """
97
+ Check if the current value is a valid device name.
98
+ """
99
+ if self.validate_signal(input_text) is True:
100
+ self._is_valid_input = True
101
+ self.on_text_changed(input_text)
102
+ else:
103
+ self._is_valid_input = False
104
+ self.update()
105
+
106
+ @Slot(str)
107
+ def on_text_changed(self, text: str):
108
+ """Slot for text changed. If a device is selected and the signal is changed and valid it emits a signal.
109
+ For a positioner, the readback value has to be renamed to the device name.
110
+
111
+ Args:
112
+ text (str): Text in the combobox.
113
+ """
114
+ print("test")
115
+ if self.validate_device(self.device) is False:
116
+ return
117
+ if self.validate_signal(text) is False:
118
+ return
119
+ if text == "readback" and isinstance(self.get_device_object(self.device), Positioner):
120
+ device_signal = self.device
121
+ else:
122
+ device_signal = f"{self.device}_{text}"
123
+ self.device_signal_changed.emit(device_signal)
124
+
125
+
126
+ if __name__ == "__main__": # pragma: no cover
127
+ # pylint: disable=import-outside-toplevel
128
+ from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
129
+
130
+ from bec_widgets.utils.colors import set_theme
131
+
132
+ app = QApplication([])
133
+ set_theme("dark")
134
+ widget = QWidget()
135
+ widget.setFixedSize(200, 200)
136
+ layout = QVBoxLayout()
137
+ widget.setLayout(layout)
138
+ layout.addWidget(SignalLineEdit(device="samx"))
139
+ widget.show()
140
+ app.exec_()
@@ -0,0 +1 @@
1
+ {'files': ['signal_line_edit.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
+
6
+ from bec_widgets.utils.bec_designer import designer_material_icon
7
+ from bec_widgets.widgets.signal_line_edit.signal_line_edit import SignalLineEdit
8
+
9
+ DOM_XML = """
10
+ <ui language='c++'>
11
+ <widget class='SignalLineEdit' name='signal_line_edit'>
12
+ </widget>
13
+ </ui>
14
+ """
15
+
16
+
17
+ class SignalLineEditPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
18
+ def __init__(self):
19
+ super().__init__()
20
+ self._form_editor = None
21
+
22
+ def createWidget(self, parent):
23
+ t = SignalLineEdit(parent)
24
+ return t
25
+
26
+ def domXml(self):
27
+ return DOM_XML
28
+
29
+ def group(self):
30
+ return "BEC Input Widgets"
31
+
32
+ def icon(self):
33
+ return designer_material_icon(SignalLineEdit.ICON_NAME)
34
+
35
+ def includeFile(self):
36
+ return "signal_line_edit"
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 "SignalLineEdit"
49
+
50
+ def toolTip(self):
51
+ return ""
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: 1.0.2
3
+ Version: 1.2.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=gR0rKv9sDzbyZmcKeia0hD0j-q5IhVIu1wiNnxkk31Y,7661
5
+ CHANGELOG.md,sha256=3_0bPYAjcDl2neoJ8ImU4r8g9n_IM9EGNEoD9TRiGoM,7560
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=p-VMgcNWFa8Y1lezGTRVavHZZe2NV5pgRiFa6OiSht0,1332
7
+ PKG-INFO,sha256=KM4OB0J4rRxGsMYKqC8hDTlD589qR8qiw7jSRCCQrI4,1332
8
8
  README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
9
- pyproject.toml,sha256=wDRwKFKfAkDAFwWoWqKVKLA22AcThgEmmS4cnkzPU50,2592
9
+ pyproject.toml,sha256=tIRsuL8VDjpXoSFHlVYosPz5TzLwc6t-TzGOV8vKP-Y,2592
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
@@ -24,7 +24,7 @@ bec_widgets/assets/app_icons/alignment_1d.png,sha256=5VouaWieb4lVv3wUBNHaO5ovUW2
24
24
  bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
25
25
  bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
26
26
  bec_widgets/cli/auto_updates.py,sha256=DwzRChcFIWPH2kCYvp8H7dXvyYSKGYv6LwCmK2sDR2E,5676
27
- bec_widgets/cli/client.py,sha256=iwbdZ2-ruGwLPk1co5-pHXSWm-K99ms6P3wORZwnI1Q,83887
27
+ bec_widgets/cli/client.py,sha256=TBsXvRgmua7rW_MSQgI2iMmI86ml4PqwAUaC5vt1xQ8,85032
28
28
  bec_widgets/cli/client_utils.py,sha256=EdDfo3uuYAWtZiDGGu3_GPnl94FSLkNG2N_4I9FNfMc,11809
29
29
  bec_widgets/cli/generate_cli.py,sha256=C5SOlUeDzFgEptgpa5vdiF6c-YILLcfILZZtk9jr_H0,6637
30
30
  bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
@@ -51,6 +51,8 @@ bec_widgets/qt_utils/palette_viewer.py,sha256=PGhJ-4XI0f7gNnC1djNgcIHYg6HDO6hPju
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
53
  bec_widgets/qt_utils/toolbar.py,sha256=yR2WNPv7dD8jU12aHgUMAi5-FYyCKe2MNSsqMzsa5pg,9856
54
+ bec_widgets/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ bec_widgets/tests/utils.py,sha256=D1v3JLzzbnX3HXBQCjoFlNz5cYhjqrRkFcjx3yptMJA,6687
54
56
  bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
55
57
  bec_widgets/utils/bec_connector.py,sha256=I9M_4g-_-WaMmhyXzChFCGXAElelx0mG6E1g0KvtEQs,10059
56
58
  bec_widgets/utils/bec_designer.py,sha256=Z3MeMju-KmTz8POtm23VQfp4rvtD2sF6eIOKQkl2F7w,4729
@@ -58,10 +60,11 @@ bec_widgets/utils/bec_dispatcher.py,sha256=OFmkx9vOz4pA4Sdc14QreyDZ870QYskJ4B5da
58
60
  bec_widgets/utils/bec_signal_proxy.py,sha256=PKJ7v8pKrAaqA9XNDMZZBlhVtEInX-ae6_0m2cQhiEw,2107
59
61
  bec_widgets/utils/bec_table.py,sha256=nA2b8ukSeUfquFMAxGrUVOqdrzMoDYD6O_4EYbOG2zk,717
60
62
  bec_widgets/utils/bec_widget.py,sha256=1lrHNuvW6uOuPpr-cJBYJNbFekTsqpnQdfTo3P5tbWI,3330
61
- bec_widgets/utils/colors.py,sha256=aUQkDMTRjTjS9lQfgO5NrUllU2r4ygDTTSUROtTBX90,12838
63
+ bec_widgets/utils/colors.py,sha256=Lpwm9ayTQ_BxQ977HWDZatf1OM7n2kEWzyJKvdjng-Y,16048
62
64
  bec_widgets/utils/container_utils.py,sha256=0wr3ZfuMiAFKCrQHVjxjw-Vuk8wsHdridqcjy2eY840,1531
63
65
  bec_widgets/utils/crosshair.py,sha256=f13tn1v_8FJ6C0WOLyDUXHaG_Nfzj4nMlLVEGqvs5Zc,11838
64
66
  bec_widgets/utils/entry_validator.py,sha256=3skJIsUwTYicT76AMHm_M78RiWtUgyD2zb-Rxo2HdHQ,1313
67
+ bec_widgets/utils/filter_io.py,sha256=GKO6GOTiKxTuTp_SHp5Ewou54N7wIZXgWWvlFvhbBmw,5114
65
68
  bec_widgets/utils/fps_counter.py,sha256=seuCWwiNP5q2e2OEztloa66pNb3Sygh-0lEHAcYaDfc,2612
66
69
  bec_widgets/utils/generate_designer_plugin.py,sha256=eidqauS8YLgoxkPntPL0oSG_lYqI2D7fSyOZvOtCU_U,5891
67
70
  bec_widgets/utils/layout_manager.py,sha256=H0nKsIMaPxRkof1MEXlSmW6w1dFxA6astaGzf4stI84,4727
@@ -73,13 +76,14 @@ bec_widgets/utils/rpc_decorator.py,sha256=pIvtqySQLnuS7l2Ti_UAe4WX7CRivZnsE5ZdKA
73
76
  bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQDQpbuE,1607
74
77
  bec_widgets/utils/ui_loader.py,sha256=9C4DkMIM8PEGXs2LmbZMyLVt38EIO9-T9C2UnK2SAvE,4882
75
78
  bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
76
- bec_widgets/utils/widget_io.py,sha256=4wlmXwKs7ncpCEQYXBzLVo7Z0IjU-TaJ9RtuaM8-Q98,12038
79
+ bec_widgets/utils/widget_io.py,sha256=7xSgzq37T7azzLhAMd6yOYNGGf7P04DLDVcNYjwAGEA,12256
77
80
  bec_widgets/utils/yaml_dialog.py,sha256=T6UyGNGdmpXW74fa_7Nk6b99T5pp2Wvyw3AOauRc8T8,2407
78
81
  bec_widgets/utils/plugin_templates/plugin.template,sha256=DWtJdHpdsVtbiTTOniH3zBe5a40ztQ20o_-Hclyu38s,1266
79
82
  bec_widgets/utils/plugin_templates/register.template,sha256=XyL3OZPT_FTArLAM8tHd5qMqv2ZuAbJAZLsNNnHcagU,417
80
83
  bec_widgets/widgets/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
81
84
  bec_widgets/widgets/base_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- bec_widgets/widgets/base_classes/device_input_base.py,sha256=thCOHOa9Z0b3-vlNFWK6PT_DdPTANnfj0_DLES_K-eE,3902
85
+ bec_widgets/widgets/base_classes/device_input_base.py,sha256=rM2ab6QwyLwcNNYSQI71D3i-2NN9uNr-r0GquV764Gc,15005
86
+ bec_widgets/widgets/base_classes/device_signal_input_base.py,sha256=y1ebxk1FjOPNh_yg5JnYwaN0gQg5Cgf8iu4Cfyo2DQQ,9524
83
87
  bec_widgets/widgets/bec_progressbar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
88
  bec_widgets/widgets/bec_progressbar/bec_progress_bar.pyproject,sha256=Pb3n9seM95_8myKJ0pv_9IcfJDNJJNOFBskuRdEVzhU,33
85
89
  bec_widgets/widgets/bec_progressbar/bec_progress_bar_plugin.py,sha256=b0b0F37HrwFAtizF4VC9udOe1eKbpDkrUE1pM7fI_f0,1352
@@ -95,7 +99,7 @@ bec_widgets/widgets/bec_status_box/bec_status_box.py,sha256=udxOoTqO_qVO08B8kmVz
95
99
  bec_widgets/widgets/bec_status_box/bec_status_box.pyproject,sha256=JWtx3Csfn2h7ODtk10HtyBNLf6tFIqyU6g04rMWOO1U,32
96
100
  bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py,sha256=UmsXAmeHg7FRkzirOLBPi3LwbRbG75w8LglYt4jn6Fc,1412
97
101
  bec_widgets/widgets/bec_status_box/register_bec_status_box.py,sha256=EiQITnkNw7IU7hE776wAeXro97eZd9XlsB9essgCebE,481
98
- bec_widgets/widgets/bec_status_box/status_item.py,sha256=8ePcKMcj9GBSuczk-k0d98lL_zMiVtTF-RRTG-Khec0,5525
102
+ bec_widgets/widgets/bec_status_box/status_item.py,sha256=ZV0gqHCZ7mSui02NThSV7fHlIlYpH1kCoVf4LdAVUMY,5610
99
103
  bec_widgets/widgets/button_abort/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
104
  bec_widgets/widgets/button_abort/abort_button.pyproject,sha256=UtuaE0Lvs6uOGufhatUyJS_n2l6EBbYaGuILj_BNCLs,30
101
105
  bec_widgets/widgets/button_abort/abort_button_plugin.py,sha256=3q0a4UE2O9s96Jjg6wi03CpXdQ7CnOI20ep7etEdxMo,1285
@@ -128,7 +132,7 @@ bec_widgets/widgets/console/register_console.py,sha256=T05uIV0UsBaNsG8DzLpYMmdcA
128
132
  bec_widgets/widgets/dap_combo_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
133
  bec_widgets/widgets/dap_combo_box/dap_combo_box.py,sha256=tNjz9QX_MsUy4gBFLzpiQkkXEtdkOUyqBuMjd9TGgFg,5797
130
134
  bec_widgets/widgets/dap_combo_box/dap_combo_box.pyproject,sha256=3TzD8j0F6UYw8TPwKxVDeXdobnYIRXNrAUrXzqWjk4M,31
131
- bec_widgets/widgets/dap_combo_box/dap_combo_box_plugin.py,sha256=WVR8k10SESRFm-hQUrcUfgycuNu7HIcZqV--24nw-TU,1270
135
+ bec_widgets/widgets/dap_combo_box/dap_combo_box_plugin.py,sha256=MAhGv-L7ra6pIw7t24ipaGlcVPK-P_IfGRPDgbuOnKk,1266
132
136
  bec_widgets/widgets/dap_combo_box/register_dap_combo_box.py,sha256=RGFzFmldBwQjpKB7wbIxJU20uprjXtqCVnUkt0Zc7aA,477
133
137
  bec_widgets/widgets/dark_mode_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
138
  bec_widgets/widgets/dark_mode_button/dark_mode_button.py,sha256=Yd084huvWfN4z1JxI35HjMBZ_AeYXseb-_Wq4-xRsnE,3256
@@ -145,13 +149,13 @@ bec_widgets/widgets/device_browser/device_item/__init__.py,sha256=VGY-uNVCnpcY-q
145
149
  bec_widgets/widgets/device_browser/device_item/device_item.py,sha256=pnsLmxcsULrt2E-Afbnbx3_6dAx4MDjMT2r479eM2GE,1549
146
150
  bec_widgets/widgets/device_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
151
  bec_widgets/widgets/device_combobox/device_combo_box.pyproject,sha256=wI2eXR5ky_IM9-BCHJnH_9CEqYcZwIuLcgitSEr8OJU,40
148
- bec_widgets/widgets/device_combobox/device_combo_box_plugin.py,sha256=E4kR_EWo2Y5k4r-glbz4S1kHSDhlVdNjVBRLuMjS0hU,1410
149
- bec_widgets/widgets/device_combobox/device_combobox.py,sha256=OMtrIn9e9F3S-bJ3xB27LTMShnGIdawBoq_G_E98SV0,2695
152
+ bec_widgets/widgets/device_combobox/device_combo_box_plugin.py,sha256=KbfBxCt_W2u_e6ozVIobfim5itex-NcpzELyFEtMva0,1413
153
+ bec_widgets/widgets/device_combobox/device_combobox.py,sha256=M9acVO7eYb4gVxvp3AgqTp7HFTsYJSEOsq5o3J0NOZQ,6079
150
154
  bec_widgets/widgets/device_combobox/register_device_combo_box.py,sha256=ZCrWVdWOvIjnUJWe3MU7JO021rcXYg2SgA1iSKqbLoY,488
151
155
  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=v5Pz7fmGzDxYF8uy3OVHy3uCSFQU_SOJ7WdHiFfhnrA,3700
156
+ bec_widgets/widgets/device_line_edit/device_line_edit.py,sha256=AAMYwWEv7xyBAWc5NebblZIzYOmkDpLYHlXcqapwnLU,6530
153
157
  bec_widgets/widgets/device_line_edit/device_line_edit.pyproject,sha256=tqAYXRbxsHR41MwqmAxvfq1CFeZ1IRv84whUG67HjjE,41
154
- bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=KsTa6Ha1hWFvbw5x24KCGstxKqhlTakJfmtphsOouJ0,1433
158
+ bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=-hZ0URFa-ZUNDC_s_FHLGyMN5TA-22WGr3rJVYL5kws,1436
155
159
  bec_widgets/widgets/device_line_edit/register_device_line_edit.py,sha256=8gEPnC8djYCw-idoZAENNB3bPOxM6pbzEp9A366EAGg,489
156
160
  bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
157
161
  bec_widgets/widgets/dock/dock.py,sha256=iQqPtjylG0LEmDSimogSD8Ks1WOr_JZMxLhyKjuhZmo,10375
@@ -177,7 +181,7 @@ bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=KduOM3glj3Xq1
177
181
  bec_widgets/widgets/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
182
  bec_widgets/widgets/image/bec_image_widget.pyproject,sha256=PHisdBo5_5UCApd27GkizzqgfdjsDx2bFZa_p9LiSW8,30
179
183
  bec_widgets/widgets/image/bec_image_widget_plugin.py,sha256=3nOHJTukHsEkaCLAivPHIY4qdshAj86LUKb5fYF3C-Y,1369
180
- bec_widgets/widgets/image/image_widget.py,sha256=o639hbSJVrCGwx2r0KV8JUJ-inaME-GWMR7YDmzFHhg,17796
184
+ bec_widgets/widgets/image/image_widget.py,sha256=V6WBhHzMLG6j7yM1YtRaJp0W3QX9qkdVemhRgxVH4hc,18073
181
185
  bec_widgets/widgets/image/register_bec_image_widget.py,sha256=01YLZQTMSSIXvH1TSL-1AYsRs1a4EbSwKLVAwh9AjeA,478
182
186
  bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
187
  bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=-e7HQOECeH5eDrJYh4BFIzRL78LDkooU4otabyN0aX4,2343
@@ -191,7 +195,7 @@ bec_widgets/widgets/lmfit_dialog/register_lm_fit_dialog.py,sha256=a96eq_Lm_QtC0D
191
195
  bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
196
  bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
193
197
  bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=jM-fxEfpkcyT1lNLvLDAntTcv_77KYWZC5Q4ykH0Y7I,1297
194
- bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=dsCptljLV5BaSEikxJa3H9O8Cmv0cLwisVySLRofe50,7637
198
+ bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=O3N6K2hFKp2tNjHjthP3GywCANBEI8TBczg_XPwDmAY,7791
195
199
  bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
196
200
  bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
201
  bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py,sha256=-VsVe1yZ41heD2JyknsbFOa9MMThg-G7JPoaJc5ZbYg,2259
@@ -202,7 +206,7 @@ bec_widgets/widgets/position_indicator/position_indicator.pyproject,sha256=s0JEf
202
206
  bec_widgets/widgets/position_indicator/position_indicator_plugin.py,sha256=ehQPpwkjJ7k365i4gdwtmAmCbVmB1tvQLEo60J_ivo4,1413
203
207
  bec_widgets/widgets/position_indicator/register_position_indicator.py,sha256=OZNiMgM_80TPSAXK_0hXAkne4vUh8DGvh_OdpOiMpwI,516
204
208
  bec_widgets/widgets/positioner_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
- bec_widgets/widgets/positioner_box/positioner_box.py,sha256=LfF9t6B2L1WN4JHugXWA33L40RufI44nwhMUKAxpUaE,11980
209
+ bec_widgets/widgets/positioner_box/positioner_box.py,sha256=Bxt7OtaT4Xh8vuwOH3EYCsT_PwgJeFTn3Bhij8HlCR8,12097
206
210
  bec_widgets/widgets/positioner_box/positioner_box.pyproject,sha256=7966pHdDseaHciaPNEKgdQgbUThSZf5wEDCeAEJh9po,32
207
211
  bec_widgets/widgets/positioner_box/positioner_box.ui,sha256=7LZlM9smIqmkvS2KAIDkBamn04mBAkXeG9T1fpKRQe8,6093
208
212
  bec_widgets/widgets/positioner_box/positioner_box_plugin.py,sha256=kJtQgRFGkJYWbZqJ7K7o0UhdsgAlODUVZL8pKJWwMhs,1413
@@ -228,7 +232,17 @@ bec_widgets/widgets/scan_control/register_scan_control.py,sha256=xUX2yR0-MaIMg9_
228
232
  bec_widgets/widgets/scan_control/scan_control.py,sha256=GcdPR2ZeDLEId5JJlorAVM__QncJC3wFv96EaGPzmsM,18030
229
233
  bec_widgets/widgets/scan_control/scan_control.pyproject,sha256=eTgVDFKToIH8_BbJjM2RvbOLr7HnYoidX0SAHx640DM,30
230
234
  bec_widgets/widgets/scan_control/scan_control_plugin.py,sha256=7GaqmaRgbwIPjVoXcyKVDl8UpfqC2weViup-YFfzUsM,1270
231
- bec_widgets/widgets/scan_control/scan_group_box.py,sha256=-d3V-sU-S-IHFymY-c-4BesUZNsG3Hq1exXvVGspXy4,12713
235
+ bec_widgets/widgets/scan_control/scan_group_box.py,sha256=JKmuBFzIS_LwY0LJkikgBZjvsLdp18ruKqWst2g4syo,12865
236
+ bec_widgets/widgets/signal_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
+ bec_widgets/widgets/signal_combobox/register_signal_combobox.py,sha256=VpdKxMVZ1VUvQwIaOEJccVApgEQtHYRbTllW4vvM5Es,487
238
+ bec_widgets/widgets/signal_combobox/signal_combobox.py,sha256=IXO0ARQVXXvr8Fead69lFEOxd1W9vN8HpB81l9o5qIE,4496
239
+ bec_widgets/widgets/signal_combobox/signal_combobox.pyproject,sha256=xod6iyRD-WD0Uk6LWXjSxFJCQy-831pvTkKcw2FAdnM,33
240
+ bec_widgets/widgets/signal_combobox/signal_combobox_plugin.py,sha256=Ow-gOeDtDUjX25KkxI0PKPamUokAaP25XzWKo3WtFsE,1292
241
+ bec_widgets/widgets/signal_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
+ bec_widgets/widgets/signal_line_edit/register_signal_line_edit.py,sha256=msxvE7K2BiLddp8UHDuYWXwi0Co95_I4c5AkdTWbjHg,489
243
+ bec_widgets/widgets/signal_line_edit/signal_line_edit.py,sha256=WvuwJ9ObPO8cria-1ozJagMJHP36OpPETksfi2MfLHw,5098
244
+ bec_widgets/widgets/signal_line_edit/signal_line_edit.pyproject,sha256=3NBnjBB6JRuF2W9-SR6x09KO1C2oB1IEV3VW__miIgI,34
245
+ bec_widgets/widgets/signal_line_edit/signal_line_edit_plugin.py,sha256=ohbuSMRxlH69eMJdf6yJ04XSLPXVolKEYk9I7BYcph0,1296
232
246
  bec_widgets/widgets/spinner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
247
  bec_widgets/widgets/spinner/register_spinner_widget.py,sha256=_zCPjLh4M7NTSHP1Atdn6yu33zJ3LJkcBy3KOJ5eSVY,476
234
248
  bec_widgets/widgets/spinner/spinner.py,sha256=5LoRGuRvQmY1hUCt06P3DJjXqOVkFCszbNAXRmPzqlo,2628
@@ -270,8 +284,8 @@ bec_widgets/widgets/website/register_website_widget.py,sha256=LIQJpV9uqcBiPR9cEA
270
284
  bec_widgets/widgets/website/website.py,sha256=42pncCc_zI2eqeMArIurVmPUukRo5bTxa2h1Skah-io,3012
271
285
  bec_widgets/widgets/website/website_widget.pyproject,sha256=scOiV3cV1_BjbzpPzy2N8rIJL5P2qIZz8ObTJ-Uvdtg,25
272
286
  bec_widgets/widgets/website/website_widget_plugin.py,sha256=pz38_C2cZ0yvPPS02wdIPcmhFo_yiwUhflsASocAPQQ,1341
273
- bec_widgets-1.0.2.dist-info/METADATA,sha256=p-VMgcNWFa8Y1lezGTRVavHZZe2NV5pgRiFa6OiSht0,1332
274
- bec_widgets-1.0.2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
275
- bec_widgets-1.0.2.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
276
- bec_widgets-1.0.2.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
277
- bec_widgets-1.0.2.dist-info/RECORD,,
287
+ bec_widgets-1.2.0.dist-info/METADATA,sha256=KM4OB0J4rRxGsMYKqC8hDTlD589qR8qiw7jSRCCQrI4,1332
288
+ bec_widgets-1.2.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
289
+ bec_widgets-1.2.0.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
290
+ bec_widgets-1.2.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
291
+ bec_widgets-1.2.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 = "1.0.2"
7
+ version = "1.2.0"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [