bec-widgets 0.95.0__py3-none-any.whl → 0.96.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.
- CHANGELOG.md +26 -16
- PKG-INFO +1 -1
- bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +5 -3
- bec_widgets/widgets/bec_queue/bec_queue_plugin.py +5 -3
- bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +5 -3
- bec_widgets/widgets/color_button/color_button_plugin.py +5 -3
- bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +5 -3
- bec_widgets/widgets/device_browser/device_browser_plugin.py +5 -2
- bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +5 -3
- bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +5 -3
- bec_widgets/widgets/dock/dock_area_plugin.py +5 -3
- bec_widgets/widgets/image/bec_image_widget_plugin.py +5 -3
- bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +5 -3
- bec_widgets/widgets/position_indicator/position_indicator_plugin.py +5 -3
- bec_widgets/widgets/positioner_box/positioner_box_plugin.py +5 -3
- bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py +5 -3
- bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +5 -3
- bec_widgets/widgets/scan_control/scan_control.py +77 -16
- bec_widgets/widgets/scan_control/scan_control_plugin.py +5 -3
- bec_widgets/widgets/spinner/spinner_widget_plugin.py +5 -3
- bec_widgets/widgets/stop_button/stop_button_plugin.py +5 -3
- bec_widgets/widgets/text_box/text_box_plugin.py +5 -3
- bec_widgets/widgets/toggle/toggle_switch_plugin.py +5 -3
- bec_widgets/widgets/vscode/vs_code_editor_plugin.py +5 -3
- bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +5 -3
- bec_widgets/widgets/website/website_widget_plugin.py +5 -3
- {bec_widgets-0.95.0.dist-info → bec_widgets-0.96.0.dist-info}/METADATA +1 -1
- {bec_widgets-0.95.0.dist-info → bec_widgets-0.96.0.dist-info}/RECORD +36 -55
- docs/developer/introduction/introduction.md +1 -0
- docs/developer/introduction/useful_links.md +23 -0
- docs/user/widgets/scan_control/hide_scan_control.png +0 -0
- docs/user/widgets/scan_control/scan_control.md +10 -2
- pyproject.toml +1 -1
- bec_widgets/assets/designer_icons/code.png +0 -0
- bec_widgets/assets/designer_icons/color_button.png +0 -0
- bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
- bec_widgets/assets/designer_icons/device_combo_box.png +0 -0
- bec_widgets/assets/designer_icons/device_line_edit.png +0 -0
- bec_widgets/assets/designer_icons/dock_area.png +0 -0
- bec_widgets/assets/designer_icons/games.png +0 -0
- bec_widgets/assets/designer_icons/image.png +0 -0
- bec_widgets/assets/designer_icons/motor_map.png +0 -0
- bec_widgets/assets/designer_icons/position_indicator.png +0 -0
- bec_widgets/assets/designer_icons/positioner_box.png +0 -0
- bec_widgets/assets/designer_icons/queue.png +0 -0
- bec_widgets/assets/designer_icons/ring_progress.png +0 -0
- bec_widgets/assets/designer_icons/scan_control.png +0 -0
- bec_widgets/assets/designer_icons/spinner.png +0 -0
- bec_widgets/assets/designer_icons/status.png +0 -0
- bec_widgets/assets/designer_icons/stop.png +0 -0
- bec_widgets/assets/designer_icons/text.png +0 -0
- bec_widgets/assets/designer_icons/toggle.png +0 -0
- bec_widgets/assets/designer_icons/waveform.png +0 -0
- bec_widgets/assets/designer_icons/web.png +0 -0
- {bec_widgets-0.95.0.dist-info → bec_widgets-0.96.0.dist-info}/WHEEL +0 -0
- {bec_widgets-0.95.0.dist-info → bec_widgets-0.96.0.dist-info}/entry_points.txt +0 -0
- {bec_widgets-0.95.0.dist-info → bec_widgets-0.96.0.dist-info}/licenses/LICENSE +0 -0
CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.96.0 (2024-08-22)
|
4
|
+
|
5
|
+
### Documentation
|
6
|
+
|
7
|
+
* docs(scan_control): added designer options ([`9d7718c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9d7718c3d9badf14150174410b9958a3134a1e23))
|
8
|
+
|
9
|
+
### Feature
|
10
|
+
|
11
|
+
* feat(scan_control): added the ability to configure the scan control widget from designer ([`9d8fb0b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9d8fb0b761efa92972399bcd9aea28e956074380))
|
12
|
+
|
13
|
+
## v0.95.1 (2024-08-22)
|
14
|
+
|
15
|
+
### Documentation
|
16
|
+
|
17
|
+
* docs: links section added ([`2bf5c70`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2bf5c7096e7d822713e1b50bde89f072e6356e17))
|
18
|
+
|
19
|
+
### Fix
|
20
|
+
|
21
|
+
* fix(docs): changed link to scan gui config in main docs ([`640464a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/640464a6543b2111bdb58d0174f2ce86c5836cbe))
|
22
|
+
|
23
|
+
### Refactor
|
24
|
+
|
25
|
+
* refactor: removed designer pngs ([`84abe46`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/84abe460502d838aac41bb8ff63d93c9fcec9214))
|
26
|
+
|
27
|
+
* refactor: moved to dynamically loaded material design icons ([`1d2afaa`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1d2afaa09e64b7f714d72796e87e2cb49b2a75a7))
|
28
|
+
|
3
29
|
## v0.95.0 (2024-08-21)
|
4
30
|
|
5
31
|
### Documentation
|
@@ -132,22 +158,6 @@ Terminating client connections has to be done at the application level ([`198c1d
|
|
132
158
|
|
133
159
|
* fix(dock): properly shut down docks and temp areas ([`99ee545`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/99ee545e41c6078654958b668b5b329f85553d16))
|
134
160
|
|
135
|
-
* fix(settings): shut down settings dialog ([`b50b3a2`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b50b3a27e68956e10e8169a0aa698c911d2d9642))
|
136
|
-
|
137
|
-
* fix(website): fixed teardown of website widgets ([`a3d4f5a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a3d4f5ac4bc52acfed2791a1724fade6972ed320))
|
138
|
-
|
139
|
-
* fix(dock): properly shut down docks and dock areas ([`bc26497`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/bc264975b1363c9dfea516621d7878c320677d15))
|
140
|
-
|
141
|
-
* fix(figure): cleanup pyqtgraph ([`ad07bbf`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ad07bbf85e9c8d9838bdd686f69d41c235b7db19))
|
142
|
-
|
143
161
|
### Test
|
144
162
|
|
145
163
|
* test: removed quit from teardown ([`cf94599`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/cf94599c2544d6831c8afbe7b340082077557ed1))
|
146
|
-
|
147
|
-
* test: removed explicit call to close the widget ([`bf6294e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/bf6294ecbfd494565d2dc215e4d7e0c280ac7745))
|
148
|
-
|
149
|
-
* test: use factory instead of fixture to properly cleanup widgets on teardown ([`9856857`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9856857f4cc7fa229c10d00fbae4452464a207cb))
|
150
|
-
|
151
|
-
* test: ensure all toplevelwidgets are closed ([`f9e5897`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f9e58979009cf632feea529700ad191401dd7eb8))
|
152
|
-
|
153
|
-
## v0.93.2 (2024-08-07)
|
PKG-INFO
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.examples.plugin_example_pyside.tictactoe import TicTacToe
|
@@ -46,8 +47,9 @@ class TicTacToePlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
46
47
|
return "Games"
|
47
48
|
|
48
49
|
def icon(self):
|
49
|
-
|
50
|
-
|
50
|
+
palette = QGuiApplication.palette()
|
51
|
+
pixmap = material_icon("sports_esports", color=palette.text().color(), filled=True)
|
52
|
+
return QIcon(pixmap)
|
51
53
|
|
52
54
|
def includeFile(self):
|
53
55
|
return "tictactoe"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.bec_queue.bec_queue import BECQueue
|
@@ -34,8 +35,9 @@ class BECQueuePlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Services"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("edit_note", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "bec_queue"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.bec_status_box.bec_status_box import BECStatusBox
|
@@ -34,8 +35,9 @@ class BECStatusBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Services"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("dns", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "bec_status_box"
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import os
|
2
2
|
|
3
|
+
from bec_qthemes import material_icon
|
3
4
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
4
|
-
from qtpy.QtGui import QIcon
|
5
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
5
6
|
|
6
7
|
import bec_widgets
|
7
8
|
from bec_widgets.widgets.color_button.color_button import ColorButton
|
@@ -31,8 +32,9 @@ class ColorButtonPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
31
32
|
return "BEC Buttons"
|
32
33
|
|
33
34
|
def icon(self):
|
34
|
-
|
35
|
-
|
35
|
+
palette = QGuiApplication.palette()
|
36
|
+
pixmap = material_icon("colors", color=palette.text().color(), filled=True)
|
37
|
+
return QIcon(pixmap)
|
36
38
|
|
37
39
|
def includeFile(self):
|
38
40
|
return "color_button"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.colormap_selector.colormap_selector import ColormapSelector
|
@@ -34,8 +35,9 @@ class ColormapSelectorPlugin(QDesignerCustomWidgetInterface): # pragma: no cove
|
|
34
35
|
return "BEC Buttons"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("palette", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "colormap_selector"
|
@@ -1,8 +1,9 @@
|
|
1
1
|
# Copyright (C) 2022 The Qt Company Ltd.
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
|
4
|
+
from bec_qthemes import material_icon
|
4
5
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
5
|
-
from qtpy.QtGui import QIcon
|
6
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
6
7
|
|
7
8
|
from bec_widgets.widgets.device_browser.device_browser import DeviceBrowser
|
8
9
|
|
@@ -30,7 +31,9 @@ class DeviceBrowserPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
30
31
|
return "BEC Services"
|
31
32
|
|
32
33
|
def icon(self):
|
33
|
-
|
34
|
+
palette = QGuiApplication.palette()
|
35
|
+
pixmap = material_icon("lists", color=palette.text().color(), filled=True)
|
36
|
+
return QIcon(pixmap)
|
34
37
|
|
35
38
|
def includeFile(self):
|
36
39
|
return "device_browser"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
|
@@ -34,8 +35,9 @@ class DeviceComboBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "Device Control"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("list_alt", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "device_combobox"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
|
@@ -34,8 +35,9 @@ class DeviceLineEditPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "Device Control"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("edit_note", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "device_line_edit"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.dock import BECDockArea
|
@@ -34,8 +35,9 @@ class BECDockAreaPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Plots"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("widgets", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "dock_area"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.image.image_widget import BECImageWidget
|
@@ -34,8 +35,9 @@ class BECImageWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Plots"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("image", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "bec_image_widget"
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import os
|
2
2
|
|
3
|
+
from bec_qthemes import material_icon
|
3
4
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
4
|
-
from qtpy.QtGui import QIcon
|
5
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
5
6
|
|
6
7
|
import bec_widgets
|
7
8
|
from bec_widgets.widgets.motor_map.motor_map_widget import BECMotorMapWidget
|
@@ -32,8 +33,9 @@ class BECMotorMapWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cov
|
|
32
33
|
return "BEC Plots"
|
33
34
|
|
34
35
|
def icon(self):
|
35
|
-
|
36
|
-
|
36
|
+
palette = QGuiApplication.palette()
|
37
|
+
pixmap = material_icon("my_location", color=palette.text().color(), filled=True)
|
38
|
+
return QIcon(pixmap)
|
37
39
|
|
38
40
|
def includeFile(self):
|
39
41
|
return "bec_motor_map_widget"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.position_indicator.position_indicator import PositionIndicator
|
@@ -34,8 +35,9 @@ class PositionIndicatorPlugin(QDesignerCustomWidgetInterface): # pragma: no cov
|
|
34
35
|
return "BEC Utils"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("horizontal_distribute", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "position_indicator"
|
@@ -3,8 +3,9 @@
|
|
3
3
|
|
4
4
|
import os
|
5
5
|
|
6
|
+
from bec_qthemes import material_icon
|
6
7
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
7
|
-
from qtpy.QtGui import QIcon
|
8
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
8
9
|
|
9
10
|
from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
|
10
11
|
|
@@ -33,8 +34,9 @@ class PositionerBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
33
34
|
return "Device Control"
|
34
35
|
|
35
36
|
def icon(self):
|
36
|
-
|
37
|
-
|
37
|
+
palette = QGuiApplication.palette()
|
38
|
+
pixmap = material_icon("switch_right", color=palette.text().color(), filled=True)
|
39
|
+
return QIcon(pixmap)
|
38
40
|
|
39
41
|
def includeFile(self):
|
40
42
|
return "positioner_box"
|
@@ -3,8 +3,9 @@
|
|
3
3
|
|
4
4
|
import os
|
5
5
|
|
6
|
+
from bec_qthemes import material_icon
|
6
7
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
7
|
-
from qtpy.QtGui import QIcon
|
8
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
8
9
|
|
9
10
|
from bec_widgets.widgets.positioner_box.positioner_control_line import PositionerControlLine
|
10
11
|
|
@@ -33,8 +34,9 @@ class PositionerControlLinePlugin(QDesignerCustomWidgetInterface): # pragma: no
|
|
33
34
|
return "Device Control"
|
34
35
|
|
35
36
|
def icon(self):
|
36
|
-
|
37
|
-
|
37
|
+
palette = QGuiApplication.palette()
|
38
|
+
pixmap = material_icon("switch_left", color=palette.text().color(), filled=True)
|
39
|
+
return QIcon(pixmap)
|
38
40
|
|
39
41
|
def includeFile(self):
|
40
42
|
return "positioner_control_line"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.ring_progress_bar.ring_progress_bar import RingProgressBar
|
@@ -33,8 +34,9 @@ class RingProgressBarPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
33
34
|
return "BEC Utils"
|
34
35
|
|
35
36
|
def icon(self):
|
36
|
-
|
37
|
-
|
37
|
+
palette = QGuiApplication.palette()
|
38
|
+
pixmap = material_icon("track_changes", color=palette.text().color(), filled=True)
|
39
|
+
return QIcon(pixmap)
|
38
40
|
|
39
41
|
def includeFile(self):
|
40
42
|
return "ring_progress_bar"
|
@@ -1,9 +1,11 @@
|
|
1
1
|
from bec_lib.endpoints import MessageEndpoints
|
2
|
+
from qtpy.QtCore import Property, Signal, Slot
|
2
3
|
from qtpy.QtWidgets import (
|
3
4
|
QApplication,
|
4
5
|
QComboBox,
|
5
6
|
QGridLayout,
|
6
7
|
QGroupBox,
|
8
|
+
QHBoxLayout,
|
7
9
|
QPushButton,
|
8
10
|
QSizePolicy,
|
9
11
|
QVBoxLayout,
|
@@ -18,6 +20,9 @@ from bec_widgets.widgets.stop_button.stop_button import StopButton
|
|
18
20
|
|
19
21
|
class ScanControl(BECWidget, QWidget):
|
20
22
|
|
23
|
+
scan_started = Signal()
|
24
|
+
scan_selected = Signal(str)
|
25
|
+
|
21
26
|
def __init__(
|
22
27
|
self, parent=None, client=None, gui_id: str | None = None, allowed_scans: list | None = None
|
23
28
|
):
|
@@ -50,11 +55,26 @@ class ScanControl(BECWidget, QWidget):
|
|
50
55
|
self.layout.addWidget(self.scan_selection_group)
|
51
56
|
|
52
57
|
# Connect signals
|
53
|
-
self.comboBox_scan_selection.currentIndexChanged.connect(self.
|
58
|
+
self.comboBox_scan_selection.currentIndexChanged.connect(self.on_scan_selection_changed)
|
54
59
|
self.button_run_scan.clicked.connect(self.run_scan)
|
60
|
+
|
61
|
+
# Add bundle button
|
62
|
+
self.button_add_bundle = QPushButton("Add Bundle")
|
63
|
+
self.button_add_bundle.setVisible(False)
|
64
|
+
# Remove bundle button
|
65
|
+
self.button_remove_bundle = QPushButton("Remove Bundle")
|
66
|
+
self.button_remove_bundle.setVisible(False)
|
67
|
+
|
68
|
+
bundle_layout = QHBoxLayout()
|
69
|
+
bundle_layout.addWidget(self.button_add_bundle)
|
70
|
+
bundle_layout.addWidget(self.button_remove_bundle)
|
71
|
+
self.layout.addLayout(bundle_layout)
|
72
|
+
|
55
73
|
self.button_add_bundle.clicked.connect(self.add_arg_bundle)
|
56
74
|
self.button_remove_bundle.clicked.connect(self.remove_arg_bundle)
|
57
75
|
|
76
|
+
self.scan_selected.connect(self.scan_select)
|
77
|
+
|
58
78
|
# Initialize scan selection
|
59
79
|
self.populate_scans()
|
60
80
|
|
@@ -69,21 +89,16 @@ class ScanControl(BECWidget, QWidget):
|
|
69
89
|
scan_selection_group = QGroupBox("Scan Selection", self)
|
70
90
|
self.scan_selection_layout = QGridLayout(scan_selection_group)
|
71
91
|
self.comboBox_scan_selection = QComboBox(scan_selection_group)
|
92
|
+
|
72
93
|
# Run button
|
73
94
|
self.button_run_scan = QPushButton("Start", scan_selection_group)
|
74
95
|
self.button_run_scan.setStyleSheet("background-color: #559900; color: white")
|
75
96
|
# Stop button
|
76
97
|
self.button_stop_scan = StopButton(parent=scan_selection_group)
|
77
|
-
# Add bundle button
|
78
|
-
self.button_add_bundle = QPushButton("Add Bundle", scan_selection_group)
|
79
|
-
# Remove bundle button
|
80
|
-
self.button_remove_bundle = QPushButton("Remove Bundle", scan_selection_group)
|
81
98
|
|
82
99
|
self.scan_selection_layout.addWidget(self.comboBox_scan_selection, 0, 0, 1, 2)
|
83
100
|
self.scan_selection_layout.addWidget(self.button_run_scan, 1, 0)
|
84
101
|
self.scan_selection_layout.addWidget(self.button_stop_scan, 1, 1)
|
85
|
-
self.scan_selection_layout.addWidget(self.button_add_bundle, 2, 0)
|
86
|
-
self.scan_selection_layout.addWidget(self.button_remove_bundle, 2, 1)
|
87
102
|
|
88
103
|
return scan_selection_group
|
89
104
|
|
@@ -104,23 +119,65 @@ class ScanControl(BECWidget, QWidget):
|
|
104
119
|
allowed_scans = self.allowed_scans
|
105
120
|
self.comboBox_scan_selection.addItems(allowed_scans)
|
106
121
|
|
107
|
-
def
|
122
|
+
def on_scan_selection_changed(self, index: int):
|
108
123
|
"""Callback for scan selection combo box"""
|
109
|
-
self.reset_layout()
|
110
124
|
selected_scan_name = self.comboBox_scan_selection.currentText()
|
111
|
-
|
125
|
+
self.scan_selected.emit(selected_scan_name)
|
126
|
+
|
127
|
+
@Property(bool)
|
128
|
+
def hide_scan_control_buttons(self):
|
129
|
+
return not self.button_run_scan.isVisible()
|
130
|
+
|
131
|
+
@hide_scan_control_buttons.setter
|
132
|
+
def hide_scan_control_buttons(self, hide: bool):
|
133
|
+
self.show_scan_control_buttons(not hide)
|
134
|
+
|
135
|
+
@Slot(bool)
|
136
|
+
def show_scan_control_buttons(self, show: bool):
|
137
|
+
"""Shows or hides the scan control buttons."""
|
138
|
+
self.button_run_scan.setVisible(show)
|
139
|
+
self.button_stop_scan.setVisible(show)
|
140
|
+
|
141
|
+
show_group = show or self.button_run_scan.isVisible()
|
142
|
+
self.scan_selection_group.setVisible(show_group)
|
143
|
+
|
144
|
+
@Property(bool)
|
145
|
+
def hide_scan_selection_combobox(self):
|
146
|
+
return not self.comboBox_scan_selection.isVisible()
|
147
|
+
|
148
|
+
@hide_scan_selection_combobox.setter
|
149
|
+
def hide_scan_selection_combobox(self, hide: bool):
|
150
|
+
self.show_scan_selection_combobox(not hide)
|
151
|
+
|
152
|
+
@Slot(bool)
|
153
|
+
def show_scan_selection_combobox(self, show: bool):
|
154
|
+
"""Shows or hides the scan selection combobox."""
|
155
|
+
self.comboBox_scan_selection.setVisible(show)
|
156
|
+
|
157
|
+
show_group = show or self.button_run_scan.isVisible()
|
158
|
+
self.scan_selection_group.setVisible(show_group)
|
159
|
+
|
160
|
+
@Slot(str)
|
161
|
+
def scan_select(self, scan_name: str):
|
162
|
+
"""
|
163
|
+
Slot for scan selection. Updates the scan control layout based on the selected scan.
|
164
|
+
|
165
|
+
Args:
|
166
|
+
scan_name(str): Name of the selected scan.
|
167
|
+
"""
|
168
|
+
self.reset_layout()
|
169
|
+
selected_scan_info = self.available_scans.get(scan_name, {})
|
112
170
|
|
113
171
|
gui_config = selected_scan_info.get("gui_config", {})
|
114
172
|
self.arg_group = gui_config.get("arg_group", None)
|
115
173
|
self.kwarg_groups = gui_config.get("kwarg_groups", None)
|
116
174
|
|
117
|
-
|
118
|
-
|
119
|
-
|
175
|
+
show_bundle_buttons = bool(self.arg_group["arg_inputs"])
|
176
|
+
|
177
|
+
self.button_add_bundle.setVisible(show_bundle_buttons)
|
178
|
+
self.button_remove_bundle.setVisible(show_bundle_buttons)
|
120
179
|
|
121
|
-
if
|
122
|
-
self.button_add_bundle.setEnabled(True)
|
123
|
-
self.button_remove_bundle.setEnabled(True)
|
180
|
+
if show_bundle_buttons:
|
124
181
|
self.add_arg_group(self.arg_group)
|
125
182
|
if len(self.kwarg_groups) > 0:
|
126
183
|
self.add_kwargs_boxes(self.kwarg_groups)
|
@@ -151,9 +208,11 @@ class ScanControl(BECWidget, QWidget):
|
|
151
208
|
self.arg_box.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
|
152
209
|
self.layout.addWidget(self.arg_box)
|
153
210
|
|
211
|
+
@Slot()
|
154
212
|
def add_arg_bundle(self):
|
155
213
|
self.arg_box.add_widget_bundle()
|
156
214
|
|
215
|
+
@Slot()
|
157
216
|
def remove_arg_bundle(self):
|
158
217
|
self.arg_box.remove_widget_bundle()
|
159
218
|
|
@@ -172,7 +231,9 @@ class ScanControl(BECWidget, QWidget):
|
|
172
231
|
box.deleteLater()
|
173
232
|
self.kwarg_boxes = []
|
174
233
|
|
234
|
+
@Slot()
|
175
235
|
def run_scan(self):
|
236
|
+
self.scan_started.emit()
|
176
237
|
args = []
|
177
238
|
kwargs = {}
|
178
239
|
if self.arg_box is not None:
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.scan_control.scan_control import ScanControl
|
@@ -33,8 +34,9 @@ class ScanControlPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
33
34
|
return "Device Control"
|
34
35
|
|
35
36
|
def icon(self):
|
36
|
-
|
37
|
-
|
37
|
+
palette = QGuiApplication.palette()
|
38
|
+
pixmap = material_icon("stacked_line_chart", color=palette.text().color(), filled=True)
|
39
|
+
return QIcon(pixmap)
|
38
40
|
|
39
41
|
def includeFile(self):
|
40
42
|
return "scan_control"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.spinner.spinner import SpinnerWidget
|
@@ -34,8 +35,9 @@ class SpinnerWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Utils"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("progress_activity", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "spinner_widget"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.stop_button.stop_button import StopButton
|
@@ -34,8 +35,9 @@ class StopButtonPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Utils"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("dangerous", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "stop_button"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.text_box.text_box import TextBox
|
@@ -33,8 +34,9 @@ class TextBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
33
34
|
return "BEC Utils"
|
34
35
|
|
35
36
|
def icon(self):
|
36
|
-
|
37
|
-
|
37
|
+
palette = QGuiApplication.palette()
|
38
|
+
pixmap = material_icon("chat", color=palette.text().color(), filled=True)
|
39
|
+
return QIcon(pixmap)
|
38
40
|
|
39
41
|
def includeFile(self):
|
40
42
|
return "text_box"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.toggle.toggle import ToggleSwitch
|
@@ -34,8 +35,9 @@ class ToggleSwitchPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Utils"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("toggle_on", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "toggle_switch"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.vscode.vscode import VSCodeEditor
|
@@ -34,8 +35,9 @@ class VSCodeEditorPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
34
35
|
return "BEC Developer"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("developer_mode_tv", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "vs_code_editor"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.waveform.waveform_widget import BECWaveformWidget
|
@@ -34,8 +35,9 @@ class BECWaveformWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cov
|
|
34
35
|
return "BEC Plots"
|
35
36
|
|
36
37
|
def icon(self):
|
37
|
-
|
38
|
-
|
38
|
+
palette = QGuiApplication.palette()
|
39
|
+
pixmap = material_icon("show_chart", color=palette.text().color(), filled=True)
|
40
|
+
return QIcon(pixmap)
|
39
41
|
|
40
42
|
def includeFile(self):
|
41
43
|
return "bec_waveform_widget"
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
3
|
import os
|
4
4
|
|
5
|
+
from bec_qthemes import material_icon
|
5
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
6
|
-
from qtpy.QtGui import QIcon
|
7
|
+
from qtpy.QtGui import QGuiApplication, QIcon
|
7
8
|
|
8
9
|
import bec_widgets
|
9
10
|
from bec_widgets.widgets.website.website import WebsiteWidget
|
@@ -33,8 +34,9 @@ class WebsiteWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
|
33
34
|
return "BEC Utils"
|
34
35
|
|
35
36
|
def icon(self):
|
36
|
-
|
37
|
-
|
37
|
+
palette = QGuiApplication.palette()
|
38
|
+
pixmap = material_icon("travel_explore", color=palette.text().color(), filled=True)
|
39
|
+
return QIcon(pixmap)
|
38
40
|
|
39
41
|
def includeFile(self):
|
40
42
|
return "website_widget"
|
@@ -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=
|
5
|
+
CHANGELOG.md,sha256=cn9vMVxfaE1aginGiTCdUyQqJGCeFJ8LjFsmXsuI8Gg,6733
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=wPwVfj4xSkopVoH2p_P6HnIWGsIpRruwbtMoyn-TEW0,1325
|
8
8
|
README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=K2NOh1jWSsA8Lu9cm-ed-LPb1LoORhaFvSNJcmFGcy4,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
|
@@ -16,27 +16,6 @@ bec_widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
bec_widgets/assets/app_icons/BEC-Dark.png,sha256=TUebkoQX26eY7CIbXXVzyen5rph0loTQot7FfqWzsQs,1683654
|
17
17
|
bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
|
18
18
|
bec_widgets/assets/app_icons/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
|
19
|
-
bec_widgets/assets/designer_icons/code.png,sha256=o_d4UbojdvmdPY6exO3Eu0aQlS3UbvMuwrTlptvRMQE,4420
|
20
|
-
bec_widgets/assets/designer_icons/color_button.png,sha256=1cg0jmTbWQbfmmEb09ABoX03tovIt6loLyO90oOVe8k,4810
|
21
|
-
bec_widgets/assets/designer_icons/colormap_selector.png,sha256=KULLUA5T9SLhcSyrdouG07nXHZtE-LNNOn0ghG7T-OQ,6831
|
22
|
-
bec_widgets/assets/designer_icons/device_combo_box.png,sha256=ubt4ltSC8gIkrTnzaZ58JhiIinFhmKBstYIMrcH5Ua4,3555
|
23
|
-
bec_widgets/assets/designer_icons/device_line_edit.png,sha256=68sb_4_z7SvdTXsw21g6dIuWKX70l08LB8pW79d8cg8,3316
|
24
|
-
bec_widgets/assets/designer_icons/dock_area.png,sha256=I5U1ivkYRtcxSF2wQQa-SMHxHYDm06Nhd0AvGip9gCk,2774
|
25
|
-
bec_widgets/assets/designer_icons/games.png,sha256=83th_P_GG6d_xd7X55rqy8yf8ygeVv_Nrh-R8qDi8Cg,4571
|
26
|
-
bec_widgets/assets/designer_icons/image.png,sha256=0Kppbe2BBcsXzSHjqHxjrRgBE6DUT-ZF7xNPMMI2bxA,3984
|
27
|
-
bec_widgets/assets/designer_icons/motor_map.png,sha256=8iqST5mTnZfv9rN9rx3D-XBm232Mwvzz9D0Wx6QaT8I,7293
|
28
|
-
bec_widgets/assets/designer_icons/position_indicator.png,sha256=9moeldNTfRWdf7aFvBS1GCewYtKC5o3hgx8BDgxALb0,2030
|
29
|
-
bec_widgets/assets/designer_icons/positioner_box.png,sha256=CtEDj_GTTi_WOmKipuMjbKsejIBVEFiAxy7QsKHke5A,3676
|
30
|
-
bec_widgets/assets/designer_icons/queue.png,sha256=NdlrmWwon7K2zWbqg32WkHx1RBKznQDN5H-UfRVqDRA,1827
|
31
|
-
bec_widgets/assets/designer_icons/ring_progress.png,sha256=klAmhZJOpFZOkI1fP1nk47Ug6uHXc1s_0y_vwmFMhjU,10358
|
32
|
-
bec_widgets/assets/designer_icons/scan_control.png,sha256=WxdbBMCnGh1e_qsgPxccSDcR0hhUzUBiHtAjortzWh0,4392
|
33
|
-
bec_widgets/assets/designer_icons/spinner.png,sha256=FEpnnvaaJDaULZCJlDRH4-nWjmpRxqwcGwSw2xvYoTc,6147
|
34
|
-
bec_widgets/assets/designer_icons/status.png,sha256=NAylyfriC9eowNkuce-0S0WrDap_1J2XSbbEV2KvnQg,2838
|
35
|
-
bec_widgets/assets/designer_icons/stop.png,sha256=wPK4P7X3fiMr8_xbp8o5MQrq3UT2Ivj3dxFLvbHGi1M,4209
|
36
|
-
bec_widgets/assets/designer_icons/text.png,sha256=S6nQtgZX4GuGcPQgkntbYi8iH8VPLkb1UwJwq865UVc,3318
|
37
|
-
bec_widgets/assets/designer_icons/toggle.png,sha256=PGkL6RM-3gNNCakJIQo4INoSwD44sTuihWF6G7Z8_ZM,4730
|
38
|
-
bec_widgets/assets/designer_icons/waveform.png,sha256=QKocOi6e1frT6anrTwIQqQEwkalbl2AoOrTpvN1dr90,3764
|
39
|
-
bec_widgets/assets/designer_icons/web.png,sha256=qxhJvAf77T3HtbK5fIV-710MD9cA7OM7jXg6OVRkPf4,8729
|
40
19
|
bec_widgets/assets/status_icons/error.svg,sha256=U_-8qDHAeCH8Z9sUXoU5zSPf0RyVx-CAWK6h2gH99C4,718
|
41
20
|
bec_widgets/assets/status_icons/not_connected.svg,sha256=wuNdFzNHuZrd_pguRi-mUw3l6uRSkb37yGFJ6kKyMQo,721
|
42
21
|
bec_widgets/assets/status_icons/refresh.svg,sha256=Em_236ARgCdkSof-HU5EYGwv2hXPhOH0NYj2mKaIrwI,559
|
@@ -100,7 +79,7 @@ bec_widgets/examples/plugin_example_pyside/main.py,sha256=zDP5wO7wb3BVsQ15HOCRT1
|
|
100
79
|
bec_widgets/examples/plugin_example_pyside/registertictactoe.py,sha256=cVhBnP0qx5j9Jft-VeKvlTFE-bX58hbP45CX0f4r5pM,535
|
101
80
|
bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject,sha256=O_PSMFJlXxQuf55gIOfkpfZIZGpX8W1SfUVZ-mvtI_E,119
|
102
81
|
bec_widgets/examples/plugin_example_pyside/tictactoe.py,sha256=byR7mTiIXFaA9igPTH04pzm0yfikNB5KgISwvNiRPd8,4940
|
103
|
-
bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py,sha256=
|
82
|
+
bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py,sha256=daEn01EIpYrv0tfR7wgOHaZNfhx_ExNQf9ToCMbvVdQ,2105
|
104
83
|
bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=V6OVnBTS-60zjQ2FAs88Ldjm1MfoMROfiQZZu6Guav8,2379
|
105
84
|
bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
106
85
|
bec_widgets/qt_utils/error_popups.py,sha256=y9gKKWaafp468ioHr96nBhf02ZpEgjDc-BAVOTWh-e8,7680
|
@@ -135,48 +114,48 @@ bec_widgets/widgets/base_classes/device_input_base.py,sha256=thCOHOa9Z0b3-vlNFWK
|
|
135
114
|
bec_widgets/widgets/bec_queue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
136
115
|
bec_widgets/widgets/bec_queue/bec_queue.py,sha256=bU3HvghPuh7smTuKMp5WlJ0g3rW0UHIV05WekNHU8Q8,3846
|
137
116
|
bec_widgets/widgets/bec_queue/bec_queue.pyproject,sha256=VhoNmAv1DQUl9dg7dELyf5i4pZ5k65N3GnqOYiSwbQo,27
|
138
|
-
bec_widgets/widgets/bec_queue/bec_queue_plugin.py,sha256=
|
117
|
+
bec_widgets/widgets/bec_queue/bec_queue_plugin.py,sha256=wuUeTXorzsrVi9ifCSjVkEMX9qQ_q6PydHBkTkgeoEA,1461
|
139
118
|
bec_widgets/widgets/bec_queue/register_bec_queue.py,sha256=XnwtUSa1asK1b80knKWodcyX9qJy4DnKsQL_FoDfZy4,463
|
140
119
|
bec_widgets/widgets/bec_status_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
120
|
bec_widgets/widgets/bec_status_box/bec_status_box.py,sha256=hlo-U9rf1jzSCXpCjx3tthNYT8KImxKSRri5gsCULvw,13108
|
142
121
|
bec_widgets/widgets/bec_status_box/bec_status_box.pyproject,sha256=JWtx3Csfn2h7ODtk10HtyBNLf6tFIqyU6g04rMWOO1U,32
|
143
|
-
bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py,sha256=
|
122
|
+
bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py,sha256=hX6UjJcetD-XMQLMLScwItEezqpyGyK6CjgEEWiTMaQ,1522
|
144
123
|
bec_widgets/widgets/bec_status_box/register_bec_status_box.py,sha256=EiQITnkNw7IU7hE776wAeXro97eZd9XlsB9essgCebE,481
|
145
124
|
bec_widgets/widgets/bec_status_box/status_item.py,sha256=3aNaa-e64PmkBoAWfItYAmhB1EFhWRiFLzXWWz0dS_8,5317
|
146
125
|
bec_widgets/widgets/color_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
147
126
|
bec_widgets/widgets/color_button/color_button.py,sha256=Jx4UAn7ZomLei0OCg7RmTnq395scXW4jmqslQRbEVMI,1203
|
148
127
|
bec_widgets/widgets/color_button/color_button.pyproject,sha256=LUYF4VkDOB4ttVe7YfvLh64K-XZg0-xaVT06BqCT3UA,30
|
149
|
-
bec_widgets/widgets/color_button/color_button_plugin.py,sha256=
|
128
|
+
bec_widgets/widgets/color_button/color_button_plugin.py,sha256=8ilyeKIbgUHKCUE4qf2IyMY65a6dDlL3MxHzCgz17I4,1381
|
150
129
|
bec_widgets/widgets/color_button/register_color_button.py,sha256=ZAx3t7G2VI2S-1qcEof31Xi9O0X8deLeZNgS651L1JI,475
|
151
130
|
bec_widgets/widgets/colormap_selector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
152
131
|
bec_widgets/widgets/colormap_selector/colormap_selector.py,sha256=4BqV11XMZVmcwzHiKgwUVFtg_bg4Nz7CQznkL4hHRYU,3794
|
153
132
|
bec_widgets/widgets/colormap_selector/colormap_selector.pyproject,sha256=lHl9qmlMCB6BKB2orqctKwLcKK3Swc0THsyr-5O_vXM,35
|
154
|
-
bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py,sha256=
|
133
|
+
bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py,sha256=cM-5o6GgtH69h2dfV6phJDDz30UAuUQbuxRalQRT_eQ,1498
|
155
134
|
bec_widgets/widgets/colormap_selector/register_colormap_selector.py,sha256=bfw7RWmTmMLTLxGT-izSwcGtxGLKvL3jdivJw2z8oN4,512
|
156
135
|
bec_widgets/widgets/console/console.py,sha256=NG0cBuqqPX4hC-sHhk_UEkT-nHhhN9Y7karJITPLzyo,17864
|
157
136
|
bec_widgets/widgets/device_browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
137
|
bec_widgets/widgets/device_browser/device_browser.py,sha256=PRpgXuAUc6dCWXddp7m_dxUE9VA6AuSzCJ8t3TYng1w,3517
|
159
138
|
bec_widgets/widgets/device_browser/device_browser.pyproject,sha256=s0vM1xYUwyU6Je68_hSCSBLK8ZPfHB-ftt4flfdpkXY,32
|
160
139
|
bec_widgets/widgets/device_browser/device_browser.ui,sha256=Dy_3oXArScP-_7hRI6nQ7SKKnihuyYAzJfXiRxxJQBE,1077
|
161
|
-
bec_widgets/widgets/device_browser/device_browser_plugin.py,sha256=
|
140
|
+
bec_widgets/widgets/device_browser/device_browser_plugin.py,sha256=FprIStCa-cjuIm_P2YRwyWu3mxIDzjEgGPjIl92__Tk,1401
|
162
141
|
bec_widgets/widgets/device_browser/register_device_browser.py,sha256=LJ0ckrgUbU5yprhlrOtSQzymztKyb9zksMuFO4BKN6s,483
|
163
142
|
bec_widgets/widgets/device_browser/device_item/__init__.py,sha256=VGY-uNVCnpcY-q-gijteB2N8KxFNgYR-qQ209MVu1QI,36
|
164
143
|
bec_widgets/widgets/device_browser/device_item/device_item.py,sha256=MtiHM8JXalfNzWYwBj12u_SJidkSchbCy7iT1YZouec,1476
|
165
144
|
bec_widgets/widgets/device_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
166
145
|
bec_widgets/widgets/device_combobox/device_combo_box.pyproject,sha256=wI2eXR5ky_IM9-BCHJnH_9CEqYcZwIuLcgitSEr8OJU,40
|
167
|
-
bec_widgets/widgets/device_combobox/device_combo_box_plugin.py,sha256=
|
146
|
+
bec_widgets/widgets/device_combobox/device_combo_box_plugin.py,sha256=ntd0K1W3O2RgoomTsmnuG16CJ12G6iqJiCIoDjxxswU,1523
|
168
147
|
bec_widgets/widgets/device_combobox/device_combobox.py,sha256=4YohiVtN-R4j9m2mrdwdkRL6IMpIbJ16KJ0SpJC86_g,2667
|
169
148
|
bec_widgets/widgets/device_combobox/register_device_combo_box.py,sha256=ZCrWVdWOvIjnUJWe3MU7JO021rcXYg2SgA1iSKqbLoY,488
|
170
149
|
bec_widgets/widgets/device_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
171
150
|
bec_widgets/widgets/device_line_edit/device_line_edit.py,sha256=iKK2NrVu4okWP8kxPU5whmo_y5VHtrD7Fd_q3ZgXN1Y,3221
|
172
151
|
bec_widgets/widgets/device_line_edit/device_line_edit.pyproject,sha256=tqAYXRbxsHR41MwqmAxvfq1CFeZ1IRv84whUG67HjjE,41
|
173
|
-
bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=
|
152
|
+
bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=zFg-t4JsrSOOboX8DENHx27_XQlBUh9ocPD-tPXrrp8,1547
|
174
153
|
bec_widgets/widgets/device_line_edit/register_device_line_edit.py,sha256=8gEPnC8djYCw-idoZAENNB3bPOxM6pbzEp9A366EAGg,489
|
175
154
|
bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
|
176
155
|
bec_widgets/widgets/dock/dock.py,sha256=hQw5tpGrRbybjfF-aVEAeGdLTudtH4kFa70flu6_ZA8,10349
|
177
156
|
bec_widgets/widgets/dock/dock_area.py,sha256=VfKyMxKo-r1Ugu2xjSsfGMYZUg3i3xxaokaZCFcCoxA,13579
|
178
157
|
bec_widgets/widgets/dock/dock_area.pyproject,sha256=URW0UrDXCnkzk80rbQmUMgF6Uqay2TjHsq8Dq0g1j-c,37
|
179
|
-
bec_widgets/widgets/dock/dock_area_plugin.py,sha256=
|
158
|
+
bec_widgets/widgets/dock/dock_area_plugin.py,sha256=DoVhw15MW8JoEXRj4d53B02nYH5ffRISr033Xw2FK8g,1435
|
180
159
|
bec_widgets/widgets/dock/register_dock_area.py,sha256=Yqd1mq6CcHwlxHZxX5EHKONy4P44nMm8pso-4X0tvJI,464
|
181
160
|
bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
|
182
161
|
bec_widgets/widgets/figure/figure.py,sha256=yujtlDj5NutRJ0gfHMkCVXvBNj5r2z3pb3gwWlUQ92Q,28822
|
@@ -195,14 +174,14 @@ bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=-op62_CFX1Gu-Ag6CD5
|
|
195
174
|
bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=ZwRxSfPHbMWEvgUC-mL2orpZvtxR-DcrYAFikkdWEzk,8654
|
196
175
|
bec_widgets/widgets/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
197
176
|
bec_widgets/widgets/image/bec_image_widget.pyproject,sha256=PHisdBo5_5UCApd27GkizzqgfdjsDx2bFZa_p9LiSW8,30
|
198
|
-
bec_widgets/widgets/image/bec_image_widget_plugin.py,sha256=
|
177
|
+
bec_widgets/widgets/image/bec_image_widget_plugin.py,sha256=WNm1c6tP77PxA0joGREc2Dpv2tsi8dSXdb8BeKrJWdc,1479
|
199
178
|
bec_widgets/widgets/image/image_widget.py,sha256=TCpTF8v94iSMklG9bYxZOjm9SbO60XZB9X0ldEp8lWE,16288
|
200
179
|
bec_widgets/widgets/image/register_bec_image_widget.py,sha256=01YLZQTMSSIXvH1TSL-1AYsRs1a4EbSwKLVAwh9AjeA,478
|
201
180
|
bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
202
181
|
bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=-e7HQOECeH5eDrJYh4BFIzRL78LDkooU4otabyN0aX4,2343
|
203
182
|
bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
204
183
|
bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
|
205
|
-
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=
|
184
|
+
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=RRW72pQGFEQErGbOnI09wBdHIkx9iDdCA6n5hXBJeiI,1410
|
206
185
|
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=URcysThbJKGsCZUqQm2lCtVn5FG8t4kT7DaN5EJUexg,7555
|
207
186
|
bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
|
208
187
|
bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -211,17 +190,17 @@ bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui,sha256=nv5v
|
|
211
190
|
bec_widgets/widgets/position_indicator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
212
191
|
bec_widgets/widgets/position_indicator/position_indicator.py,sha256=QVlWvs_RvEJe5IMxGYCpi-CXYF7vFeMqEMFCs6u5NGc,2020
|
213
192
|
bec_widgets/widgets/position_indicator/position_indicator.pyproject,sha256=s0JEf5YkpMag19ddFSYeRZ8erBau7erO3bqw05YrTyg,36
|
214
|
-
bec_widgets/widgets/position_indicator/position_indicator_plugin.py,sha256=
|
193
|
+
bec_widgets/widgets/position_indicator/position_indicator_plugin.py,sha256=lCXbgVkLUmCiKOpovwnRDcIspvzzPJ2nOwBfQcrxDE4,1536
|
215
194
|
bec_widgets/widgets/position_indicator/register_position_indicator.py,sha256=OZNiMgM_80TPSAXK_0hXAkne4vUh8DGvh_OdpOiMpwI,516
|
216
195
|
bec_widgets/widgets/positioner_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
217
196
|
bec_widgets/widgets/positioner_box/positioner_box.py,sha256=FyUGskWAb-5m44bdUNVig_AkoDbLRbB0GucI6RRHge8,10839
|
218
197
|
bec_widgets/widgets/positioner_box/positioner_box.pyproject,sha256=7966pHdDseaHciaPNEKgdQgbUThSZf5wEDCeAEJh9po,32
|
219
198
|
bec_widgets/widgets/positioner_box/positioner_box.ui,sha256=Y-Xp0z32okT7X4-rL5r7dF_QH_QpXvPes3f778cC7_k,5633
|
220
|
-
bec_widgets/widgets/positioner_box/positioner_box_plugin.py,sha256=
|
199
|
+
bec_widgets/widgets/positioner_box/positioner_box_plugin.py,sha256=fSkLRBfCdJ6531BslhcxdwLQJWO9xcHGuX9TGGJJQbc,1531
|
221
200
|
bec_widgets/widgets/positioner_box/positioner_control_line.py,sha256=DWSDakPsOu8SrhTMKh9NR8b1a7npuyrkjVpZVqj1Kb0,915
|
222
201
|
bec_widgets/widgets/positioner_box/positioner_control_line.pyproject,sha256=RGIXDjWq3fNCgOnU-08oeIeBLCcjYbRXgyh26drxB7I,41
|
223
202
|
bec_widgets/widgets/positioner_box/positioner_control_line.ui,sha256=hJ4e3e3A1zZY3WRfQ7yvAZUAtL8tJhCJX2bWbtty_EQ,5625
|
224
|
-
bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py,sha256=
|
203
|
+
bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py,sha256=N6AQS7kLtvdAr76F-kdDtXSOpz-mbfnQX20H-_YL6N8,1604
|
225
204
|
bec_widgets/widgets/positioner_box/register_positioner_box.py,sha256=UPOUjXXq6-IgSj0kdV_nJe1rYPMF8aIZxF4eSmWgQAg,483
|
226
205
|
bec_widgets/widgets/positioner_box/register_positioner_control_line.py,sha256=MJ13vKGIwTMQGFhll63tfUGXHyd6bz40Cvr85oYKH3I,525
|
227
206
|
bec_widgets/widgets/ring_progress_bar/__init__.py,sha256=_uoJKnDM2YAeUBfwc5WLbIHSJj7zm_FAurSKP3WRaCw,47
|
@@ -229,41 +208,41 @@ bec_widgets/widgets/ring_progress_bar/register_ring_progress_bar.py,sha256=uJrMh
|
|
229
208
|
bec_widgets/widgets/ring_progress_bar/ring.py,sha256=2pdEzETaJpvx4Dzyosq2YhnvDOEUvFnj_f9GfFKpG5Q,11159
|
230
209
|
bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py,sha256=F7z6BbY7BYSKivpCus6T8pXIwzqHOsDlaIV5fGRIboQ,24119
|
231
210
|
bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject,sha256=ZNYDnKDu9pixrY2XrulAGdKZg-Ysa7q67O_X2tAA0fc,35
|
232
|
-
bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py,sha256=
|
211
|
+
bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py,sha256=f6eAuDEvmnl0gy-cBwUkuUS4yr1VGjVEa40N5MIXwF0,1511
|
233
212
|
bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
|
234
213
|
bec_widgets/widgets/scan_control/register_scan_control.py,sha256=xUX2yR0-MaIMg9_y9qe50yDDphzsh2x1b5PMrF90yPM,475
|
235
|
-
bec_widgets/widgets/scan_control/scan_control.py,sha256=
|
214
|
+
bec_widgets/widgets/scan_control/scan_control.py,sha256=30pcaVaBVo6JxJuMH1ul1s-sPuWqCUKsUQ-XfAgzRZ8,9384
|
236
215
|
bec_widgets/widgets/scan_control/scan_control.pyproject,sha256=eTgVDFKToIH8_BbJjM2RvbOLr7HnYoidX0SAHx640DM,30
|
237
|
-
bec_widgets/widgets/scan_control/scan_control_plugin.py,sha256=
|
216
|
+
bec_widgets/widgets/scan_control/scan_control_plugin.py,sha256=t3_qTACqYcvl_Wr102bIdVDyw6uNK1B94fh_wjs-lxg,1477
|
238
217
|
bec_widgets/widgets/scan_control/scan_group_box.py,sha256=BpX9ZphqOhdEbQnGzNeNlmuZsMS__U97CkBMical2FY,9300
|
239
218
|
bec_widgets/widgets/spinner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
240
219
|
bec_widgets/widgets/spinner/register_spinner_widget.py,sha256=_zCPjLh4M7NTSHP1Atdn6yu33zJ3LJkcBy3KOJ5eSVY,476
|
241
220
|
bec_widgets/widgets/spinner/spinner.py,sha256=3A-VcX7HLDyqWsMoTUpB4jKHL26YuAbwOk3qonp3dI4,2591
|
242
221
|
bec_widgets/widgets/spinner/spinner_widget.pyproject,sha256=zzLajGB3DTgVnrSqMey2jRpBlxTq9cBXZL9tWJCKe-I,25
|
243
|
-
bec_widgets/widgets/spinner/spinner_widget_plugin.py,sha256=
|
222
|
+
bec_widgets/widgets/spinner/spinner_widget_plugin.py,sha256=WlPUlCeSVFPup4ZY90oIo5WjSCglIKw_bsNdEGs3yWA,1478
|
244
223
|
bec_widgets/widgets/stop_button/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
245
224
|
bec_widgets/widgets/stop_button/register_stop_button.py,sha256=U7r3fEOH-uPhAQI-nTituHXDDXDWR4JQZ7_vD6b_dfM,471
|
246
225
|
bec_widgets/widgets/stop_button/stop_button.py,sha256=XLrRFvVrAhD16_-SPgzvsUhy0ROunsrWlI5BPRyqZOI,832
|
247
226
|
bec_widgets/widgets/stop_button/stop_button.pyproject,sha256=Cc_xbv-zfzNVpsdg_1QyzuTlrJaM9_BkIjes70umrx0,29
|
248
|
-
bec_widgets/widgets/stop_button/stop_button_plugin.py,sha256=
|
227
|
+
bec_widgets/widgets/stop_button/stop_button_plugin.py,sha256=yAvIPsdyn0X8Srx2KB8KEmDLDTScQH2dc8MGH0cFj_I,1481
|
249
228
|
bec_widgets/widgets/text_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
250
229
|
bec_widgets/widgets/text_box/register_text_box.py,sha256=UwrmCoYjAAtJJK8BwC0P_wSb-lOlOvxPe3-Bemg_9nw,459
|
251
230
|
bec_widgets/widgets/text_box/text_box.py,sha256=3OWC6L3CWsH_uh8X11WnifYjhO8ruDe2FWFhE8cn5lY,4274
|
252
231
|
bec_widgets/widgets/text_box/text_box.pyproject,sha256=XohO1BIe2hrpU-z_KHKRgjcUkXru7jeFte31j2TPbNk,26
|
253
|
-
bec_widgets/widgets/text_box/text_box_plugin.py,sha256=
|
232
|
+
bec_widgets/widgets/text_box/text_box_plugin.py,sha256=UyP7NQ-rHnBOOww8ICAuI61FDuAoAl_KcpsKhkiPH3k,1418
|
254
233
|
bec_widgets/widgets/toggle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
255
234
|
bec_widgets/widgets/toggle/register_toggle_switch.py,sha256=8pVtkeEeiDOjV4OPoZq1I30F9JDzl4nQE7e7xoWyWBs,472
|
256
235
|
bec_widgets/widgets/toggle/toggle.py,sha256=JzCGYoyHBrlBWCoyL94QX4zSLyEwWbCNHMegjlnSy2E,4442
|
257
236
|
bec_widgets/widgets/toggle/toggle_switch.pyproject,sha256=Msa-AS5H5XlqW65r8GlX2AxD8FnFnDyDgGnbKcXqKOw,24
|
258
|
-
bec_widgets/widgets/toggle/toggle_switch_plugin.py,sha256=
|
237
|
+
bec_widgets/widgets/toggle/toggle_switch_plugin.py,sha256=V8qW7o-8ld9Lc_P_SLfpb6Fo0DSZt3Vu2mMJEueM5fc,1460
|
259
238
|
bec_widgets/widgets/vscode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
260
239
|
bec_widgets/widgets/vscode/register_vs_code_editor.py,sha256=JATKBkTEuReeQ2Jj402xasjgVRMFI8uUOAAwmnFOWRA,473
|
261
240
|
bec_widgets/widgets/vscode/vs_code_editor.pyproject,sha256=bxx0jZlSfBo-Em7p15W1QIJ9lFr9jqTqGynUQG01ocU,24
|
262
|
-
bec_widgets/widgets/vscode/vs_code_editor_plugin.py,sha256=
|
241
|
+
bec_widgets/widgets/vscode/vs_code_editor_plugin.py,sha256=0DA6gjG1ZFvrrF23W5rarUVOR6oeeB0leEjtQIK6g6o,1462
|
263
242
|
bec_widgets/widgets/vscode/vscode.py,sha256=yV1D9PK2IYomq9yYfwqUOrZGIeBwMnNuBfXxBc2M8Qc,2231
|
264
243
|
bec_widgets/widgets/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
265
244
|
bec_widgets/widgets/waveform/bec_waveform_widget.pyproject,sha256=GLD8GN9dXx9wNbtnevrxqqcwk7vKV-Uv8QYSycdaoaI,33
|
266
|
-
bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py,sha256=
|
245
|
+
bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py,sha256=f8zgTQGp6hbfxOAnMqLvaI3N9KwxEMtUKkZQZBAL_rw,1514
|
267
246
|
bec_widgets/widgets/waveform/register_bec_waveform_widget.py,sha256=qZHVZH_lP2hvzkG1Ra0EyrXlMeLkRCy0aceH-bfJ1cs,490
|
268
247
|
bec_widgets/widgets/waveform/waveform_widget.py,sha256=4aHwkLdn7C8BgvKqFIbOB0YaAxAIIFTG_hG0iLougKQ,19094
|
269
248
|
bec_widgets/widgets/waveform/waveform_popups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -277,7 +256,7 @@ bec_widgets/widgets/website/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
277
256
|
bec_widgets/widgets/website/register_website_widget.py,sha256=LIQJpV9uqcBiPR9cEAiDjaUS_l7JroYVdsotnLpD9H0,476
|
278
257
|
bec_widgets/widgets/website/website.py,sha256=vyRJr4jsti1h6cPHzTTtS_0IELJ3kYdS2_HdZCzavl4,1840
|
279
258
|
bec_widgets/widgets/website/website_widget.pyproject,sha256=scOiV3cV1_BjbzpPzy2N8rIJL5P2qIZz8ObTJ-Uvdtg,25
|
280
|
-
bec_widgets/widgets/website/website_widget_plugin.py,sha256=
|
259
|
+
bec_widgets/widgets/website/website_widget_plugin.py,sha256=E5qf7ZK26tkXjRwJMzYqHypX0ChxAleMs6Mxw7XaPl4,1461
|
281
260
|
docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
|
282
261
|
docs/conf.py,sha256=eSfoMdl2eObhbKr7eki59DrkNUh15KfcZpuBc7goMRc,2500
|
283
262
|
docs/index.md,sha256=h4edya5UA0bx21ReHu40lJudqVBH41tOASjnCjmoYj8,1197
|
@@ -315,7 +294,8 @@ docs/assets/widget_screenshots/website.png,sha256=2NZmVKy2MOP6L1Y2ZNUllJr2uCjGl6
|
|
315
294
|
docs/developer/developer.md,sha256=KLYulqlv9qhOZktrKSU8vZCxHmaJYmT66jG6igXDzQE,1147
|
316
295
|
docs/developer/introduction/concepts.md,sha256=N23ewZjPx97eJtrU6-0Lou2IvPfkfZ6Nw6n9SwASQ74,1721
|
317
296
|
docs/developer/introduction/contributing.md,sha256=ocW5kjBNwD5k_nDkusXUpsW8jJALajrpNSRVJftuF-k,1668
|
318
|
-
docs/developer/introduction/introduction.md,sha256=
|
297
|
+
docs/developer/introduction/introduction.md,sha256=vR732ai0u-NiP8ij2_HJucgT4CDhjyrARbThDMqUc74,788
|
298
|
+
docs/developer/introduction/useful_links.md,sha256=ytWRyLTAveU8ELrA0GL9hzTVCBRNBOTV8pRxvPp1huk,1487
|
319
299
|
docs/developer/widget_development/widget_development.md,sha256=wGfDjbt9EonVxUg59keADy7wCLyS-KzCz7m4hY0OV_A,526
|
320
300
|
docs/introduction/introduction.md,sha256=YBEFDhxqHTcbfbNTo76xDflaFUHIqDs-sToA1HRmCnI,1436
|
321
301
|
docs/user/customisation.md,sha256=wCW8fAbqtlgGE3mURvXOrK67Xo0_B-lxfg0sYuQWB40,3186
|
@@ -349,8 +329,9 @@ docs/user/widgets/positioner_box/positioner_box.md,sha256=voOU_wfwd-qBykk-60PWoO
|
|
349
329
|
docs/user/widgets/progress_bar/progress_bar.gif,sha256=5jh0Zw2BBGPuNxszV1DBLJCb4_6glIRX-U2ABjnsK2k,5263592
|
350
330
|
docs/user/widgets/progress_bar/ring_progress_bar.md,sha256=F9q2UrwZWwNzbjs1ONfSgP1dqgb5dx8AbOoTZOJGzWA,3705
|
351
331
|
docs/user/widgets/queue/queue.md,sha256=Re37dp_YHTa9N6TTobScO_n3Fniq2_Ca2Ms3DOb0suA,2110
|
332
|
+
docs/user/widgets/scan_control/hide_scan_control.png,sha256=juhkTBdz-WnJfPhj6UEkOiiCD6HfTinoETokF20nhsA,21890
|
352
333
|
docs/user/widgets/scan_control/scan_control.gif,sha256=zrVOZgleMbu7Jd8AAIn2fQ08tNAEMSud3g0ZLyNUcjQ,1506739
|
353
|
-
docs/user/widgets/scan_control/scan_control.md,sha256=
|
334
|
+
docs/user/widgets/scan_control/scan_control.md,sha256=4pMTZJHx9VMYgEVGG_ybiJxwNbdQqAqa_dvM6lz0LMs,3275
|
354
335
|
docs/user/widgets/spinner/spinner.md,sha256=MN7LeAkNOqRZ_A6c4PGv6KsiGbjm7Q-nkGkL5CcxOeE,2465
|
355
336
|
docs/user/widgets/text_box/text_box.md,sha256=u8UoApmnH3LilWUQ73ASd6ts0FQfM6eRqg3GG9iQhOc,2508
|
356
337
|
docs/user/widgets/toggle/toggle.md,sha256=vmhqbTU93R9DUeR0a85gGIRPc07cSl3_vtsVN4r0yO0,2983
|
@@ -418,8 +399,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
|
|
418
399
|
tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
|
419
400
|
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
420
401
|
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
421
|
-
bec_widgets-0.
|
422
|
-
bec_widgets-0.
|
423
|
-
bec_widgets-0.
|
424
|
-
bec_widgets-0.
|
425
|
-
bec_widgets-0.
|
402
|
+
bec_widgets-0.96.0.dist-info/METADATA,sha256=wPwVfj4xSkopVoH2p_P6HnIWGsIpRruwbtMoyn-TEW0,1325
|
403
|
+
bec_widgets-0.96.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
404
|
+
bec_widgets-0.96.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
|
405
|
+
bec_widgets-0.96.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
406
|
+
bec_widgets-0.96.0.dist-info/RECORD,,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
(developer.useful_links)=
|
2
|
+
|
3
|
+
# Useful Links
|
4
|
+
|
5
|
+
If you're new to the Qt framework, here are some helpful resources to get you started. In BEC Widgets, we use Qt
|
6
|
+
distributions based on Qt6, specifically PyQt6 and PySide6. However, all code should be written using
|
7
|
+
the [`qtpy`](https://pypi.org/project/QtPy/) abstraction layer, which allows compatibility with both. While both PyQt6
|
8
|
+
and PySide6 are supported, we prefer PySide6 as it is the official Python binding from the Qt Company. It offers
|
9
|
+
advantages like bundling all necessary libraries in a single package with pip installation and staying more up-to-date
|
10
|
+
compared to PyQt6.
|
11
|
+
|
12
|
+
Below is a list of useful links to help you start developing with Qt and QtDesigner:
|
13
|
+
|
14
|
+
- [Python GUIs](https://www.pythonguis.com): A great resource with tutorials and examples for creating GUIs in Python
|
15
|
+
using various frameworks.
|
16
|
+
- [PySide6 Quick Start Guide](https://doc.qt.io/qtforpython-6/index.html): The official documentation for PySide6,
|
17
|
+
including quick start guides and tutorials.
|
18
|
+
- [QtDesigner Official Documentation](https://doc.qt.io/qt-6/qtdesigner-manual.html): Comprehensive documentation for
|
19
|
+
QtDesigner.
|
20
|
+
- [Simple PyQt Tutorial from RealPython](https://realpython.com/python-pyqt-gui-calculator/): A beginner-friendly
|
21
|
+
tutorial on creating your first GUI application with PyQt.
|
22
|
+
- [PyQtGraph Documentation](https://pyqtgraph.readthedocs.io/en/latest/): BEC Widgets relies on PyQtGraph for plotting;
|
23
|
+
this is the official documentation.
|
Binary file
|
@@ -20,14 +20,22 @@ By default, this widget supports scans that are derived from the following base
|
|
20
20
|
```
|
21
21
|
|
22
22
|
```{hint}
|
23
|
-
The full procedure how to design `gui_config` for your custom scan class is described in the [Scan GUI Configuration](https://
|
23
|
+
The full procedure how to design `gui_config` for your custom scan class is described in the [Scan GUI Configuration](https://bec.readthedocs.io/en/latest/developer/scans/scan_gui_config.html) tutorial.
|
24
|
+
```
|
25
|
+
|
26
|
+
## BECDesigner Customization
|
27
|
+
Within the BECDesigner's [property editor](https://doc.qt.io/qt-6/designer-widget-mode.html#the-property-editor/), the `ScanControl` widget can be customized to suit your application's requirements. The widget provides the following customization options:
|
28
|
+
- **Hide Scan Control**: Allows you to hide the scan control buttons from the widget interface. This is useful when you want to place the control buttons in a different location.
|
29
|
+
- **Hide Scan Selection**: Allows you to hide the scan selection combobox from the widget interface. This is useful when you want to restrict the user to a specific scan type or implement a custom scan selection mechanism.
|
30
|
+
|
31
|
+
```{figure} ./hide_scan_control.png
|
24
32
|
```
|
25
33
|
|
26
34
|
````
|
27
35
|
|
28
36
|
````{tab} Examples
|
29
37
|
|
30
|
-
The `ScanControl` widget can be integrated within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `
|
38
|
+
The `ScanControl` widget can be integrated within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BECDesigner`. Below are examples demonstrating how to create and use the `ScanControl` widget.
|
31
39
|
|
32
40
|
## Example 1 - Adding Scan Control Widget to BECDockArea
|
33
41
|
|
pyproject.toml
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|