bec-widgets 0.97.0__py3-none-any.whl → 0.98.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 -32
- PKG-INFO +1 -1
- bec_widgets/qt_utils/toolbar.py +24 -23
- bec_widgets/utils/colors.py +30 -6
- bec_widgets/widgets/dock/dock_area.py +46 -21
- bec_widgets/widgets/figure/figure.py +0 -1
- bec_widgets/widgets/image/image_widget.py +28 -28
- bec_widgets/widgets/motor_map/motor_map_widget.py +6 -4
- bec_widgets/widgets/positioner_box/positioner_box.py +6 -9
- bec_widgets/widgets/scan_control/scan_control.py +3 -1
- bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py +4 -6
- bec_widgets/widgets/waveform/waveform_widget.py +18 -19
- {bec_widgets-0.97.0.dist-info → bec_widgets-0.98.0.dist-info}/METADATA +1 -1
- {bec_widgets-0.97.0.dist-info → bec_widgets-0.98.0.dist-info}/RECORD +18 -18
- pyproject.toml +1 -1
- {bec_widgets-0.97.0.dist-info → bec_widgets-0.98.0.dist-info}/WHEEL +0 -0
- {bec_widgets-0.97.0.dist-info → bec_widgets-0.98.0.dist-info}/entry_points.txt +0 -0
- {bec_widgets-0.97.0.dist-info → bec_widgets-0.98.0.dist-info}/licenses/LICENSE +0 -0
CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.98.0 (2024-08-25)
|
4
|
+
|
5
|
+
### Feature
|
6
|
+
|
7
|
+
* feat(themes): added set_theme method ([`2b4449a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2b4449afebdda0a97f95712a1353cf40ec55c283))
|
8
|
+
|
9
|
+
### Fix
|
10
|
+
|
11
|
+
* fix(toolbar): removed hardcoded color values ([`afdf4e8`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/afdf4e8782a22566932180224fa1c924d24c810f))
|
12
|
+
|
13
|
+
* fix: transitioning to material icons ([`2a82032`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2a82032644a84e38df04e2035a6aa63f4a046360))
|
14
|
+
|
15
|
+
* fix(dock_area): transitioned to MaterialIconAction ([`88a2f66`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/88a2f667588e9aeb34ae556fa327898824052bc3))
|
16
|
+
|
17
|
+
* fix: fix color palette if qtheme was not called ([`3f3b207`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3f3b207295ebd406ebaeecee465c774965161b8b))
|
18
|
+
|
19
|
+
* fix(figure): removed theme from figure init ([`e42b84c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e42b84c63650297d67feffccc02a2c2ba111ca79))
|
20
|
+
|
21
|
+
* fix: use globally set theme instead of the internal bec widgets theme ([`77c5aa7`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/77c5aa741cf1f5b969a42aa878aa2965176dbf41))
|
22
|
+
|
23
|
+
* fix(waveform): fixed icon appearance ([`36ad464`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/36ad4641594b67c9b789515c28f7db78a12757ee))
|
24
|
+
|
25
|
+
### Refactor
|
26
|
+
|
27
|
+
* refactor(waveform): use set theme for demo ([`44cfda1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/44cfda1c07306669c9a4e09706d95e6b91dee370))
|
28
|
+
|
3
29
|
## v0.97.0 (2024-08-23)
|
4
30
|
|
5
31
|
### Feature
|
@@ -125,35 +151,3 @@ Since we now rely on reusing the BECClient singleton, we need the fix introduced
|
|
125
151
|
* fix(rpc): use client singleton instead of dispatcher ([`ea9240d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ea9240d2f71931082f33fb6b68231469875c3d63))
|
126
152
|
|
127
153
|
* fix: removed qcoreapplication for polling events ([`4d02b42`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4d02b42f11e9882b843317255a4975565c8a536f))
|
128
|
-
|
129
|
-
## v0.94.4 (2024-08-14)
|
130
|
-
|
131
|
-
### Documentation
|
132
|
-
|
133
|
-
* docs: review developer section; add introduction ([`2af5c94`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2af5c94913a3435c1839034df4f45f885b56d08b))
|
134
|
-
|
135
|
-
### Fix
|
136
|
-
|
137
|
-
* fix: do not shutdown client in "close"
|
138
|
-
|
139
|
-
Terminating client connections has to be done at the application level ([`198c1d1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/198c1d1064cc2dae55de4b941929341faddacb28))
|
140
|
-
|
141
|
-
## v0.94.3 (2024-08-13)
|
142
|
-
|
143
|
-
### Fix
|
144
|
-
|
145
|
-
* fix(curve_dialog): async curves are shown in curve dialog after addition. ([`7aeb2b5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7aeb2b5c26c7c2851e8d663d32521da8daec95ef))
|
146
|
-
|
147
|
-
* fix(waveform): async device entry is correctly passed, updated and with new scan the previous data are cleared ([`d56ea95`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/d56ea95ef97bfdd0bc3eeddc4505d20b38e28559))
|
148
|
-
|
149
|
-
### Test
|
150
|
-
|
151
|
-
* test(waveform_widget): added tests for axis setting and curve dialog ([`f285b35`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f285b35b491660549e74349318119f7c2c44f619))
|
152
|
-
|
153
|
-
## v0.94.2 (2024-08-13)
|
154
|
-
|
155
|
-
### Fix
|
156
|
-
|
157
|
-
* fix(image): image is single image mode do not raise popup error when connected twice with the same monitor ([`98b79aa`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/98b79aac7b47b73137f4d582f7f1d552b1d95366))
|
158
|
-
|
159
|
-
## v0.94.1 (2024-08-12)
|
PKG-INFO
CHANGED
bec_widgets/qt_utils/toolbar.py
CHANGED
@@ -76,31 +76,38 @@ class MaterialIconAction:
|
|
76
76
|
Action with a Material icon for the toolbar.
|
77
77
|
|
78
78
|
Args:
|
79
|
-
icon_path (str, optional): The name of the icon
|
79
|
+
icon_path (str, optional): The name of the Material icon. Defaults to None.
|
80
80
|
tooltip (bool, optional): The tooltip for the action. Defaults to None.
|
81
81
|
checkable (bool, optional): Whether the action is checkable. Defaults to False.
|
82
|
+
filled (bool, optional): Whether the icon is filled. Defaults to False.
|
82
83
|
"""
|
83
84
|
|
84
|
-
def __init__(
|
85
|
+
def __init__(
|
86
|
+
self,
|
87
|
+
icon_name: str = None,
|
88
|
+
tooltip: str = None,
|
89
|
+
checkable: bool = False,
|
90
|
+
filled: bool = False,
|
91
|
+
):
|
85
92
|
self.icon_name = icon_name
|
86
93
|
self.tooltip = tooltip
|
87
94
|
self.checkable = checkable
|
88
95
|
self.action = None
|
96
|
+
self.filled = filled
|
89
97
|
|
90
98
|
def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
|
91
|
-
|
92
|
-
"dark": "#FFFFFF",
|
93
|
-
"light": "#000000",
|
94
|
-
} # FIXME: This should be a theme color but the toolbar doesn't respect the theme atm
|
95
|
-
# once fixed, change it to
|
96
|
-
# palette = QGuiApplication.palette()
|
97
|
-
# palette.toolTipBase().color()
|
98
|
-
|
99
|
-
icon = material_icon(self.icon_name, size=(20, 20), color=color, convert_to_pixmap=False)
|
99
|
+
icon = self.get_icon()
|
100
100
|
self.action = QAction(icon, self.tooltip, target)
|
101
101
|
self.action.setCheckable(self.checkable)
|
102
102
|
toolbar.addAction(self.action)
|
103
103
|
|
104
|
+
def get_icon(self):
|
105
|
+
|
106
|
+
icon = material_icon(
|
107
|
+
self.icon_name, size=(20, 20), convert_to_pixmap=False, filled=self.filled
|
108
|
+
)
|
109
|
+
return icon
|
110
|
+
|
104
111
|
|
105
112
|
class DeviceSelectionAction(ToolBarAction):
|
106
113
|
"""
|
@@ -165,10 +172,12 @@ class ExpandableMenuAction(ToolBarAction):
|
|
165
172
|
menu = QMenu(button)
|
166
173
|
for action_id, action in self.actions.items():
|
167
174
|
sub_action = QAction(action.tooltip, target)
|
168
|
-
if action
|
175
|
+
if hasattr(action, "icon_path"):
|
169
176
|
icon = QIcon()
|
170
177
|
icon.addFile(action.icon_path, size=QSize(20, 20))
|
171
178
|
sub_action.setIcon(icon)
|
179
|
+
elif hasattr(action, "get_icon"):
|
180
|
+
sub_action.setIcon(action.get_icon())
|
172
181
|
sub_action.setCheckable(action.checkable)
|
173
182
|
menu.addAction(sub_action)
|
174
183
|
self.widgets[action_id] = sub_action
|
@@ -182,20 +191,13 @@ class ModularToolBar(QToolBar):
|
|
182
191
|
parent (QWidget, optional): The parent widget of the toolbar. Defaults to None.
|
183
192
|
actions (list[ToolBarAction], optional): A list of action creators to populate the toolbar. Defaults to None.
|
184
193
|
target_widget (QWidget, optional): The widget that the actions will target. Defaults to None.
|
185
|
-
color (str, optional): The background color of the toolbar. Defaults to "black".
|
186
194
|
"""
|
187
195
|
|
188
|
-
def __init__(
|
189
|
-
self,
|
190
|
-
parent=None,
|
191
|
-
actions: dict | None = None,
|
192
|
-
target_widget=None,
|
193
|
-
color: str = "rgba(255, 255, 255, 0)",
|
194
|
-
):
|
196
|
+
def __init__(self, parent=None, actions: dict | None = None, target_widget=None):
|
195
197
|
super().__init__(parent)
|
196
198
|
|
197
199
|
self.widgets = defaultdict(dict)
|
198
|
-
self.set_background_color(
|
200
|
+
self.set_background_color()
|
199
201
|
|
200
202
|
if actions is not None and target_widget is not None:
|
201
203
|
self.populate_toolbar(actions, target_widget)
|
@@ -212,8 +214,7 @@ class ModularToolBar(QToolBar):
|
|
212
214
|
action.add_to_toolbar(self, target_widget)
|
213
215
|
self.widgets[action_id] = action
|
214
216
|
|
215
|
-
def set_background_color(self
|
216
|
-
self.setStyleSheet(f"QToolBar {{ background: {color}; }}")
|
217
|
+
def set_background_color(self):
|
217
218
|
self.setIconSize(QSize(20, 20))
|
218
219
|
self.setMovable(False)
|
219
220
|
self.setFloatable(False)
|
bec_widgets/utils/colors.py
CHANGED
@@ -5,21 +5,45 @@ from typing import Literal
|
|
5
5
|
import bec_qthemes
|
6
6
|
import numpy as np
|
7
7
|
import pyqtgraph as pg
|
8
|
+
from bec_qthemes._os_appearance.listener import OSThemeSwitchListener
|
8
9
|
from pydantic_core import PydanticCustomError
|
9
10
|
from qtpy.QtGui import QColor
|
10
11
|
from qtpy.QtWidgets import QApplication
|
11
12
|
|
12
|
-
CURRENT_THEME = "dark"
|
13
|
-
|
14
13
|
|
15
14
|
def get_theme_palette():
|
16
|
-
|
15
|
+
if QApplication.instance() is None or not hasattr(QApplication.instance(), "theme"):
|
16
|
+
theme = "dark"
|
17
|
+
else:
|
18
|
+
theme = QApplication.instance().theme["theme"]
|
19
|
+
return bec_qthemes.load_palette(theme)
|
17
20
|
|
18
21
|
|
19
|
-
def
|
20
|
-
|
21
|
-
|
22
|
+
def set_theme(theme: Literal["dark", "light", "auto"]):
|
23
|
+
"""
|
24
|
+
Set the theme for the application.
|
25
|
+
|
26
|
+
Args:
|
27
|
+
theme (Literal["dark", "light", "auto"]): The theme to set. "auto" will automatically switch between dark and light themes based on the system theme.
|
28
|
+
"""
|
29
|
+
app = QApplication.instance()
|
30
|
+
bec_qthemes.setup_theme(theme)
|
31
|
+
pg.setConfigOption("background", "w" if app.theme["theme"] == "light" else "k")
|
32
|
+
|
33
|
+
# pylint: disable=protected-access
|
34
|
+
if theme != "auto":
|
35
|
+
return
|
22
36
|
|
37
|
+
def callback():
|
38
|
+
app.theme["theme"] = listener._theme.lower()
|
39
|
+
apply_theme(listener._theme.lower())
|
40
|
+
|
41
|
+
listener = OSThemeSwitchListener(callback)
|
42
|
+
|
43
|
+
app.installEventFilter(listener)
|
44
|
+
|
45
|
+
|
46
|
+
def apply_theme(theme: Literal["dark", "light"]):
|
23
47
|
app = QApplication.instance()
|
24
48
|
# go through all pyqtgraph widgets and set background
|
25
49
|
children = itertools.chain.from_iterable(
|
@@ -9,17 +9,16 @@ from qtpy.QtCore import Qt
|
|
9
9
|
from qtpy.QtGui import QPainter, QPaintEvent
|
10
10
|
from qtpy.QtWidgets import QVBoxLayout, QWidget
|
11
11
|
|
12
|
+
from bec_widgets.qt_utils.error_popups import SafeSlot
|
12
13
|
from bec_widgets.qt_utils.toolbar import (
|
13
14
|
ExpandableMenuAction,
|
14
|
-
|
15
|
+
MaterialIconAction,
|
15
16
|
ModularToolBar,
|
16
17
|
SeparatorAction,
|
17
18
|
)
|
18
19
|
from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils
|
19
20
|
from bec_widgets.utils.bec_widget import BECWidget
|
20
|
-
|
21
|
-
from ...qt_utils.error_popups import SafeSlot
|
22
|
-
from .dock import BECDock, DockConfig
|
21
|
+
from bec_widgets.widgets.dock.dock import BECDock, DockConfig
|
23
22
|
|
24
23
|
|
25
24
|
class DockAreaConfig(ConnectionConfig):
|
@@ -71,20 +70,26 @@ class BECDockArea(BECWidget, QWidget):
|
|
71
70
|
"menu_plots": ExpandableMenuAction(
|
72
71
|
label="Add Plot ",
|
73
72
|
actions={
|
74
|
-
"waveform":
|
75
|
-
|
76
|
-
|
73
|
+
"waveform": MaterialIconAction(
|
74
|
+
icon_name="show_chart", tooltip="Add Waveform", filled=True
|
75
|
+
),
|
76
|
+
"image": MaterialIconAction(
|
77
|
+
icon_name="image", tooltip="Add Image", filled=True
|
78
|
+
),
|
79
|
+
"motor_map": MaterialIconAction(
|
80
|
+
icon_name="my_location", tooltip="Add Motor Map", filled=True
|
81
|
+
),
|
77
82
|
},
|
78
83
|
),
|
79
84
|
"separator_0": SeparatorAction(),
|
80
85
|
"menu_devices": ExpandableMenuAction(
|
81
86
|
label="Add Device Control ",
|
82
87
|
actions={
|
83
|
-
"scan_control":
|
84
|
-
|
88
|
+
"scan_control": MaterialIconAction(
|
89
|
+
icon_name="stacked_line_chart", tooltip="Add Scan Control", filled=True
|
85
90
|
),
|
86
|
-
"positioner_box":
|
87
|
-
|
91
|
+
"positioner_box": MaterialIconAction(
|
92
|
+
icon_name="switch_right", tooltip="Add Device Box", filled=True
|
88
93
|
),
|
89
94
|
},
|
90
95
|
),
|
@@ -92,21 +97,29 @@ class BECDockArea(BECWidget, QWidget):
|
|
92
97
|
"menu_utils": ExpandableMenuAction(
|
93
98
|
label="Add Utils ",
|
94
99
|
actions={
|
95
|
-
"queue":
|
96
|
-
|
97
|
-
|
98
|
-
"
|
99
|
-
|
100
|
+
"queue": MaterialIconAction(
|
101
|
+
icon_name="edit_note", tooltip="Add Scan Queue", filled=True
|
102
|
+
),
|
103
|
+
"vs_code": MaterialIconAction(
|
104
|
+
icon_name="show_chart", tooltip="Add VS Code", filled=True
|
105
|
+
),
|
106
|
+
"status": MaterialIconAction(
|
107
|
+
icon_name="dns", tooltip="Add BEC Status Box", filled=True
|
108
|
+
),
|
109
|
+
"progress_bar": MaterialIconAction(
|
110
|
+
icon_name="track_changes",
|
111
|
+
tooltip="Add Circular ProgressBar",
|
112
|
+
filled=True,
|
100
113
|
),
|
101
114
|
},
|
102
115
|
),
|
103
116
|
"separator_2": SeparatorAction(),
|
104
|
-
"attach_all":
|
105
|
-
|
117
|
+
"attach_all": MaterialIconAction(
|
118
|
+
icon_name="zoom_in_map", tooltip="Attach all floating docks"
|
106
119
|
),
|
107
|
-
"save_state":
|
108
|
-
"restore_state":
|
109
|
-
|
120
|
+
"save_state": MaterialIconAction(icon_name="bookmark", tooltip="Save Dock State"),
|
121
|
+
"restore_state": MaterialIconAction(
|
122
|
+
icon_name="frame_reload", tooltip="Restore Dock State"
|
110
123
|
),
|
111
124
|
},
|
112
125
|
target_widget=self,
|
@@ -368,3 +381,15 @@ class BECDockArea(BECWidget, QWidget):
|
|
368
381
|
"""
|
369
382
|
self.cleanup()
|
370
383
|
super().close()
|
384
|
+
|
385
|
+
|
386
|
+
if __name__ == "__main__":
|
387
|
+
from qtpy.QtWidgets import QApplication
|
388
|
+
|
389
|
+
from bec_widgets.utils.colors import set_theme
|
390
|
+
|
391
|
+
app = QApplication([])
|
392
|
+
set_theme("auto")
|
393
|
+
dock_area = BECDockArea()
|
394
|
+
dock_area.show()
|
395
|
+
app.exec_()
|
@@ -182,7 +182,6 @@ class BECFigure(BECWidget, pg.GraphicsLayoutWidget):
|
|
182
182
|
print(f"Error in applying config: {e}")
|
183
183
|
return
|
184
184
|
self.config = config
|
185
|
-
self.change_theme(self.config.theme)
|
186
185
|
|
187
186
|
# widget_config has to be reset for not have each widget config twice when added to the figure
|
188
187
|
widget_configs = list(self.config.widgets.values())
|
@@ -10,7 +10,7 @@ from bec_widgets.qt_utils.error_popups import SafeSlot, WarningPopupUtility
|
|
10
10
|
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
|
11
11
|
from bec_widgets.qt_utils.toolbar import (
|
12
12
|
DeviceSelectionAction,
|
13
|
-
|
13
|
+
MaterialIconAction,
|
14
14
|
ModularToolBar,
|
15
15
|
SeparatorAction,
|
16
16
|
)
|
@@ -66,45 +66,45 @@ class BECImageWidget(BECWidget, QWidget):
|
|
66
66
|
"monitor": DeviceSelectionAction(
|
67
67
|
"Monitor:", DeviceComboBox(device_filter="Device")
|
68
68
|
),
|
69
|
-
"connect":
|
69
|
+
"connect": MaterialIconAction(icon_name="link", tooltip="Connect Device"),
|
70
70
|
"separator_0": SeparatorAction(),
|
71
|
-
"save":
|
71
|
+
"save": MaterialIconAction(icon_name="save", tooltip="Open Export Dialog"),
|
72
72
|
"separator_1": SeparatorAction(),
|
73
|
-
"drag_mode":
|
74
|
-
|
73
|
+
"drag_mode": MaterialIconAction(
|
74
|
+
icon_name="open_with", tooltip="Drag Mouse Mode", checkable=True
|
75
75
|
),
|
76
|
-
"rectangle_mode":
|
77
|
-
|
76
|
+
"rectangle_mode": MaterialIconAction(
|
77
|
+
icon_name="frame_inspect", tooltip="Rectangle Zoom Mode", checkable=True
|
78
78
|
),
|
79
|
-
"auto_range":
|
80
|
-
|
81
|
-
icon_path="image_autorange.svg",
|
82
|
-
tooltip="Autorange Image Intensity",
|
83
|
-
checkable=True,
|
79
|
+
"auto_range": MaterialIconAction(
|
80
|
+
icon_name="open_in_full", tooltip="Autorange Plot"
|
84
81
|
),
|
85
|
-
"
|
86
|
-
|
87
|
-
|
88
|
-
|
82
|
+
"auto_range_image": MaterialIconAction(
|
83
|
+
icon_name="hdr_auto", tooltip="Autorange Image Intensity", checkable=True
|
84
|
+
),
|
85
|
+
"aspect_ratio": MaterialIconAction(
|
86
|
+
icon_name="aspect_ratio", tooltip="Lock image aspect ratio", checkable=True
|
89
87
|
),
|
90
88
|
"separator_2": SeparatorAction(),
|
91
|
-
"FFT":
|
92
|
-
"log":
|
93
|
-
|
89
|
+
"FFT": MaterialIconAction(icon_name="fft", tooltip="Toggle FFT", checkable=True),
|
90
|
+
"log": MaterialIconAction(
|
91
|
+
icon_name="log_scale", tooltip="Toggle log scale", checkable=True
|
92
|
+
),
|
93
|
+
"transpose": MaterialIconAction(
|
94
|
+
icon_name="transform", tooltip="Transpose Image", checkable=True
|
94
95
|
),
|
95
|
-
"
|
96
|
-
|
96
|
+
"rotate_right": MaterialIconAction(
|
97
|
+
icon_name="rotate_right", tooltip="Rotate image clockwise by 90 deg"
|
97
98
|
),
|
98
|
-
"
|
99
|
-
|
99
|
+
"rotate_left": MaterialIconAction(
|
100
|
+
icon_name="rotate_left", tooltip="Rotate image counterclockwise by 90 deg"
|
100
101
|
),
|
101
|
-
"
|
102
|
-
|
102
|
+
"reset": MaterialIconAction(
|
103
|
+
icon_name="reset_settings", tooltip="Reset Image Settings"
|
103
104
|
),
|
104
|
-
"reset": IconAction(icon_path="reset_settings.svg", tooltip="Reset Image Settings"),
|
105
105
|
"separator_3": SeparatorAction(),
|
106
|
-
"axis_settings":
|
107
|
-
|
106
|
+
"axis_settings": MaterialIconAction(
|
107
|
+
icon_name="settings", tooltip="Open Configuration Dialog"
|
108
108
|
),
|
109
109
|
},
|
110
110
|
target_widget=self,
|
@@ -5,7 +5,7 @@ import sys
|
|
5
5
|
from qtpy.QtWidgets import QVBoxLayout, QWidget
|
6
6
|
|
7
7
|
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
|
8
|
-
from bec_widgets.qt_utils.toolbar import DeviceSelectionAction,
|
8
|
+
from bec_widgets.qt_utils.toolbar import DeviceSelectionAction, MaterialIconAction, ModularToolBar
|
9
9
|
from bec_widgets.utils.bec_widget import BECWidget
|
10
10
|
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
|
11
11
|
from bec_widgets.widgets.figure import BECFigure
|
@@ -54,9 +54,11 @@ class BECMotorMapWidget(BECWidget, QWidget):
|
|
54
54
|
"motor_y": DeviceSelectionAction(
|
55
55
|
"Motor Y:", DeviceComboBox(device_filter="Positioner")
|
56
56
|
),
|
57
|
-
"connect":
|
58
|
-
"history":
|
59
|
-
"config":
|
57
|
+
"connect": MaterialIconAction(icon_name="link", tooltip="Connect Motors"),
|
58
|
+
"history": MaterialIconAction(icon_name="history", tooltip="Reset Trace History"),
|
59
|
+
"config": MaterialIconAction(
|
60
|
+
icon_name="settings", tooltip="Open Configuration Dialog"
|
61
|
+
),
|
60
62
|
},
|
61
63
|
target_widget=self,
|
62
64
|
)
|
@@ -7,13 +7,14 @@ from bec_lib.device import Positioner
|
|
7
7
|
from bec_lib.endpoints import MessageEndpoints
|
8
8
|
from bec_lib.logger import bec_logger
|
9
9
|
from bec_lib.messages import ScanQueueMessage
|
10
|
-
from
|
11
|
-
from qtpy.
|
10
|
+
from bec_qthemes import material_icon
|
11
|
+
from qtpy.QtCore import Property, Signal, Slot
|
12
|
+
from qtpy.QtGui import QDoubleValidator
|
12
13
|
from qtpy.QtWidgets import QDialog, QDoubleSpinBox, QPushButton, QVBoxLayout, QWidget
|
13
14
|
|
14
15
|
from bec_widgets.utils import UILoader
|
15
16
|
from bec_widgets.utils.bec_widget import BECWidget
|
16
|
-
from bec_widgets.utils.colors import
|
17
|
+
from bec_widgets.utils.colors import set_theme
|
17
18
|
from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
|
18
19
|
|
19
20
|
logger = bec_logger.logger
|
@@ -78,11 +79,7 @@ class PositionerBox(BECWidget, QWidget):
|
|
78
79
|
self.ui.setpoint.setValidator(self.setpoint_validator)
|
79
80
|
self.ui.spinner_widget.start()
|
80
81
|
self.ui.tool_button.clicked.connect(self._open_dialog_selection)
|
81
|
-
icon =
|
82
|
-
icon.addFile(
|
83
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "device_line_edit.svg"),
|
84
|
-
size=QSize(16, 16),
|
85
|
-
)
|
82
|
+
icon = material_icon(icon_name="edit_note", size=(16, 16), convert_to_pixmap=False)
|
86
83
|
self.ui.tool_button.setIcon(icon)
|
87
84
|
|
88
85
|
def _open_dialog_selection(self):
|
@@ -303,7 +300,7 @@ if __name__ == "__main__": # pragma: no cover
|
|
303
300
|
from qtpy.QtWidgets import QApplication
|
304
301
|
|
305
302
|
app = QApplication(sys.argv)
|
306
|
-
|
303
|
+
set_theme("dark")
|
307
304
|
widget = PositionerBox(device="bpm4i")
|
308
305
|
|
309
306
|
widget.show()
|
@@ -260,10 +260,12 @@ class ScanControl(BECWidget, QWidget):
|
|
260
260
|
|
261
261
|
# Application example
|
262
262
|
if __name__ == "__main__": # pragma: no cover
|
263
|
+
from bec_widgets.utils.colors import set_theme
|
264
|
+
|
263
265
|
app = QApplication([])
|
264
266
|
scan_control = ScanControl()
|
265
267
|
|
266
|
-
|
268
|
+
set_theme("auto")
|
267
269
|
window = scan_control
|
268
270
|
window.show()
|
269
271
|
app.exec()
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
3
3
|
import os
|
4
4
|
from typing import Literal
|
5
5
|
|
6
|
+
from bec_qthemes import material_icon
|
6
7
|
from pydantic import BaseModel
|
7
8
|
from qtpy.QtCore import QObject, QSize, Slot
|
8
9
|
from qtpy.QtGui import QIcon
|
@@ -38,10 +39,7 @@ class CurveSettings(SettingWidget):
|
|
38
39
|
self.ui.normalize_colors_dap.clicked.connect(lambda: self.change_colormap("dap"))
|
39
40
|
|
40
41
|
def _setup_icons(self):
|
41
|
-
add_icon =
|
42
|
-
add_icon.addFile(
|
43
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "add.svg"), size=QSize(20, 20)
|
44
|
-
)
|
42
|
+
add_icon = material_icon(icon_name="add", size=(20, 20), convert_to_pixmap=False)
|
45
43
|
self.ui.add_dap.setIcon(add_icon)
|
46
44
|
self.ui.add_dap.setToolTip("Add DAP Curve")
|
47
45
|
self.ui.add_curve.setIcon(add_icon)
|
@@ -339,5 +337,5 @@ class StyleComboBox(QComboBox):
|
|
339
337
|
class RemoveButton(QPushButton):
|
340
338
|
def __init__(self, parent=None):
|
341
339
|
super().__init__(parent)
|
342
|
-
|
343
|
-
self.setIcon(
|
340
|
+
icon = material_icon("disabled_by_default", size=(20, 20), convert_to_pixmap=False)
|
341
|
+
self.setIcon(icon)
|
@@ -10,12 +10,7 @@ from qtpy.QtWidgets import QVBoxLayout, QWidget
|
|
10
10
|
|
11
11
|
from bec_widgets.qt_utils.error_popups import SafeSlot, WarningPopupUtility
|
12
12
|
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
|
13
|
-
from bec_widgets.qt_utils.toolbar import
|
14
|
-
IconAction,
|
15
|
-
MaterialIconAction,
|
16
|
-
ModularToolBar,
|
17
|
-
SeparatorAction,
|
18
|
-
)
|
13
|
+
from bec_widgets.qt_utils.toolbar import MaterialIconAction, ModularToolBar, SeparatorAction
|
19
14
|
from bec_widgets.utils.bec_widget import BECWidget
|
20
15
|
from bec_widgets.widgets.figure import BECFigure
|
21
16
|
from bec_widgets.widgets.figure.plots.axis_settings import AxisSettings
|
@@ -88,24 +83,26 @@ class BECWaveformWidget(BECWidget, QWidget):
|
|
88
83
|
self.fig = BECFigure()
|
89
84
|
self.toolbar = ModularToolBar(
|
90
85
|
actions={
|
91
|
-
"save":
|
92
|
-
"matplotlib":
|
93
|
-
|
86
|
+
"save": MaterialIconAction(icon_name="save", tooltip="Open Export Dialog"),
|
87
|
+
"matplotlib": MaterialIconAction(
|
88
|
+
icon_name="photo_library", tooltip="Open Matplotlib Plot"
|
94
89
|
),
|
95
90
|
"separator_1": SeparatorAction(),
|
96
|
-
"drag_mode":
|
97
|
-
|
91
|
+
"drag_mode": MaterialIconAction(
|
92
|
+
icon_name="drag_pan", tooltip="Drag Mouse Mode", checkable=True
|
93
|
+
),
|
94
|
+
"rectangle_mode": MaterialIconAction(
|
95
|
+
icon_name="frame_inspect", tooltip="Rectangle Zoom Mode", checkable=True
|
98
96
|
),
|
99
|
-
"
|
100
|
-
|
97
|
+
"auto_range": MaterialIconAction(
|
98
|
+
icon_name="open_in_full", tooltip="Autorange Plot"
|
101
99
|
),
|
102
|
-
"auto_range": IconAction(icon_path="auto_range.svg", tooltip="Autorange Plot"),
|
103
100
|
"separator_2": SeparatorAction(),
|
104
|
-
"curves":
|
105
|
-
|
101
|
+
"curves": MaterialIconAction(
|
102
|
+
icon_name="stacked_line_chart", tooltip="Open Curves Configuration"
|
106
103
|
),
|
107
|
-
"fit_params":
|
108
|
-
|
104
|
+
"fit_params": MaterialIconAction(
|
105
|
+
icon_name="monitoring", tooltip="Open Fitting Parameters"
|
109
106
|
),
|
110
107
|
"axis_settings": MaterialIconAction(
|
111
108
|
icon_name="settings", tooltip="Open Configuration Dialog"
|
@@ -594,10 +591,12 @@ class BECWaveformWidget(BECWidget, QWidget):
|
|
594
591
|
|
595
592
|
|
596
593
|
def main(): # pragma: no cover
|
597
|
-
|
598
594
|
from qtpy.QtWidgets import QApplication
|
599
595
|
|
596
|
+
from bec_widgets.utils.colors import set_theme
|
597
|
+
|
600
598
|
app = QApplication(sys.argv)
|
599
|
+
set_theme("auto")
|
601
600
|
widget = BECWaveformWidget()
|
602
601
|
widget.show()
|
603
602
|
sys.exit(app.exec_())
|
@@ -2,11 +2,11 @@
|
|
2
2
|
.gitlab-ci.yml,sha256=9dZ_EvimZrDzG8MtII0qtBYMM_Nc6xqh2iFRds0rlvE,8370
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=gjQfqaLDuPUnF3DFFQqOFpYcJNBi7cVD6D_-knI9F2k,6839
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=IAkC6nhPjMKZoERtnUZtDsEU4stXZjICC1FDwQuyuoM,1325
|
8
8
|
README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=61TgaqglyIMXu3W2TMVVhZwG5g2bN4ShiDCSw16LnTE,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
|
@@ -85,14 +85,14 @@ bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
85
85
|
bec_widgets/qt_utils/error_popups.py,sha256=y9gKKWaafp468ioHr96nBhf02ZpEgjDc-BAVOTWh-e8,7680
|
86
86
|
bec_widgets/qt_utils/redis_message_waiter.py,sha256=fvL_QgC0cTDv_FPJdRyp5AKjf401EJU4z3r38p47ydY,1745
|
87
87
|
bec_widgets/qt_utils/settings_dialog.py,sha256=NhtzTer_xzlB2lLLrGklkI1QYLJEWQpJoZbCz4o5daI,3645
|
88
|
-
bec_widgets/qt_utils/toolbar.py,sha256=
|
88
|
+
bec_widgets/qt_utils/toolbar.py,sha256=YIW0lV1zm7M6dC0mwEmWOYhhmnDfP4d1lMDgd2pwXao,7588
|
89
89
|
bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
|
90
90
|
bec_widgets/utils/bec_connector.py,sha256=SivHKXVyNVqeu3kCXYEPpbleTVw8g1cW0FKq1QrQgco,9987
|
91
91
|
bec_widgets/utils/bec_designer.py,sha256=Z3MeMju-KmTz8POtm23VQfp4rvtD2sF6eIOKQkl2F7w,4729
|
92
92
|
bec_widgets/utils/bec_dispatcher.py,sha256=NkObWO_gRO9Uobz-fy0gVTZqQsbFRaKj6fbjYZoErFI,6400
|
93
93
|
bec_widgets/utils/bec_table.py,sha256=nA2b8ukSeUfquFMAxGrUVOqdrzMoDYD6O_4EYbOG2zk,717
|
94
94
|
bec_widgets/utils/bec_widget.py,sha256=Bo2v1aP7rgSAQajW8GBJbI3iovTn_hGCsmeFMo7bT10,707
|
95
|
-
bec_widgets/utils/colors.py,sha256=
|
95
|
+
bec_widgets/utils/colors.py,sha256=2lQZFfmin0YBJVrMH_81wSUPpmFz235_NYHpNRFlrbk,11383
|
96
96
|
bec_widgets/utils/container_utils.py,sha256=0wr3ZfuMiAFKCrQHVjxjw-Vuk8wsHdridqcjy2eY840,1531
|
97
97
|
bec_widgets/utils/crosshair.py,sha256=ywj4Pr2Xx8tFsD5qrHIocanKlNqDd51ElbEfxenuYM0,11363
|
98
98
|
bec_widgets/utils/entry_validator.py,sha256=3skJIsUwTYicT76AMHm_M78RiWtUgyD2zb-Rxo2HdHQ,1313
|
@@ -153,12 +153,12 @@ bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py,sha256=4ASFaDcpk
|
|
153
153
|
bec_widgets/widgets/device_line_edit/register_device_line_edit.py,sha256=8gEPnC8djYCw-idoZAENNB3bPOxM6pbzEp9A366EAGg,489
|
154
154
|
bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
|
155
155
|
bec_widgets/widgets/dock/dock.py,sha256=hQw5tpGrRbybjfF-aVEAeGdLTudtH4kFa70flu6_ZA8,10349
|
156
|
-
bec_widgets/widgets/dock/dock_area.py,sha256=
|
156
|
+
bec_widgets/widgets/dock/dock_area.py,sha256=X98q9YZ9gRmA7BOz_GcVKuyH3fsbem-iBH9eUtM5Pi4,14416
|
157
157
|
bec_widgets/widgets/dock/dock_area.pyproject,sha256=URW0UrDXCnkzk80rbQmUMgF6Uqay2TjHsq8Dq0g1j-c,37
|
158
158
|
bec_widgets/widgets/dock/dock_area_plugin.py,sha256=BqWvXzRm90kZGKgP26APt7f6ARBWzLU839vGAjl7UYM,1308
|
159
159
|
bec_widgets/widgets/dock/register_dock_area.py,sha256=Yqd1mq6CcHwlxHZxX5EHKONy4P44nMm8pso-4X0tvJI,464
|
160
160
|
bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
|
161
|
-
bec_widgets/widgets/figure/figure.py,sha256=
|
161
|
+
bec_widgets/widgets/figure/figure.py,sha256=ArJ_fN6xvqzuK8p6YQJfMJwSTh-Rvk69TKIgItPmBeA,28777
|
162
162
|
bec_widgets/widgets/figure/plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
163
163
|
bec_widgets/widgets/figure/plots/axis_settings.py,sha256=QxRpQwgfBr1H0HTjfOpiXi_-n8I0BaZhS8LRXNeVfFg,3544
|
164
164
|
bec_widgets/widgets/figure/plots/axis_settings.ui,sha256=a2qIuK9lyi9HCyrSvPr6wxzmm1FymaWcpmyOhMIiFt8,11013
|
@@ -175,14 +175,14 @@ bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=ZwRxSfPHbMWEv
|
|
175
175
|
bec_widgets/widgets/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
176
176
|
bec_widgets/widgets/image/bec_image_widget.pyproject,sha256=PHisdBo5_5UCApd27GkizzqgfdjsDx2bFZa_p9LiSW8,30
|
177
177
|
bec_widgets/widgets/image/bec_image_widget_plugin.py,sha256=vU9JnJwz0TTITH4fK6uVGmbTnPdV8kLu2BIJU_LQH4c,1352
|
178
|
-
bec_widgets/widgets/image/image_widget.py,sha256=
|
178
|
+
bec_widgets/widgets/image/image_widget.py,sha256=6KtyMAr_iCA8TmzKkM4CogJLkr9BepfceWtEdMeEjlg,16325
|
179
179
|
bec_widgets/widgets/image/register_bec_image_widget.py,sha256=01YLZQTMSSIXvH1TSL-1AYsRs1a4EbSwKLVAwh9AjeA,478
|
180
180
|
bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
181
181
|
bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=-e7HQOECeH5eDrJYh4BFIzRL78LDkooU4otabyN0aX4,2343
|
182
182
|
bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
183
|
bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
|
184
184
|
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=NSUlP06rTB73GKik7KR_sO66Yu-gp5_XA7ApgTbcwJo,1283
|
185
|
-
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=
|
185
|
+
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=vA1XuxMN5uBzvgdkogUnChtRXqMyIfcGXV9xdJMmgA0,7607
|
186
186
|
bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
|
187
187
|
bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
188
188
|
bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py,sha256=U-r3YHsxf2XvZn0kVbrYIT2aXKSaG5wM1JEnGzwGMVU,2258
|
@@ -193,7 +193,7 @@ bec_widgets/widgets/position_indicator/position_indicator.pyproject,sha256=s0JEf
|
|
193
193
|
bec_widgets/widgets/position_indicator/position_indicator_plugin.py,sha256=5efV6Y5LSvCHgg2wogAs7JfKfDhzv59NFT0uT17cWsk,1409
|
194
194
|
bec_widgets/widgets/position_indicator/register_position_indicator.py,sha256=OZNiMgM_80TPSAXK_0hXAkne4vUh8DGvh_OdpOiMpwI,516
|
195
195
|
bec_widgets/widgets/positioner_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
196
|
-
bec_widgets/widgets/positioner_box/positioner_box.py,sha256=
|
196
|
+
bec_widgets/widgets/positioner_box/positioner_box.py,sha256=dIShqGXPpltgNzzb6AzXCtWugk3xWsiYBoBwgcLaA3Y,10774
|
197
197
|
bec_widgets/widgets/positioner_box/positioner_box.pyproject,sha256=7966pHdDseaHciaPNEKgdQgbUThSZf5wEDCeAEJh9po,32
|
198
198
|
bec_widgets/widgets/positioner_box/positioner_box.ui,sha256=Y-Xp0z32okT7X4-rL5r7dF_QH_QpXvPes3f778cC7_k,5633
|
199
199
|
bec_widgets/widgets/positioner_box/positioner_box_plugin.py,sha256=pcZcE0lwgdyWsopwi5ZM1tw32P5uD5QOtEC7sLYQIEc,1404
|
@@ -211,7 +211,7 @@ bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject,sha256=ZNYDnKD
|
|
211
211
|
bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py,sha256=4wYVyxs8osUa1VuJUI5A2KdCCghmZXwsNCEtFQq6pYI,1384
|
212
212
|
bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
|
213
213
|
bec_widgets/widgets/scan_control/register_scan_control.py,sha256=xUX2yR0-MaIMg9_y9qe50yDDphzsh2x1b5PMrF90yPM,475
|
214
|
-
bec_widgets/widgets/scan_control/scan_control.py,sha256=
|
214
|
+
bec_widgets/widgets/scan_control/scan_control.py,sha256=9cvFMZbU5ttoXpJAjcKVU3MnsUwc2XN3x9qlGEIL0IY,9434
|
215
215
|
bec_widgets/widgets/scan_control/scan_control.pyproject,sha256=eTgVDFKToIH8_BbJjM2RvbOLr7HnYoidX0SAHx640DM,30
|
216
216
|
bec_widgets/widgets/scan_control/scan_control_plugin.py,sha256=Oe0jvKoLa1jvV7IyoExTzd2vvJbKPgUUt4_cdunsVNY,1350
|
217
217
|
bec_widgets/widgets/scan_control/scan_group_box.py,sha256=BpX9ZphqOhdEbQnGzNeNlmuZsMS__U97CkBMical2FY,9300
|
@@ -244,10 +244,10 @@ bec_widgets/widgets/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
244
244
|
bec_widgets/widgets/waveform/bec_waveform_widget.pyproject,sha256=GLD8GN9dXx9wNbtnevrxqqcwk7vKV-Uv8QYSycdaoaI,33
|
245
245
|
bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py,sha256=Qt8E5nvk6f5JYwOqVn5UkbIW_JqsXkIMdv3CM41gXsU,1387
|
246
246
|
bec_widgets/widgets/waveform/register_bec_waveform_widget.py,sha256=qZHVZH_lP2hvzkG1Ra0EyrXlMeLkRCy0aceH-bfJ1cs,490
|
247
|
-
bec_widgets/widgets/waveform/waveform_widget.py,sha256=
|
247
|
+
bec_widgets/widgets/waveform/waveform_widget.py,sha256=7oOLIIQbx1Oam89cjtAidRU1QFLphTk-ALSRbiessrY,20512
|
248
248
|
bec_widgets/widgets/waveform/waveform_popups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
249
249
|
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
250
|
-
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py,sha256=
|
250
|
+
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py,sha256=5e2BrKA97cfZCM04x7-S3z6sby82KKnUH1S0gVQUfLU,13090
|
251
251
|
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui,sha256=OaQE5HlyBQ3RQoHqxOFHiUoNcx8SDZP5sHJ9NNGhsPI,10404
|
252
252
|
bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
253
253
|
bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary.ui,sha256=PFEKro61UXd-jmx65U4pqJ5D29DXtVnhQRnsnDvN-wM,6138
|
@@ -400,8 +400,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
|
|
400
400
|
tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
|
401
401
|
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
402
402
|
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
403
|
-
bec_widgets-0.
|
404
|
-
bec_widgets-0.
|
405
|
-
bec_widgets-0.
|
406
|
-
bec_widgets-0.
|
407
|
-
bec_widgets-0.
|
403
|
+
bec_widgets-0.98.0.dist-info/METADATA,sha256=IAkC6nhPjMKZoERtnUZtDsEU4stXZjICC1FDwQuyuoM,1325
|
404
|
+
bec_widgets-0.98.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
405
|
+
bec_widgets-0.98.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
|
406
|
+
bec_widgets-0.98.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
407
|
+
bec_widgets-0.98.0.dist-info/RECORD,,
|
pyproject.toml
CHANGED
File without changes
|
File without changes
|
File without changes
|