bec-widgets 0.94.7__py3-none-any.whl → 0.95.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 (80) hide show
  1. CHANGELOG.md +30 -34
  2. PKG-INFO +1 -1
  3. bec_widgets/cli/client.py +19 -0
  4. bec_widgets/widgets/device_browser/__init__.py +0 -0
  5. bec_widgets/widgets/device_browser/device_browser.py +107 -0
  6. bec_widgets/widgets/device_browser/device_browser.pyproject +1 -0
  7. bec_widgets/widgets/device_browser/device_browser.ui +44 -0
  8. bec_widgets/widgets/device_browser/device_browser_plugin.py +54 -0
  9. bec_widgets/widgets/device_browser/device_item/__init__.py +1 -0
  10. bec_widgets/widgets/device_browser/device_item/device_item.py +53 -0
  11. bec_widgets/widgets/device_browser/register_device_browser.py +15 -0
  12. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.0.dist-info}/METADATA +1 -1
  13. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.0.dist-info}/RECORD +73 -33
  14. docs/_static/custom.css +10 -10
  15. docs/assets/widget_screenshots/buttons.png +0 -0
  16. docs/assets/widget_screenshots/device_box.png +0 -0
  17. docs/assets/widget_screenshots/device_browser.png +0 -0
  18. docs/assets/widget_screenshots/device_inputs.png +0 -0
  19. docs/assets/widget_screenshots/dock_area.png +0 -0
  20. docs/assets/widget_screenshots/figure.png +0 -0
  21. docs/assets/widget_screenshots/image_widget.png +0 -0
  22. docs/assets/widget_screenshots/motor_map_widget.png +0 -0
  23. docs/assets/widget_screenshots/position_indicator.png +0 -0
  24. docs/assets/widget_screenshots/queue.png +0 -0
  25. docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
  26. docs/assets/widget_screenshots/scan_controller.png +0 -0
  27. docs/assets/widget_screenshots/spinner.gif +0 -0
  28. docs/assets/widget_screenshots/status_box.png +0 -0
  29. docs/assets/widget_screenshots/text_box.png +0 -0
  30. docs/assets/widget_screenshots/toggle.png +0 -0
  31. docs/assets/widget_screenshots/waveform_widget.png +0 -0
  32. docs/assets/widget_screenshots/website.png +0 -0
  33. docs/conf.py +1 -0
  34. docs/developer/developer.md +2 -0
  35. docs/index.md +4 -0
  36. docs/requirements.txt +1 -0
  37. docs/user/user.md +4 -0
  38. docs/user/widgets/bec_figure/bec_figure.md +105 -0
  39. docs/user/widgets/bec_status_box/bec_status_box.md +38 -0
  40. docs/user/widgets/buttons/buttons.md +50 -0
  41. docs/user/widgets/device_browser/device_browser.md +36 -0
  42. docs/user/widgets/device_browser/device_browser.png +0 -0
  43. docs/user/widgets/device_input/device_input.md +100 -0
  44. docs/user/widgets/dock_area/BECDockArea.png +0 -0
  45. docs/user/widgets/dock_area/bec_dock_area.md +107 -0
  46. docs/user/widgets/image/image_widget.md +84 -0
  47. docs/user/widgets/motor_map/motor_map.md +80 -0
  48. docs/user/widgets/position_indicator/position_indicator.md +76 -0
  49. docs/user/widgets/positioner_box/positioner_box.md +63 -0
  50. docs/user/widgets/progress_bar/ring_progress_bar.md +103 -0
  51. docs/user/widgets/queue/queue.md +41 -0
  52. docs/user/widgets/scan_control/scan_control.md +46 -0
  53. docs/user/widgets/spinner/spinner.md +75 -0
  54. docs/user/widgets/text_box/text_box.md +74 -0
  55. docs/user/widgets/toggle/toggle.md +66 -0
  56. docs/user/widgets/waveform/waveform_widget.md +132 -0
  57. docs/user/widgets/website/website.md +69 -0
  58. docs/user/widgets/widgets.md +212 -12
  59. pyproject.toml +1 -1
  60. tests/unit_tests/client_mocks.py +14 -0
  61. tests/unit_tests/test_device_browser.py +83 -0
  62. docs/user/widgets/bec_figure.md +0 -146
  63. docs/user/widgets/bec_status_box.md +0 -30
  64. docs/user/widgets/buttons.md +0 -37
  65. docs/user/widgets/ring_progress_bar.md +0 -54
  66. docs/user/widgets/scan_control.md +0 -35
  67. docs/user/widgets/text_box.md +0 -33
  68. docs/user/widgets/website.md +0 -21
  69. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.0.dist-info}/WHEEL +0 -0
  70. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.0.dist-info}/entry_points.txt +0 -0
  71. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.0.dist-info}/licenses/LICENSE +0 -0
  72. /docs/user/widgets/{BECFigure.png → bec_figure/BECFigure.png} +0 -0
  73. /docs/user/widgets/{bec_status_box.gif → bec_status_box/bec_status_box.gif} +0 -0
  74. /docs/user/widgets/{image_plot.gif → image/image_plot.gif} +0 -0
  75. /docs/user/widgets/{motor.gif → motor_map/motor.gif} +0 -0
  76. /docs/user/widgets/{progress_bar.gif → progress_bar/progress_bar.gif} +0 -0
  77. /docs/user/widgets/{scan_control.gif → scan_control/scan_control.gif} +0 -0
  78. /docs/user/widgets/{bec_figure_dap.gif → waveform/bec_figure_dap.gif} +0 -0
  79. /docs/user/widgets/{scatter_2D.gif → waveform/scatter_2D.gif} +0 -0
  80. /docs/user/widgets/{w1D.gif → waveform/w1D.gif} +0 -0
CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.95.0 (2024-08-21)
4
+
5
+ ### Documentation
6
+
7
+ * docs(device_browser): added user docs ([`2c31cc9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2c31cc90ae751f14a653cbbdd6c353d6359aaafe))
8
+
9
+ * docs(user): widget gallery with documentation added ([`7357f3d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7357f3d2a189f9f04954a027f39ce07c394d57ec))
10
+
11
+ * docs: added sphinx-inline-tabs as sphinx dependency ([`e9ecd26`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e9ecd268c602ea9572df0e8d508e49ee62d0c170))
12
+
13
+ * docs(cards): changed index cards to custom css class instead of overwriting the default sd-card theme ([`91ba30e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/91ba30e8d054a9c7f6c6d98b21113a5d0b1bbbbb))
14
+
15
+ ### Feature
16
+
17
+ * feat(cli): added device_browser to cli ([`196504b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/196504b533367a899c19b88af4ccd5b39dc46aac))
18
+
19
+ * feat(widgets): added device_browser widget ([`73f5a2f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/73f5a2f085b289ac18fa8a918b6ad7cfed595fb4))
20
+
21
+ ### Fix
22
+
23
+ * fix(device_browser): fixed plugin assignment for designer ([`6500393`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/650039303aae9bbec62c676285938416fff146ce))
24
+
25
+ ### Refactor
26
+
27
+ * refactor(docs): review response ([`4790afd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4790afde3d61fc9beb073c2775c339d4f80779e3))
28
+
29
+ ### Test
30
+
31
+ * test: added test for device browser ([`e870e5b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e870e5ba083c61df581c9c0305adabe72967f997))
32
+
3
33
  ## v0.94.7 (2024-08-20)
4
34
 
5
35
  ### Fix
@@ -121,37 +151,3 @@ Terminating client connections has to be done at the application level ([`198c1d
121
151
  * test: ensure all toplevelwidgets are closed ([`f9e5897`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f9e58979009cf632feea529700ad191401dd7eb8))
122
152
 
123
153
  ## v0.93.2 (2024-08-07)
124
-
125
- ### Fix
126
-
127
- * fix(scan_group_box): Scan Spinboxes limits increased to max allowed values; setting dialog for step size and decimal precision for ScanDoubleSpinBox on right click ([`a372925`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a372925fffa787c686198ae7cb3f9c15b459c109))
128
-
129
- ## v0.93.1 (2024-08-06)
130
-
131
- ### Documentation
132
-
133
- * docs: added video tutorial section with BSEG YT video ([`302ae90`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/302ae90139f6a88e2401fe29fe312387486e27a9))
134
-
135
- ### Fix
136
-
137
- * fix(dock): docks have more recognizable red icon for closing docks ([`af86860`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/af86860bf35474805fb1a7bc3725cf8835ed4cc7))
138
-
139
- ## v0.93.0 (2024-08-05)
140
-
141
- ### Feature
142
-
143
- * feat(themes): moved themes to bec_qthemes
144
-
145
- This reverts commit fd6ae91993a23a7b8dbb2cf3c4b7c3eda6d2b0f6 ([`5aad401`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5aad401ef8774c7330784f72cd3b9d8c253e2b6a))
146
-
147
- ## v0.92.5 (2024-08-05)
148
-
149
- ### Fix
150
-
151
- * fix(spinner): stop timer on close event ([`30fef92`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/30fef929cf6fb4b73f48151c92a0ee54c734031d))
152
-
153
- * fix(status_box): fix cleanup of status box ([`1f30dd7`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1f30dd73a9c1e3135087a5eef92c7329f54a604e))
154
-
155
- ### Test
156
-
157
- * test: register all widgets with qtbot and close them ([`73cd11e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/73cd11e47277e4437554b785a9551b28a572094f))
PKG-INFO CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.94.7
3
+ Version: 0.95.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
bec_widgets/cli/client.py CHANGED
@@ -21,6 +21,7 @@ class Widgets(str, enum.Enum):
21
21
  BECQueue = "BECQueue"
22
22
  BECStatusBox = "BECStatusBox"
23
23
  BECWaveformWidget = "BECWaveformWidget"
24
+ DeviceBrowser = "DeviceBrowser"
24
25
  DeviceComboBox = "DeviceComboBox"
25
26
  DeviceLineEdit = "DeviceLineEdit"
26
27
  PositionerBox = "PositionerBox"
@@ -2288,6 +2289,24 @@ class BECWaveformWidget(RPCBase):
2288
2289
  """
2289
2290
 
2290
2291
 
2292
+ class DeviceBrowser(RPCBase):
2293
+ @property
2294
+ @rpc_call
2295
+ def _config_dict(self) -> "dict":
2296
+ """
2297
+ Get the configuration of the widget.
2298
+
2299
+ Returns:
2300
+ dict: The configuration of the widget.
2301
+ """
2302
+
2303
+ @rpc_call
2304
+ def _get_all_rpc(self) -> "dict":
2305
+ """
2306
+ Get all registered RPC objects.
2307
+ """
2308
+
2309
+
2291
2310
  class DeviceComboBox(RPCBase):
2292
2311
  @property
2293
2312
  @rpc_call
File without changes
@@ -0,0 +1,107 @@
1
+ import os
2
+ import re
3
+ from typing import Optional
4
+
5
+ from bec_lib.callback_handler import EventType
6
+ from pyqtgraph import SignalProxy
7
+ from qtpy.QtCore import Signal, Slot
8
+ from qtpy.QtWidgets import QLineEdit, QListWidgetItem, QVBoxLayout, QWidget
9
+
10
+ from bec_widgets.utils.bec_widget import BECWidget
11
+ from bec_widgets.utils.ui_loader import UILoader
12
+ from bec_widgets.widgets.device_browser.device_item import DeviceItem
13
+
14
+
15
+ class DeviceBrowser(BECWidget, QWidget):
16
+ device_update: Signal = Signal()
17
+
18
+ def __init__(
19
+ self,
20
+ parent: Optional[QWidget] = None,
21
+ config=None,
22
+ client=None,
23
+ gui_id: Optional[str] = None,
24
+ ) -> None:
25
+ super().__init__(client=client, config=config, gui_id=gui_id)
26
+ QWidget.__init__(self, parent)
27
+
28
+ self.get_bec_shortcuts()
29
+ self.ui = None
30
+ self.ini_ui()
31
+
32
+ self.proxy_device_update = SignalProxy(
33
+ self.ui.filter_input.textChanged, rateLimit=500, slot=self.update_device_list
34
+ )
35
+ self.bec_dispatcher.client.callbacks.register(
36
+ EventType.DEVICE_UPDATE, self.on_device_update
37
+ )
38
+ self.device_update.connect(self.update_device_list)
39
+
40
+ self.update_device_list()
41
+
42
+ def ini_ui(self) -> None:
43
+ """
44
+ Initialize the UI by loading the UI file and setting the layout.
45
+ """
46
+ layout = QVBoxLayout()
47
+ layout.setContentsMargins(0, 0, 0, 0)
48
+
49
+ ui_file_path = os.path.join(os.path.dirname(__file__), "device_browser.ui")
50
+ self.ui = UILoader(self).loader(ui_file_path)
51
+ layout.addWidget(self.ui)
52
+ self.setLayout(layout)
53
+
54
+ def on_device_update(self, action: str, content: dict) -> None:
55
+ """
56
+ Callback for device update events. Triggers the device_update signal.
57
+
58
+ Args:
59
+ action (str): The action that triggered the event.
60
+ content (dict): The content of the config update.
61
+ """
62
+ if action in ["add", "remove", "reload"]:
63
+ self.device_update.emit()
64
+
65
+ @Slot()
66
+ def update_device_list(self) -> None:
67
+ """
68
+ Update the device list based on the filter input.
69
+ There are two ways to trigger this function:
70
+ 1. By changing the text in the filter input.
71
+ 2. By emitting the device_update signal.
72
+
73
+ Either way, the function will filter the devices based on the filter input text and update the device list.
74
+ """
75
+ filter_text = self.ui.filter_input.text()
76
+ try:
77
+ regex = re.compile(filter_text, re.IGNORECASE)
78
+ except re.error:
79
+ regex = None # Invalid regex, disable filtering
80
+
81
+ dev_list = self.ui.device_list
82
+ dev_list.clear()
83
+ for device in self.dev:
84
+ if regex is None or regex.search(device):
85
+ item = QListWidgetItem(dev_list)
86
+ device_item = DeviceItem(device)
87
+
88
+ # pylint: disable=protected-access
89
+ tooltip = self.dev[device]._config.get("description", "")
90
+ device_item.setToolTip(tooltip)
91
+ item.setSizeHint(device_item.sizeHint())
92
+ dev_list.setItemWidget(item, device_item)
93
+ dev_list.addItem(item)
94
+
95
+
96
+ if __name__ == "__main__": # pragma: no cover
97
+ import sys
98
+
99
+ from qtpy.QtWidgets import QApplication
100
+
101
+ from bec_widgets.utils.colors import apply_theme
102
+
103
+ app = QApplication(sys.argv)
104
+ apply_theme("light")
105
+ widget = DeviceBrowser()
106
+ widget.show()
107
+ sys.exit(app.exec_())
@@ -0,0 +1 @@
1
+ {'files': ['device_browser.py']}
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>406</width>
10
+ <height>500</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Form</string>
15
+ </property>
16
+ <layout class="QVBoxLayout" name="verticalLayout">
17
+ <item>
18
+ <widget class="QGroupBox" name="browser_group_box">
19
+ <property name="title">
20
+ <string>Device Browser</string>
21
+ </property>
22
+ <layout class="QVBoxLayout" name="verticalLayout_2">
23
+ <item>
24
+ <layout class="QHBoxLayout" name="filter_layout">
25
+ <item>
26
+ <widget class="QLineEdit" name="filter_input">
27
+ <property name="placeholderText">
28
+ <string>Filter</string>
29
+ </property>
30
+ </widget>
31
+ </item>
32
+ </layout>
33
+ </item>
34
+ <item>
35
+ <widget class="QListWidget" name="device_list"/>
36
+ </item>
37
+ </layout>
38
+ </widget>
39
+ </item>
40
+ </layout>
41
+ </widget>
42
+ <resources/>
43
+ <connections/>
44
+ </ui>
@@ -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.device_browser.device_browser import DeviceBrowser
8
+
9
+ DOM_XML = """
10
+ <ui language='c++'>
11
+ <widget class='DeviceBrowser' name='device_browser'>
12
+ </widget>
13
+ </ui>
14
+ """
15
+
16
+
17
+ class DeviceBrowserPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
18
+ def __init__(self):
19
+ super().__init__()
20
+ self._form_editor = None
21
+
22
+ def createWidget(self, parent):
23
+ t = DeviceBrowser(parent)
24
+ return t
25
+
26
+ def domXml(self):
27
+ return DOM_XML
28
+
29
+ def group(self):
30
+ return "BEC Services"
31
+
32
+ def icon(self):
33
+ return QIcon()
34
+
35
+ def includeFile(self):
36
+ return "device_browser"
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 "DeviceBrowser"
49
+
50
+ def toolTip(self):
51
+ return "DeviceBrowser"
52
+
53
+ def whatsThis(self):
54
+ return self.toolTip()
@@ -0,0 +1 @@
1
+ from .device_item import DeviceItem
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from qtpy.QtCore import QMimeData, Qt
6
+ from qtpy.QtGui import QDrag
7
+ from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget
8
+
9
+ if TYPE_CHECKING:
10
+ from qtpy.QtGui import QMouseEvent
11
+
12
+
13
+ class DeviceItem(QWidget):
14
+ def __init__(self, device: str) -> None:
15
+ super().__init__()
16
+ self.device = device
17
+ layout = QHBoxLayout()
18
+ layout.setContentsMargins(10, 2, 10, 2)
19
+ self.label = QLabel(device)
20
+ layout.addWidget(self.label)
21
+ self.setLayout(layout)
22
+
23
+ self.setStyleSheet(
24
+ """
25
+ border: 1px solid #ddd;
26
+ border-radius: 5px;
27
+ padding: 10px;
28
+ """
29
+ )
30
+
31
+ def mousePressEvent(self, event: QMouseEvent) -> None:
32
+ if event.button() == Qt.LeftButton:
33
+ drag = QDrag(self)
34
+ mime_data = QMimeData()
35
+ mime_data.setText(self.device)
36
+ drag.setMimeData(mime_data)
37
+ drag.exec_(Qt.MoveAction)
38
+
39
+ def mouseDoubleClickEvent(self, event: QMouseEvent) -> None:
40
+ print("Double Clicked")
41
+ # TODO: Implement double click action for opening the device properties dialog
42
+ return super().mouseDoubleClickEvent(event)
43
+
44
+
45
+ if __name__ == "__main__": # pragma: no cover
46
+ import sys
47
+
48
+ from qtpy.QtWidgets import QApplication
49
+
50
+ app = QApplication(sys.argv)
51
+ widget = DeviceItem("Device")
52
+ widget.show()
53
+ sys.exit(app.exec_())
@@ -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.device_browser.device_browser_plugin import DeviceBrowserPlugin
10
+
11
+ QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceBrowserPlugin())
12
+
13
+
14
+ if __name__ == "__main__": # pragma: no cover
15
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.94.7
3
+ Version: 0.95.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=BtKhZI3dhK09En1BfpglYi-ZJwG6ZdC-iJr7kXFVfCg,8346
3
3
  .pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=jhchcfzJ4tJmB9TztZ_Y-TqfZeNKL5OTUzpD1bbpHEs,6689
5
+ CHANGELOG.md,sha256=P1nCtnUL_FbmH_Zs0Fgdj9koB4czJbLpUghYkjZ_ia0,6774
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=M__c_RIR9v7_7Trd7jo-9px8tawl3Kmt7RFufR3ntxw,1325
7
+ PKG-INFO,sha256=RN9pJSz3DeE3sqmpUsCsmEqKPkzUaCHOZ3m0xoeD7ks,1325
8
8
  README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
9
- pyproject.toml,sha256=RplPX3vctU3wArBQBFJ_zildzghVjSgH2LTuVCFAXAc,2416
9
+ pyproject.toml,sha256=rk3vWwBi2RVRVZP9ssBKmwEnoM8PE4I0_fgUgVtrOuU,2416
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
@@ -82,7 +82,7 @@ bec_widgets/assets/toolbar_icons/transform.svg,sha256=Fgug9wCi1FONy08nssEvnoDDDB
82
82
  bec_widgets/assets/toolbar_icons/waveform.svg,sha256=darXWaIww4HEu9skFUd8Vs1NSAgUo1d37xBNr6DX-bM,231
83
83
  bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
84
84
  bec_widgets/cli/auto_updates.py,sha256=DwzRChcFIWPH2kCYvp8H7dXvyYSKGYv6LwCmK2sDR2E,5676
85
- bec_widgets/cli/client.py,sha256=HjBxjthimBvbyVrjvLZoeBN1NdezupowRYjZxqDlOX8,76261
85
+ bec_widgets/cli/client.py,sha256=sqWc80V5RZH3gJdQQnGSDY3LR3ypox8orOkDE1PuI7Q,76650
86
86
  bec_widgets/cli/client_utils.py,sha256=l35LtTkD7PdvVCckjMU8-y6f5a5pp1u6cFPpD-Dkvow,11713
87
87
  bec_widgets/cli/generate_cli.py,sha256=Ea5px9KblUlcGg-1JbJBTIU7laGg2n8PM7Efw9WVVzM,5889
88
88
  bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
@@ -154,6 +154,14 @@ bec_widgets/widgets/colormap_selector/colormap_selector.pyproject,sha256=lHl9qml
154
154
  bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py,sha256=NWTldO9XMyyOVL0No-Bmr-tvWrinmU7LkDxB5LkIQtA,1416
155
155
  bec_widgets/widgets/colormap_selector/register_colormap_selector.py,sha256=bfw7RWmTmMLTLxGT-izSwcGtxGLKvL3jdivJw2z8oN4,512
156
156
  bec_widgets/widgets/console/console.py,sha256=NG0cBuqqPX4hC-sHhk_UEkT-nHhhN9Y7karJITPLzyo,17864
157
+ bec_widgets/widgets/device_browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ bec_widgets/widgets/device_browser/device_browser.py,sha256=PRpgXuAUc6dCWXddp7m_dxUE9VA6AuSzCJ8t3TYng1w,3517
159
+ bec_widgets/widgets/device_browser/device_browser.pyproject,sha256=s0vM1xYUwyU6Je68_hSCSBLK8ZPfHB-ftt4flfdpkXY,32
160
+ bec_widgets/widgets/device_browser/device_browser.ui,sha256=Dy_3oXArScP-_7hRI6nQ7SKKnihuyYAzJfXiRxxJQBE,1077
161
+ bec_widgets/widgets/device_browser/device_browser_plugin.py,sha256=H2NBiDlEJC1SzFNmBpSnQv93QfXDToDML_ektE8rksc,1213
162
+ bec_widgets/widgets/device_browser/register_device_browser.py,sha256=LJ0ckrgUbU5yprhlrOtSQzymztKyb9zksMuFO4BKN6s,483
163
+ bec_widgets/widgets/device_browser/device_item/__init__.py,sha256=VGY-uNVCnpcY-q-gijteB2N8KxFNgYR-qQ209MVu1QI,36
164
+ bec_widgets/widgets/device_browser/device_item/device_item.py,sha256=MtiHM8JXalfNzWYwBj12u_SJidkSchbCy7iT1YZouec,1476
157
165
  bec_widgets/widgets/device_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
166
  bec_widgets/widgets/device_combobox/device_combo_box.pyproject,sha256=wI2eXR5ky_IM9-BCHJnH_9CEqYcZwIuLcgitSEr8OJU,40
159
167
  bec_widgets/widgets/device_combobox/device_combo_box_plugin.py,sha256=py1VYOpy0gTpdQ9eCut1dxMSfF0ckAwO5qT8ZDNkSts,1439
@@ -271,11 +279,11 @@ bec_widgets/widgets/website/website.py,sha256=vyRJr4jsti1h6cPHzTTtS_0IELJ3kYdS2_
271
279
  bec_widgets/widgets/website/website_widget.pyproject,sha256=scOiV3cV1_BjbzpPzy2N8rIJL5P2qIZz8ObTJ-Uvdtg,25
272
280
  bec_widgets/widgets/website/website_widget_plugin.py,sha256=hcASV-UW2TsIwspApzMbKoTVL9rqImU8ukMRn1EfXTw,1358
273
281
  docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
274
- docs/conf.py,sha256=__ETwe00VJvH5_570r-oZpLkTrHYlobMCEcknjYPyjo,2474
275
- docs/index.md,sha256=8ZCgaLIbJsYvt-jwi--QxsNwnK4-k3rejIeOOLclG40,1101
282
+ docs/conf.py,sha256=eSfoMdl2eObhbKr7eki59DrkNUh15KfcZpuBc7goMRc,2500
283
+ docs/index.md,sha256=h4edya5UA0bx21ReHu40lJudqVBH41tOASjnCjmoYj8,1197
276
284
  docs/make.bat,sha256=vKazJE8RW49Cy8K7hm8QYbletvAd8YkeKsaPA_dWnXs,800
277
- docs/requirements.txt,sha256=zPHE-aFokIGSmsRKge-iDwmIR_R_sFXNAuAjU4SEtJM,142
278
- docs/_static/custom.css,sha256=v4Nk7r8LZslhOV8RaSUb15bG4miwiZ4-kZyXBLnSyms,13487
285
+ docs/requirements.txt,sha256=gMQDaDpz_LSH5TP6dKxKXqI5kupNnT4g-4KJ4fg2o5s,161
286
+ docs/_static/custom.css,sha256=82A7X4IJNl9ln7IO9edF96JCWXbsCLtBIsh4jrXV1-w,13535
279
287
  docs/_templates/custom-class-template.rst,sha256=HPuPaGJob2zXlWOl5FmA-hAZRbUTGQmdqo3HS1iIFog,711
280
288
  docs/_templates/custom-module-template.rst,sha256=MXYXAz06HP_mbblO--iFwL08xROmSBo7U4O-hPbMcZU,1228
281
289
  docs/api_reference/api_reference.md,sha256=D2l5H4fd50uc55ShTFS0JhtDYCma01dIX69oHKN-K2w,167
@@ -286,14 +294,32 @@ docs/assets/index_contribute.svg,sha256=OCjvYBw_JhcY_D5Zd7f1MctQvq1YNalYlqPNwB1X
286
294
  docs/assets/index_getting_started.svg,sha256=Www1OXmauYlouZD51AR6-VG2vxrEig8-jjuDPhzkNxc,3977
287
295
  docs/assets/index_user_guide.svg,sha256=sRjKwOHVJStBYIQUFVcnfmbeXd2qAp0HYjleSp66XCI,6429
288
296
  docs/assets/rocket_launch_48dp.svg,sha256=pdrPrBcKWUa5OlgWKM0B6TA6qAW7E57d7C7YW2r1OT8,1070
289
- docs/developer/developer.md,sha256=LUbV1dnVI9r8FhsL2htKRqrGZDGkFXA-jo5TJfXz4OI,1099
297
+ docs/assets/widget_screenshots/buttons.png,sha256=U5pEX6-uNYyu5HS8T-64e3hrHeVKdCHwr5xlCTjJVv8,5338
298
+ docs/assets/widget_screenshots/device_box.png,sha256=F5HdgCRkXP8Li3zMxmLFKHG1QCTeU2JgZpf-ghZNpl0,25990
299
+ docs/assets/widget_screenshots/device_browser.png,sha256=_6vBqpgqF18nIH1F6OgeZnuD77mbLezsm-yVyLaza0I,18575
300
+ docs/assets/widget_screenshots/device_inputs.png,sha256=hGcJv3uHHU7_M7AUetFr26ejOsX04ZzZkgOtRTqORs0,4608
301
+ docs/assets/widget_screenshots/dock_area.png,sha256=PlUXBCf6HxZIM_86JrYiTqKoFOmEFG398di-GVvcIkg,334220
302
+ docs/assets/widget_screenshots/figure.png,sha256=oWs0nJx0mIa-_tpceg3ckOl2wabeVvHDrclrxFZnVWU,391323
303
+ docs/assets/widget_screenshots/image_widget.png,sha256=eXAcJZwXPW9zurQSwWUKjpv_N1FkWSdrG-TshARpNAs,198819
304
+ docs/assets/widget_screenshots/motor_map_widget.png,sha256=BkfBJKO2NMxrPuWlTHZ3NEnX4xGHP5yk0uZDVgAAuxE,149914
305
+ docs/assets/widget_screenshots/position_indicator.png,sha256=suanT7Sw2Lmxohd3M-KIo2qPsBPyRVawF0KiDOejXGg,2699
306
+ docs/assets/widget_screenshots/queue.png,sha256=0w1okQFCSCeJqD1ppOvYY9beDiXw9XGpZz77saaJwuk,133874
307
+ docs/assets/widget_screenshots/ring_progress_bar.png,sha256=vzYktDJ0T4PsM_kCfF0EnqClEZZiWj0htebFAUVgNvA,45471
308
+ docs/assets/widget_screenshots/scan_controller.png,sha256=58sL5cTM7DWqDC30F3CwZZE7ShSVBujPyWI2D96LHaQ,93656
309
+ docs/assets/widget_screenshots/spinner.gif,sha256=zoDOOgyahDlTqAh6JfTI35xqUtQ00YBd5nDdHXouVI0,188376
310
+ docs/assets/widget_screenshots/status_box.png,sha256=FyLeFxUyRRd5DX_vo13a-NTPdasoXNd9rzD3VhbyXRs,117520
311
+ docs/assets/widget_screenshots/text_box.png,sha256=MWShR47JL4-NdTNSp6P8DLPxh8SBtVrumna5EbN-EBQ,27124
312
+ docs/assets/widget_screenshots/toggle.png,sha256=QIP3tCxBadkm75gQMwXG0WSv_tKWi36Hs3jyQ74tDOc,5183
313
+ docs/assets/widget_screenshots/waveform_widget.png,sha256=SsmBux5jusTmzRoZabN3ThGKu5LzfhhFC645-tlhj30,171788
314
+ docs/assets/widget_screenshots/website.png,sha256=2NZmVKy2MOP6L1Y2ZNUllJr2uCjGl65qCZvYCi5SMg0,39017
315
+ docs/developer/developer.md,sha256=KLYulqlv9qhOZktrKSU8vZCxHmaJYmT66jG6igXDzQE,1147
290
316
  docs/developer/introduction/concepts.md,sha256=N23ewZjPx97eJtrU6-0Lou2IvPfkfZ6Nw6n9SwASQ74,1721
291
317
  docs/developer/introduction/contributing.md,sha256=ocW5kjBNwD5k_nDkusXUpsW8jJALajrpNSRVJftuF-k,1668
292
318
  docs/developer/introduction/introduction.md,sha256=860Sw05t1RGW13IUlM5bJwK8DckYhSABPKZykgmwcpA,774
293
319
  docs/developer/widget_development/widget_development.md,sha256=wGfDjbt9EonVxUg59keADy7wCLyS-KzCz7m4hY0OV_A,526
294
320
  docs/introduction/introduction.md,sha256=YBEFDhxqHTcbfbNTo76xDflaFUHIqDs-sToA1HRmCnI,1436
295
321
  docs/user/customisation.md,sha256=wCW8fAbqtlgGE3mURvXOrK67Xo0_B-lxfg0sYuQWB40,3186
296
- docs/user/user.md,sha256=uCTcjclIi6rdjYRQebko6bWFEVsjyfshsVU3BDYrC-Y,1403
322
+ docs/user/user.md,sha256=FuBog2_wymy-A-p6QhXYf7CYn6tR6ojwK1ZLgV-tF1E,1499
297
323
  docs/user/api_reference/api_reference.md,sha256=q2Imc48Rq6GcAP0R4bS3KuW5ptZZdsV4wxGJb3JJQHg,174
298
324
  docs/user/applications/applications.md,sha256=yOECfaYRUEDIxF-O0duOwSJlG4f93RylrpMjbw1-8Dg,100
299
325
  docs/user/getting_started/BECDockArea.png,sha256=t3vSm_rVRk371J5LOutbolETuEjStNc2aTT1YFOcSSA,2046774
@@ -303,23 +329,36 @@ docs/user/getting_started/gui_complex_gui.gif,sha256=ovv9u371BGG5GqhzyBMl4mvqMHL
303
329
  docs/user/getting_started/installation.md,sha256=VqtHasD0BAPt-K6YJQicWpyqb91RJYkZ8qpvwSLsgaY,1153
304
330
  docs/user/getting_started/quick_start.md,sha256=ABDRRB8DM8dFYdsWUfzQV0eaffRFAlcn2HIfw7yiUGs,9401
305
331
  docs/user/getting_started/video_tutorials.md,sha256=rLIlyIwVH0fsi-CaY8FebUBzF4sWP3UPirB1LvbL1go,765
306
- docs/user/widgets/BECFigure.png,sha256=8dQr4u0uk_y0VV-R1Jh9yTR3Vidd9HDEno_07R0swaE,1605920
307
- docs/user/widgets/bec_figure.md,sha256=tNT-5QP3DekY_iC9jOMULzdxmUU8wMkkX5Ru9yq0Txo,6671
308
- docs/user/widgets/bec_figure_dap.gif,sha256=8EBRKcB7828M7w429c7djTZG2AbfJ-Zsy1epPvyYoII,4058735
309
- docs/user/widgets/bec_status_box.gif,sha256=kLxf40HbS6fjdUIQ2b9SiduBEXdBd4DDWGEnQDOFMcY,1259044
310
- docs/user/widgets/bec_status_box.md,sha256=YJ7uHuaHRsvP7tkC65O7siJOzm1LRtsrvH1ikeOH9xo,1156
311
- docs/user/widgets/buttons.md,sha256=Yci21PmxlRvfKcrvY7mVI7JkECPmE6j9WyWyH3j7Y2o,1221
312
- docs/user/widgets/image_plot.gif,sha256=_mVFhMTXGqwDOcEtrBHMZj5Thn2sLhDAHEeL2XyHN-s,14098977
313
- docs/user/widgets/motor.gif,sha256=FtaWdRHx4UZaGJPpq8LNhMMgX4PFcAB6IZ93JCMEh_w,2280719
314
- docs/user/widgets/progress_bar.gif,sha256=5jh0Zw2BBGPuNxszV1DBLJCb4_6glIRX-U2ABjnsK2k,5263592
315
- docs/user/widgets/ring_progress_bar.md,sha256=9qIGZnhOe3EEAgKLUZJX3B1tMm77PQyUH7rGWLPbQ3U,2188
316
- docs/user/widgets/scan_control.gif,sha256=zrVOZgleMbu7Jd8AAIn2fQ08tNAEMSud3g0ZLyNUcjQ,1506739
317
- docs/user/widgets/scan_control.md,sha256=lsn08uw90uRajxfBqRxIYiq52xWKqRPVO6mfI6qzolI,1721
318
- docs/user/widgets/scatter_2D.gif,sha256=yHpsuAUseMafJjI_J5BcOhmE3nu9VFn_Xm9XHzJaH5I,13188862
319
- docs/user/widgets/text_box.md,sha256=_ST7RQWXl67MKLm6dTa995GjoughPUyK_hLnF8SPZcM,925
320
- docs/user/widgets/w1D.gif,sha256=tuHbleJpl6bJFNNC2OdndF5LF7IyfvlkFCMGZajrQPs,622773
321
- docs/user/widgets/website.md,sha256=wfudAupdtHX-Sfritg0xMWXZLLczJ4XwMLNWvu6ww-w,705
322
- docs/user/widgets/widgets.md,sha256=ZeRNmP7GUOu8kEoGu9XHsyF8Hb1foqZKEbwpgFP7ITk,395
332
+ docs/user/widgets/widgets.md,sha256=8JeOetzgxWaBPqZMRIowodGqjA8faAolg7vR1FyyhjE,4476
333
+ docs/user/widgets/bec_figure/BECFigure.png,sha256=8dQr4u0uk_y0VV-R1Jh9yTR3Vidd9HDEno_07R0swaE,1605920
334
+ docs/user/widgets/bec_figure/bec_figure.md,sha256=_HDsRXf45N8NDwfHt4HqI3uDMr5Tx_A6RB7yY9m1l8c,6023
335
+ docs/user/widgets/bec_status_box/bec_status_box.gif,sha256=kLxf40HbS6fjdUIQ2b9SiduBEXdBd4DDWGEnQDOFMcY,1259044
336
+ docs/user/widgets/bec_status_box/bec_status_box.md,sha256=e23y7DYg63IwFFInDozDslh9BdYvbWY3NGiwv6_Fc3Q,2056
337
+ docs/user/widgets/buttons/buttons.md,sha256=WVeRcOPCk9a28lbJ-25Eqd7U6uNL_YXYGl4WddOUwkc,1974
338
+ docs/user/widgets/device_browser/device_browser.md,sha256=kzZrS3aoWbmUUPygjGNuXJ7_qqD35WJN-HwQHx5hpmI,1102
339
+ docs/user/widgets/device_browser/device_browser.png,sha256=85clca-gpCyxTL-SOS8hmgDmjbZ5i-0ZmOVA6vBZBUA,46429
340
+ docs/user/widgets/device_input/device_input.md,sha256=5zkBeCX_I8TBM0rHi2WHgqrM0k64VoC87vhIWyo3Isc,3878
341
+ docs/user/widgets/dock_area/BECDockArea.png,sha256=t3vSm_rVRk371J5LOutbolETuEjStNc2aTT1YFOcSSA,2046774
342
+ docs/user/widgets/dock_area/bec_dock_area.md,sha256=aWVVm9dsoGa7XQQdGYU5h7oY3LV5jyanmc07Bk1aT3o,4903
343
+ docs/user/widgets/image/image_plot.gif,sha256=_mVFhMTXGqwDOcEtrBHMZj5Thn2sLhDAHEeL2XyHN-s,14098977
344
+ docs/user/widgets/image/image_widget.md,sha256=GnU-GWO651IK_Sux9WzBwDGwJVXX7qpAY6a6NuzmLpM,3986
345
+ docs/user/widgets/motor_map/motor.gif,sha256=FtaWdRHx4UZaGJPpq8LNhMMgX4PFcAB6IZ93JCMEh_w,2280719
346
+ docs/user/widgets/motor_map/motor_map.md,sha256=3QFJSM6Wo1qfWNi_Ag7D2IYhppkpth_KnmUhkdWL6uo,3522
347
+ docs/user/widgets/position_indicator/position_indicator.md,sha256=UmY3cX5W3wQeIZRFccgXfd4fTr8ee8ykHSD-n1KfA9k,3067
348
+ docs/user/widgets/positioner_box/positioner_box.md,sha256=voOU_wfwd-qBykk-60PWoOFlk_Tn7pPWiyOctYe40ew,2979
349
+ docs/user/widgets/progress_bar/progress_bar.gif,sha256=5jh0Zw2BBGPuNxszV1DBLJCb4_6glIRX-U2ABjnsK2k,5263592
350
+ docs/user/widgets/progress_bar/ring_progress_bar.md,sha256=F9q2UrwZWwNzbjs1ONfSgP1dqgb5dx8AbOoTZOJGzWA,3705
351
+ docs/user/widgets/queue/queue.md,sha256=Re37dp_YHTa9N6TTobScO_n3Fniq2_Ca2Ms3DOb0suA,2110
352
+ docs/user/widgets/scan_control/scan_control.gif,sha256=zrVOZgleMbu7Jd8AAIn2fQ08tNAEMSud3g0ZLyNUcjQ,1506739
353
+ docs/user/widgets/scan_control/scan_control.md,sha256=FZjpwbL4jFYoU0AoYiwOSMCI1ftTxJbAdhxe9pDO1gM,2559
354
+ docs/user/widgets/spinner/spinner.md,sha256=MN7LeAkNOqRZ_A6c4PGv6KsiGbjm7Q-nkGkL5CcxOeE,2465
355
+ docs/user/widgets/text_box/text_box.md,sha256=u8UoApmnH3LilWUQ73ASd6ts0FQfM6eRqg3GG9iQhOc,2508
356
+ docs/user/widgets/toggle/toggle.md,sha256=vmhqbTU93R9DUeR0a85gGIRPc07cSl3_vtsVN4r0yO0,2983
357
+ docs/user/widgets/waveform/bec_figure_dap.gif,sha256=8EBRKcB7828M7w429c7djTZG2AbfJ-Zsy1epPvyYoII,4058735
358
+ docs/user/widgets/waveform/scatter_2D.gif,sha256=yHpsuAUseMafJjI_J5BcOhmE3nu9VFn_Xm9XHzJaH5I,13188862
359
+ docs/user/widgets/waveform/w1D.gif,sha256=tuHbleJpl6bJFNNC2OdndF5LF7IyfvlkFCMGZajrQPs,622773
360
+ docs/user/widgets/waveform/waveform_widget.md,sha256=clmZzrrzqiU9bJH-n3ic4tUK0pHTOaoVX42I1m4xg6w,5430
361
+ docs/user/widgets/website/website.md,sha256=UVwBHOaBK-mnKr9NAWWXNcxJcQa2eQtOgOz89y4Z2Xk,2448
323
362
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
363
  tests/end-2-end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
325
364
  tests/end-2-end/conftest.py,sha256=-BLnFE-NeCerf6xahGCkbZ4Ktactowi6RkBnboIzRvg,1767
@@ -332,7 +371,7 @@ tests/references/SpinnerWidget/SpinnerWidget_linux.png,sha256=-Tf5x0xY0pb-8sXH6P
332
371
  tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png,sha256=wPc65MrSSKJib2aBlPI20mBE-zfamOh-SORGRD27dhQ,14773
333
372
  tests/references/SpinnerWidget/SpinnerWidget_started_linux.png,sha256=gE1L3nVuypmsW8vcnV9kX4mDgQGGXYjiEIYiRifr5DM,15265
334
373
  tests/unit_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
- tests/unit_tests/client_mocks.py,sha256=4pS4KvvFGY9hjphds9i-GoIjVWVkax4XpDnVp6Mctfw,5275
374
+ tests/unit_tests/client_mocks.py,sha256=0XNJXTFvpUmcL_-BrWqEJNUmYYc6T-E1LgUOmiz_uR8,5734
336
375
  tests/unit_tests/conftest.py,sha256=EE5RX_xR50ELJPgT2kny9rM1NCmCRO22sd_L9fvVSEk,1917
337
376
  tests/unit_tests/test_bec_connector.py,sha256=5uqBfjgMeOlGvqJlFbytxEpZ1El7_Y2q8fZHh4GvtD8,2478
338
377
  tests/unit_tests/test_bec_dispatcher.py,sha256=uHKMDc2112Q7XY5GkaeV_uGzsjHCoOa7u-MpR-Y-sJA,4078
@@ -347,6 +386,7 @@ tests/unit_tests/test_client_utils.py,sha256=CBdWIVJ_UiyFzTJnX3XJm4PGw2uXhFvRCP_
347
386
  tests/unit_tests/test_color_map_selector.py,sha256=dTsizpT7TUpX2AEWIc0v09KPOryhWepFXFI9duQ3NF8,1497
348
387
  tests/unit_tests/test_color_validation.py,sha256=xbFbtFDia36XLgaNrX2IwvAX3IDC_Odpj5BGoJSgiIE,2389
349
388
  tests/unit_tests/test_crosshair.py,sha256=3OMAJ2ZaISYXMOtkXf1rPdy94vCr8njeLi6uHblBL9Q,5045
389
+ tests/unit_tests/test_device_browser.py,sha256=LOvvUFepNcoQptX7d6oUoomfg5nyjjdCMJ2iHviF9aQ,2948
350
390
  tests/unit_tests/test_device_input_base.py,sha256=LY-3adMb2xM9pBiP6V2bAJF_65csCe2Xfaq5ArVEE1E,2859
351
391
  tests/unit_tests/test_device_input_widgets.py,sha256=Y3mc_EaeQAPxpj6DijvxLLyMPSxnaNN86KhIL4ASO3E,5821
352
392
  tests/unit_tests/test_error_utils.py,sha256=LQOxz29WCGOe0qwFkaPDixjUmdnF3qeAGxD4A3t9IKg,2108
@@ -378,8 +418,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
378
418
  tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
379
419
  tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
380
420
  tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
381
- bec_widgets-0.94.7.dist-info/METADATA,sha256=M__c_RIR9v7_7Trd7jo-9px8tawl3Kmt7RFufR3ntxw,1325
382
- bec_widgets-0.94.7.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
383
- bec_widgets-0.94.7.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
384
- bec_widgets-0.94.7.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
385
- bec_widgets-0.94.7.dist-info/RECORD,,
421
+ bec_widgets-0.95.0.dist-info/METADATA,sha256=RN9pJSz3DeE3sqmpUsCsmEqKPkzUaCHOZ3m0xoeD7ks,1325
422
+ bec_widgets-0.95.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
423
+ bec_widgets-0.95.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
424
+ bec_widgets-0.95.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
425
+ bec_widgets-0.95.0.dist-info/RECORD,,