bec-widgets 0.53.2__py3-none-any.whl → 0.54.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 +24 -25
- PKG-INFO +1 -1
- bec_widgets/cli/client.py +13 -13
- bec_widgets/cli/client_utils.py +0 -4
- bec_widgets/cli/generate_cli.py +7 -5
- bec_widgets/cli/server.py +5 -7
- bec_widgets/examples/jupyter_console/jupyter_console_window.py +7 -3
- bec_widgets/examples/motor_movement/motor_control_compilations.py +17 -16
- bec_widgets/widgets/__init__.py +0 -10
- bec_widgets/widgets/figure/figure.py +40 -23
- bec_widgets/widgets/figure/plots/__init__.py +0 -0
- bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
- bec_widgets/widgets/{plots → figure/plots/image}/image.py +6 -416
- bec_widgets/widgets/figure/plots/image/image_item.py +277 -0
- bec_widgets/widgets/figure/plots/image/image_processor.py +152 -0
- bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
- bec_widgets/widgets/{plots → figure/plots/motor_map}/motor_map.py +2 -2
- bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
- bec_widgets/widgets/{plots → figure/plots/waveform}/waveform.py +9 -222
- bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +227 -0
- bec_widgets/widgets/motor_control/__init__.py +0 -7
- bec_widgets/widgets/motor_control/motor_control.py +2 -948
- bec_widgets/widgets/motor_control/motor_table/__init__.py +0 -0
- bec_widgets/widgets/motor_control/motor_table/motor_table.py +483 -0
- bec_widgets/widgets/motor_control/movement_absolute/__init__.py +0 -0
- bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py +157 -0
- bec_widgets/widgets/motor_control/movement_relative/__init__.py +0 -0
- bec_widgets/widgets/motor_control/movement_relative/movement_relative.py +227 -0
- bec_widgets/widgets/motor_control/selection/__init__.py +0 -0
- bec_widgets/widgets/motor_control/selection/selection.py +110 -0
- {bec_widgets-0.53.2.dist-info → bec_widgets-0.54.0.dist-info}/METADATA +1 -1
- {bec_widgets-0.53.2.dist-info → bec_widgets-0.54.0.dist-info}/RECORD +51 -52
- docs/requirements.txt +1 -0
- pyproject.toml +1 -1
- tests/end-2-end/test_bec_dock_rpc_e2e.py +1 -1
- tests/end-2-end/test_bec_figure_rpc_e2e.py +4 -4
- tests/end-2-end/test_rpc_register_e2e.py +1 -1
- tests/unit_tests/test_bec_dock.py +1 -1
- tests/unit_tests/test_bec_figure.py +6 -4
- tests/unit_tests/test_bec_motor_map.py +2 -3
- tests/unit_tests/test_motor_control.py +6 -5
- tests/unit_tests/test_waveform1d.py +13 -1
- bec_widgets/validation/__init__.py +0 -2
- bec_widgets/validation/monitor_config_validator.py +0 -258
- bec_widgets/widgets/monitor/__init__.py +0 -1
- bec_widgets/widgets/monitor/config_dialog.py +0 -574
- bec_widgets/widgets/monitor/config_dialog.ui +0 -210
- bec_widgets/widgets/monitor/example_configs/config_device.yaml +0 -60
- bec_widgets/widgets/monitor/example_configs/config_scans.yaml +0 -92
- bec_widgets/widgets/monitor/monitor.py +0 -845
- bec_widgets/widgets/monitor/tab_template.ui +0 -180
- bec_widgets/widgets/motor_map/__init__.py +0 -1
- bec_widgets/widgets/motor_map/motor_map.py +0 -594
- bec_widgets/widgets/plots/__init__.py +0 -4
- tests/unit_tests/test_bec_monitor.py +0 -220
- tests/unit_tests/test_config_dialog.py +0 -178
- tests/unit_tests/test_motor_map.py +0 -171
- tests/unit_tests/test_validator_errors.py +0 -110
- /bec_widgets/{cli → assets}/bec_widgets_icon.png +0 -0
- /bec_widgets/{examples/jupyter_console → assets}/terminal_icon.png +0 -0
- /bec_widgets/widgets/{plots → figure/plots}/plot_base.py +0 -0
- /bec_widgets/widgets/motor_control/{motor_control_table.ui → motor_table/motor_table.ui} +0 -0
- /bec_widgets/widgets/motor_control/{motor_control_absolute.ui → movement_absolute/movement_absolute.ui} +0 -0
- /bec_widgets/widgets/motor_control/{motor_control_relative.ui → movement_relative/movement_relative.ui} +0 -0
- /bec_widgets/widgets/motor_control/{motor_control_selection.ui → selection/selection.ui} +0 -0
- {bec_widgets-0.53.2.dist-info → bec_widgets-0.54.0.dist-info}/WHEEL +0 -0
- {bec_widgets-0.53.2.dist-info → bec_widgets-0.54.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,227 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
from qtpy import uic
|
4
|
+
from qtpy.QtCore import Qt
|
5
|
+
from qtpy.QtCore import Signal as pyqtSignal
|
6
|
+
from qtpy.QtCore import Slot as pyqtSlot
|
7
|
+
from qtpy.QtGui import QKeySequence
|
8
|
+
from qtpy.QtWidgets import QDoubleSpinBox, QShortcut, QWidget
|
9
|
+
|
10
|
+
from bec_widgets.widgets.motor_control.motor_control import MotorControlWidget
|
11
|
+
|
12
|
+
|
13
|
+
class MotorControlRelative(MotorControlWidget):
|
14
|
+
"""
|
15
|
+
Widget for controlling the motors to relative coordinates.
|
16
|
+
|
17
|
+
Signals:
|
18
|
+
precision_signal (pyqtSignal): Signal to emit the precision of the coordinates.
|
19
|
+
Slots:
|
20
|
+
change_motors (pyqtSlot(str,str)): Slot to change the active motors.
|
21
|
+
enable_motor_controls (pyqtSlot): Slot to enable/disable the motor controls.
|
22
|
+
"""
|
23
|
+
|
24
|
+
precision_signal = pyqtSignal(int)
|
25
|
+
|
26
|
+
def _load_ui(self):
|
27
|
+
"""Load the UI from the .ui file."""
|
28
|
+
# Loading UI
|
29
|
+
current_path = os.path.dirname(__file__)
|
30
|
+
uic.loadUi(os.path.join(current_path, "movement_relative.ui"), self)
|
31
|
+
|
32
|
+
def _init_ui(self):
|
33
|
+
"""Initialize the UI."""
|
34
|
+
self._init_ui_motor_control()
|
35
|
+
self._init_keyboard_shortcuts()
|
36
|
+
|
37
|
+
@pyqtSlot(dict)
|
38
|
+
def on_config_update(self, config: dict) -> None:
|
39
|
+
"""
|
40
|
+
Update config dict
|
41
|
+
Args:
|
42
|
+
config(dict): New config dict
|
43
|
+
"""
|
44
|
+
self.config = config
|
45
|
+
|
46
|
+
# Get motor names
|
47
|
+
self.motor_x, self.motor_y = (
|
48
|
+
self.config["motor_control"]["motor_x"],
|
49
|
+
self.config["motor_control"]["motor_y"],
|
50
|
+
)
|
51
|
+
|
52
|
+
# Update step precision
|
53
|
+
self.precision = self.config["motor_control"]["precision"]
|
54
|
+
self.spinBox_precision.setValue(self.precision)
|
55
|
+
|
56
|
+
# Update step sizes
|
57
|
+
self.spinBox_step_x.setValue(self.config["motor_control"]["step_size_x"])
|
58
|
+
self.spinBox_step_y.setValue(self.config["motor_control"]["step_size_y"])
|
59
|
+
|
60
|
+
# Checkboxes for keyboard shortcuts and x/y step size link
|
61
|
+
self.checkBox_same_xy.setChecked(self.config["motor_control"]["step_x_y_same"])
|
62
|
+
self.checkBox_enableArrows.setChecked(self.config["motor_control"]["move_with_arrows"])
|
63
|
+
|
64
|
+
self._init_ui()
|
65
|
+
|
66
|
+
def _init_ui_motor_control(self) -> None:
|
67
|
+
"""Initialize the motor control elements"""
|
68
|
+
|
69
|
+
# Connect checkbox and spinBoxes
|
70
|
+
self.checkBox_same_xy.stateChanged.connect(self._sync_step_sizes)
|
71
|
+
self.spinBox_step_x.valueChanged.connect(self._update_step_size_x)
|
72
|
+
self.spinBox_step_y.valueChanged.connect(self._update_step_size_y)
|
73
|
+
|
74
|
+
self.toolButton_right.clicked.connect(
|
75
|
+
lambda: self.move_motor_relative(self.motor_x, "x", 1)
|
76
|
+
)
|
77
|
+
self.toolButton_left.clicked.connect(
|
78
|
+
lambda: self.move_motor_relative(self.motor_x, "x", -1)
|
79
|
+
)
|
80
|
+
self.toolButton_up.clicked.connect(lambda: self.move_motor_relative(self.motor_y, "y", 1))
|
81
|
+
self.toolButton_down.clicked.connect(
|
82
|
+
lambda: self.move_motor_relative(self.motor_y, "y", -1)
|
83
|
+
)
|
84
|
+
|
85
|
+
# Switch between key shortcuts active
|
86
|
+
self.checkBox_enableArrows.stateChanged.connect(self._update_arrow_key_shortcuts)
|
87
|
+
self._update_arrow_key_shortcuts()
|
88
|
+
|
89
|
+
# Enable/Disable GUI
|
90
|
+
self.motor_thread.lock_gui.connect(self.enable_motor_controls)
|
91
|
+
|
92
|
+
# Precision update
|
93
|
+
self.spinBox_precision.valueChanged.connect(lambda x: self._update_precision(x))
|
94
|
+
|
95
|
+
# Error messages
|
96
|
+
self.motor_thread.motor_error.connect(
|
97
|
+
lambda error: MotorControlErrors.display_error_message(error)
|
98
|
+
)
|
99
|
+
|
100
|
+
# Stop Button
|
101
|
+
self.pushButton_stop.clicked.connect(self.motor_thread.stop_movement)
|
102
|
+
|
103
|
+
def _init_keyboard_shortcuts(self) -> None:
|
104
|
+
"""Initialize the keyboard shortcuts"""
|
105
|
+
|
106
|
+
# Increase/decrease step size for X motor
|
107
|
+
increase_x_shortcut = QShortcut(QKeySequence("Ctrl+A"), self)
|
108
|
+
decrease_x_shortcut = QShortcut(QKeySequence("Ctrl+Z"), self)
|
109
|
+
increase_x_shortcut.activated.connect(
|
110
|
+
lambda: self._change_step_size(self.spinBox_step_x, 2)
|
111
|
+
)
|
112
|
+
decrease_x_shortcut.activated.connect(
|
113
|
+
lambda: self._change_step_size(self.spinBox_step_x, 0.5)
|
114
|
+
)
|
115
|
+
self.spinBox_step_x.setToolTip("Increase step size: Ctrl+A\nDecrease step size: Ctrl+Z")
|
116
|
+
|
117
|
+
# Increase/decrease step size for Y motor
|
118
|
+
increase_y_shortcut = QShortcut(QKeySequence("Alt+A"), self)
|
119
|
+
decrease_y_shortcut = QShortcut(QKeySequence("Alt+Z"), self)
|
120
|
+
increase_y_shortcut.activated.connect(
|
121
|
+
lambda: self._change_step_size(self.spinBox_step_y, 2)
|
122
|
+
)
|
123
|
+
decrease_y_shortcut.activated.connect(
|
124
|
+
lambda: self._change_step_size(self.spinBox_step_y, 0.5)
|
125
|
+
)
|
126
|
+
self.spinBox_step_y.setToolTip("Increase step size: Alt+A\nDecrease step size: Alt+Z")
|
127
|
+
|
128
|
+
# Stop Button
|
129
|
+
self.pushButton_stop.setShortcut("Ctrl+X")
|
130
|
+
self.pushButton_stop.setToolTip("Ctrl+X")
|
131
|
+
|
132
|
+
def _update_arrow_key_shortcuts(self) -> None:
|
133
|
+
"""Update the arrow key shortcuts based on the checkbox state."""
|
134
|
+
if self.checkBox_enableArrows.isChecked():
|
135
|
+
# Set the arrow key shortcuts for motor movement
|
136
|
+
self.toolButton_right.setShortcut(Qt.Key_Right)
|
137
|
+
self.toolButton_left.setShortcut(Qt.Key_Left)
|
138
|
+
self.toolButton_up.setShortcut(Qt.Key_Up)
|
139
|
+
self.toolButton_down.setShortcut(Qt.Key_Down)
|
140
|
+
else:
|
141
|
+
# Clear the shortcuts
|
142
|
+
self.toolButton_right.setShortcut("")
|
143
|
+
self.toolButton_left.setShortcut("")
|
144
|
+
self.toolButton_up.setShortcut("")
|
145
|
+
self.toolButton_down.setShortcut("")
|
146
|
+
|
147
|
+
def _update_precision(self, precision: int) -> None:
|
148
|
+
"""
|
149
|
+
Update the precision of the coordinates.
|
150
|
+
Args:
|
151
|
+
precision(int): Precision of the coordinates.
|
152
|
+
"""
|
153
|
+
self.spinBox_step_x.setDecimals(precision)
|
154
|
+
self.spinBox_step_y.setDecimals(precision)
|
155
|
+
self.precision_signal.emit(precision)
|
156
|
+
|
157
|
+
def _change_step_size(self, spinBox: QDoubleSpinBox, factor: float) -> None:
|
158
|
+
"""
|
159
|
+
Change the step size of the spinbox.
|
160
|
+
Args:
|
161
|
+
spinBox(QDoubleSpinBox): Spinbox to change the step size.
|
162
|
+
factor(float): Factor to change the step size.
|
163
|
+
"""
|
164
|
+
old_step = spinBox.value()
|
165
|
+
new_step = old_step * factor
|
166
|
+
spinBox.setValue(new_step)
|
167
|
+
|
168
|
+
def _sync_step_sizes(self):
|
169
|
+
"""Sync step sizes based on checkbox state."""
|
170
|
+
if self.checkBox_same_xy.isChecked():
|
171
|
+
value = self.spinBox_step_x.value()
|
172
|
+
self.spinBox_step_y.setValue(value)
|
173
|
+
|
174
|
+
def _update_step_size_x(self):
|
175
|
+
"""Update step size for x if checkbox is checked."""
|
176
|
+
if self.checkBox_same_xy.isChecked():
|
177
|
+
value = self.spinBox_step_x.value()
|
178
|
+
self.spinBox_step_y.setValue(value)
|
179
|
+
|
180
|
+
def _update_step_size_y(self):
|
181
|
+
"""Update step size for y if checkbox is checked."""
|
182
|
+
if self.checkBox_same_xy.isChecked():
|
183
|
+
value = self.spinBox_step_y.value()
|
184
|
+
self.spinBox_step_x.setValue(value)
|
185
|
+
|
186
|
+
@pyqtSlot(str, str)
|
187
|
+
def change_motors(self, motor_x: str, motor_y: str):
|
188
|
+
"""
|
189
|
+
Change the active motors and update config.
|
190
|
+
Can be connected to the selected_motors_signal from MotorControlSelection.
|
191
|
+
Args:
|
192
|
+
motor_x(str): New motor X to be controlled.
|
193
|
+
motor_y(str): New motor Y to be controlled.
|
194
|
+
"""
|
195
|
+
self.motor_x = motor_x
|
196
|
+
self.motor_y = motor_y
|
197
|
+
self.config["motor_control"]["motor_x"] = motor_x
|
198
|
+
self.config["motor_control"]["motor_y"] = motor_y
|
199
|
+
|
200
|
+
@pyqtSlot(bool)
|
201
|
+
def enable_motor_controls(self, disable: bool) -> None:
|
202
|
+
"""
|
203
|
+
Enable or disable the motor controls.
|
204
|
+
Args:
|
205
|
+
disable(bool): True to disable, False to enable.
|
206
|
+
"""
|
207
|
+
|
208
|
+
# Disable or enable all controls within the motorControl_absolute group box
|
209
|
+
for widget in self.motorControl.findChildren(QWidget):
|
210
|
+
widget.setEnabled(disable)
|
211
|
+
|
212
|
+
# Enable the pushButton_stop if the motor is moving
|
213
|
+
self.pushButton_stop.setEnabled(True)
|
214
|
+
|
215
|
+
def move_motor_relative(self, motor, axis: str, direction: int) -> None:
|
216
|
+
"""
|
217
|
+
Move the motor relative to the current position.
|
218
|
+
Args:
|
219
|
+
motor: Motor to move.
|
220
|
+
axis(str): Axis to move.
|
221
|
+
direction(int): Direction to move. 1 for positive, -1 for negative.
|
222
|
+
"""
|
223
|
+
if axis == "x":
|
224
|
+
step = direction * self.spinBox_step_x.value()
|
225
|
+
elif axis == "y":
|
226
|
+
step = direction * self.spinBox_step_y.value()
|
227
|
+
self.motor_thread.move_relative(motor, step)
|
File without changes
|
@@ -0,0 +1,110 @@
|
|
1
|
+
# pylint: disable = no-name-in-module,missing-module-docstring
|
2
|
+
import os
|
3
|
+
|
4
|
+
from qtpy import uic
|
5
|
+
from qtpy.QtCore import Signal as pyqtSignal
|
6
|
+
from qtpy.QtCore import Slot as pyqtSlot
|
7
|
+
from qtpy.QtWidgets import QComboBox
|
8
|
+
|
9
|
+
from bec_widgets.widgets.motor_control.motor_control import MotorControlWidget
|
10
|
+
|
11
|
+
|
12
|
+
class MotorControlSelection(MotorControlWidget):
|
13
|
+
"""
|
14
|
+
Widget for selecting the motors to control.
|
15
|
+
|
16
|
+
Signals:
|
17
|
+
selected_motors_signal (pyqtSignal(str,str)): Signal to emit the selected motors.
|
18
|
+
Slots:
|
19
|
+
get_available_motors (pyqtSlot): Slot to populate the available motors in the combo boxes and set the index based on the configuration.
|
20
|
+
enable_motor_controls (pyqtSlot(bool)): Slot to enable/disable the motor controls GUI.
|
21
|
+
on_config_update (pyqtSlot(dict)): Slot to update the config dict.
|
22
|
+
"""
|
23
|
+
|
24
|
+
selected_motors_signal = pyqtSignal(str, str)
|
25
|
+
|
26
|
+
def _load_ui(self):
|
27
|
+
"""Load the UI from the .ui file."""
|
28
|
+
current_path = os.path.dirname(__file__)
|
29
|
+
uic.loadUi(os.path.join(current_path, "selection.ui"), self)
|
30
|
+
|
31
|
+
def _init_ui(self):
|
32
|
+
"""Initialize the UI."""
|
33
|
+
# Lock GUI while motors are moving
|
34
|
+
self.motor_thread.lock_gui.connect(self.enable_motor_controls)
|
35
|
+
|
36
|
+
self.pushButton_connecMotors.clicked.connect(self.select_motor)
|
37
|
+
self.get_available_motors()
|
38
|
+
|
39
|
+
# Connect change signals to change color
|
40
|
+
self.comboBox_motor_x.currentIndexChanged.connect(
|
41
|
+
lambda: self.set_combobox_style(self.comboBox_motor_x, "#ffa700")
|
42
|
+
)
|
43
|
+
self.comboBox_motor_y.currentIndexChanged.connect(
|
44
|
+
lambda: self.set_combobox_style(self.comboBox_motor_y, "#ffa700")
|
45
|
+
)
|
46
|
+
|
47
|
+
@pyqtSlot(dict)
|
48
|
+
def on_config_update(self, config: dict) -> None:
|
49
|
+
"""
|
50
|
+
Update config dict
|
51
|
+
Args:
|
52
|
+
config(dict): New config dict
|
53
|
+
"""
|
54
|
+
self.config = config
|
55
|
+
|
56
|
+
# Get motor names
|
57
|
+
self.motor_x, self.motor_y = (
|
58
|
+
self.config["motor_control"]["motor_x"],
|
59
|
+
self.config["motor_control"]["motor_y"],
|
60
|
+
)
|
61
|
+
|
62
|
+
self._init_ui()
|
63
|
+
|
64
|
+
@pyqtSlot(bool)
|
65
|
+
def enable_motor_controls(self, enable: bool) -> None:
|
66
|
+
"""
|
67
|
+
Enable or disable the motor controls.
|
68
|
+
Args:
|
69
|
+
enable(bool): True to enable, False to disable.
|
70
|
+
"""
|
71
|
+
self.motorSelection.setEnabled(enable)
|
72
|
+
|
73
|
+
@pyqtSlot()
|
74
|
+
def get_available_motors(self) -> None:
|
75
|
+
"""
|
76
|
+
Slot to populate the available motors in the combo boxes and set the index based on the configuration.
|
77
|
+
"""
|
78
|
+
# Get all available motors
|
79
|
+
self.motor_list = self.motor_thread.get_all_motors_names()
|
80
|
+
|
81
|
+
# Populate the combo boxes
|
82
|
+
self.comboBox_motor_x.addItems(self.motor_list)
|
83
|
+
self.comboBox_motor_y.addItems(self.motor_list)
|
84
|
+
|
85
|
+
# Set the index based on the config if provided
|
86
|
+
if self.config:
|
87
|
+
index_x = self.comboBox_motor_x.findText(self.motor_x)
|
88
|
+
index_y = self.comboBox_motor_y.findText(self.motor_y)
|
89
|
+
self.comboBox_motor_x.setCurrentIndex(index_x if index_x != -1 else 0)
|
90
|
+
self.comboBox_motor_y.setCurrentIndex(index_y if index_y != -1 else 0)
|
91
|
+
|
92
|
+
def set_combobox_style(self, combobox, color: str) -> None:
|
93
|
+
"""
|
94
|
+
Set the combobox style to a specific color.
|
95
|
+
Args:
|
96
|
+
combobox(QComboBox): Combobox to change the color.
|
97
|
+
color(str): Color to set the combobox to.
|
98
|
+
"""
|
99
|
+
combobox.setStyleSheet(f"QComboBox {{ background-color: {color}; }}")
|
100
|
+
|
101
|
+
def select_motor(self):
|
102
|
+
"""Emit the selected motors"""
|
103
|
+
motor_x = self.comboBox_motor_x.currentText()
|
104
|
+
motor_y = self.comboBox_motor_y.currentText()
|
105
|
+
|
106
|
+
# Reset the combobox color to normal after selection
|
107
|
+
self.set_combobox_style(self.comboBox_motor_x, "")
|
108
|
+
self.set_combobox_style(self.comboBox_motor_y, "")
|
109
|
+
|
110
|
+
self.selected_motors_signal.emit(motor_x, motor_y)
|
@@ -2,34 +2,34 @@
|
|
2
2
|
.gitlab-ci.yml,sha256=_PqbjtXpiMv7OxzoU-B47YU7majkBeE_JSKBtjGC5bQ,7431
|
3
3
|
.pylintrc,sha256=OstrgmEyP0smNFBKoIN5_26-UmNZgMHnbjvAWX0UrLs,18535
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=WvYpUPepbaVY0ekmMlIfdQauN2zBi05qT2HbAGGfo28,7064
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=apS5ixyctj9LOrWzs0N1yFvgfM4L2M-MuzdiPWV_-ck,1063
|
8
8
|
README.md,sha256=y4jB6wvArS7N8_iTbKWnSM_oRAqLA2GqgzUR-FMh5sU,2645
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=UcAdJ8fUfKwv8JZUD79z0YWEMxEte8nwtFfihxcZQcM,1776
|
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
|
13
13
|
.gitlab/issue_templates/feature_request_template.md,sha256=vjxCnmj53Mp4FPzCrNxhkO-8StRQUZ36PlXu4K8VGaI,1543
|
14
14
|
.gitlab/merge_request_templates/default.md,sha256=tfyFA0hRCsIunbLGSlGbxWBQFeB3USpsA3H7IvwQ5UY,715
|
15
15
|
bec_widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
+
bec_widgets/assets/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
|
17
|
+
bec_widgets/assets/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
|
16
18
|
bec_widgets/cli/__init__.py,sha256=v5oaQMydRVEaqKNI73A3_AbQ0efXxBt2SLoUBKANrV8,301
|
17
19
|
bec_widgets/cli/auto_updates.py,sha256=ptZeBKr13o9THc8oKLn93K_16i6G3pxzw8hZ4MUgjW4,3845
|
18
|
-
bec_widgets/cli/
|
19
|
-
bec_widgets/cli/
|
20
|
-
bec_widgets/cli/
|
21
|
-
bec_widgets/cli/generate_cli.py,sha256=FFDAogkEewfXMP20jkBBB08vcQdg5k1gnHpldXUcgOw,4101
|
20
|
+
bec_widgets/cli/client.py,sha256=MrLr7pg3Fn4AuVBNdZ_GWppjC2C6woI79_mXH14BYsE,45669
|
21
|
+
bec_widgets/cli/client_utils.py,sha256=IPWfseFBYFjCmBp4LsXyNUOcV5KTTdiW1jsLvG3jF5A,10536
|
22
|
+
bec_widgets/cli/generate_cli.py,sha256=SrcDnvSdvJs2IJe3CdONACApsS6F07CgC84cjfX64vM,4305
|
22
23
|
bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
|
23
24
|
bec_widgets/cli/rpc_wigdet_handler.py,sha256=u54ctT3-pHIf_4788didF4YBXbvNFQI1TqleSILEaZU,783
|
24
|
-
bec_widgets/cli/server.py,sha256=
|
25
|
+
bec_widgets/cli/server.py,sha256=rsj31Vsx6ayThNe4PQelQFahGjYXFZjfrNyB2fnm6Ro,5737
|
25
26
|
bec_widgets/examples/__init__.py,sha256=WWQ0cu7m8sA4Ehy-DWdTIqSISjaHsbxhsNmNrMnhDZU,202
|
26
27
|
bec_widgets/examples/eiger_plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
28
|
bec_widgets/examples/eiger_plot/eiger_plot.py,sha256=Uxl2Usf8jEzaX7AT8zVqa1x8ZIEgI1HmazSlb-tRFWE,10359
|
28
29
|
bec_widgets/examples/eiger_plot/eiger_plot.ui,sha256=grHfnO3OG_lelJhdRsnA0badCvRdDunPrIMIyNQ5N-w,5809
|
29
30
|
bec_widgets/examples/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=
|
31
|
+
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=eY_sSzc-XvH2S9xsoyeU1S6Qd99jaQOZ0wVBTwDeiP4,5788
|
31
32
|
bec_widgets/examples/jupyter_console/jupyter_console_window.ui,sha256=2A2mNTUMZBYygz8K4qWzrcjnNqZBMVyeHm26iLZVRWI,1473
|
32
|
-
bec_widgets/examples/jupyter_console/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
|
33
33
|
bec_widgets/examples/mca_readout/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
bec_widgets/examples/mca_readout/mca_plot.py,sha256=vjIOcTtHIsLmHW6N-bI7RTyjeYg0r8Ob-nZvvGC0kro,5124
|
35
35
|
bec_widgets/examples/mca_readout/mca_sim.py,sha256=IbVW10lmorsxP0Ctqe81-b_WBi96jBPgzAHCUBoPzTY,818
|
@@ -40,7 +40,7 @@ bec_widgets/examples/motor_movement/__init__.py,sha256=LzPJkxLAxOsZCbXR-fRCPmeYo
|
|
40
40
|
bec_widgets/examples/motor_movement/config_example.yaml,sha256=YT8Bl3ViTaP03cX9X8kIgWnkoxaQOFqS-oRrclGS2hc,356
|
41
41
|
bec_widgets/examples/motor_movement/csax_bec_config.yaml,sha256=cqhzwfIhFgHfCt90oVW3no8aVlWg7V42t4iiJCnydSw,146
|
42
42
|
bec_widgets/examples/motor_movement/csaxs_config.yaml,sha256=poNndp-1ptdnriIJ_RTnbAimFlOJ45VdxfkclGEQlgc,344
|
43
|
-
bec_widgets/examples/motor_movement/motor_control_compilations.py,sha256=
|
43
|
+
bec_widgets/examples/motor_movement/motor_control_compilations.py,sha256=hEkhCOjRgY1t7vZ1e_Olus2IeYDorybd8waHoVaM53Y,9303
|
44
44
|
bec_widgets/examples/motor_movement/motor_controller.ui,sha256=83XX6NGILwntoUIghvzWnMuGf80O8khK3SduVKTAEFM,29105
|
45
45
|
bec_widgets/examples/motor_movement/motor_example.py,sha256=P7gYgHldDR1tmAsEBePQRT7xIylsaN_jNWviwpDNek4,53350
|
46
46
|
bec_widgets/examples/stream_plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -61,34 +61,37 @@ bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQ
|
|
61
61
|
bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
|
62
62
|
bec_widgets/utils/widget_io.py,sha256=f36198CvT_EzWQ_cg2G-4tRRsaMdJ3yVqsZWKJCQEfA,10880
|
63
63
|
bec_widgets/utils/yaml_dialog.py,sha256=cMVif-39SB9WjwGH5FWBJcFs4tnfFJFs5cacydRyhy0,1853
|
64
|
-
bec_widgets/
|
65
|
-
bec_widgets/validation/monitor_config_validator.py,sha256=LJ0kk1cT0x6rAMuEM5XnmlUb-7caP-jqn4-UXe0Jjho,8145
|
66
|
-
bec_widgets/widgets/__init__.py,sha256=NOgRDV9-uwrH1OK2JdfG5c0WcW77TSRz3PeNlGw22Lc,392
|
64
|
+
bec_widgets/widgets/__init__.py,sha256=Pit_duh28VlsEIRfjLIVJ0EIRHJj7WFb-33SpMCmAEg,121
|
67
65
|
bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
|
68
66
|
bec_widgets/widgets/dock/dock.py,sha256=vnOQnOWWnd-3X07kniSW_I5l0uEHZOaWhfuqZkDGIqE,8467
|
69
67
|
bec_widgets/widgets/dock/dock_area.py,sha256=UaI5Z-c9C16lhTbXmEVzfl55Y8ymKSk4sPWGleIsUVY,7182
|
70
68
|
bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
|
71
|
-
bec_widgets/widgets/figure/figure.py,sha256=
|
72
|
-
bec_widgets/widgets/
|
73
|
-
bec_widgets/widgets/
|
74
|
-
bec_widgets/widgets/
|
75
|
-
bec_widgets/widgets/
|
76
|
-
bec_widgets/widgets/
|
77
|
-
bec_widgets/widgets/
|
78
|
-
bec_widgets/widgets/
|
79
|
-
bec_widgets/widgets/
|
80
|
-
bec_widgets/widgets/
|
81
|
-
bec_widgets/widgets/
|
82
|
-
bec_widgets/widgets/
|
83
|
-
bec_widgets/widgets/motor_control/
|
84
|
-
bec_widgets/widgets/motor_control/
|
85
|
-
bec_widgets/widgets/
|
86
|
-
bec_widgets/widgets/
|
87
|
-
bec_widgets/widgets/
|
88
|
-
bec_widgets/widgets/
|
89
|
-
bec_widgets/widgets/
|
90
|
-
bec_widgets/widgets/
|
91
|
-
bec_widgets/widgets/
|
69
|
+
bec_widgets/widgets/figure/figure.py,sha256=MbnG6d738aYgNiFuOFHgyaGre0eVLA8OdSg-Xx7XIYU,29712
|
70
|
+
bec_widgets/widgets/figure/plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
|
+
bec_widgets/widgets/figure/plots/plot_base.py,sha256=oNUXEe94bD0_fVu-HPMRaoAuwPMW0DOAN8vvOeRz254,8513
|
72
|
+
bec_widgets/widgets/figure/plots/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
|
+
bec_widgets/widgets/figure/plots/image/image.py,sha256=fdANm_lMzmKeddwCq3Arc1p48VakAYRlhY2q3pZspDI,19669
|
74
|
+
bec_widgets/widgets/figure/plots/image/image_item.py,sha256=1oytCY2IIgRbtS3GRrp9JV02KOif78O2-iaK0qYuHFU,9058
|
75
|
+
bec_widgets/widgets/figure/plots/image/image_processor.py,sha256=59JwHMEBjLo72fmrAB7W1PFBT2oBe16heBaZfYM6MAk,4368
|
76
|
+
bec_widgets/widgets/figure/plots/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
|
+
bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=HKRbt8sD8fmzpYcEWD8-nYs1Mv7pLup1BfRAEVmKN3A,15246
|
78
|
+
bec_widgets/widgets/figure/plots/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
79
|
+
bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=k6Lh08V00N9gATppaLgaSaij4Husf8sYU_HXTvF3oB4,21664
|
80
|
+
bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=9q7nJfyH8y9rWw_AIOd6tk7cbckoAGNLHv2oHEKCCyo,7229
|
81
|
+
bec_widgets/widgets/motor_control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
|
+
bec_widgets/widgets/motor_control/motor_control.py,sha256=UrLCvp3J6uiVxWV2jqQbsA2nsMf9s_rrDH2KjnUm-bk,7890
|
83
|
+
bec_widgets/widgets/motor_control/motor_table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
|
+
bec_widgets/widgets/motor_control/motor_table/motor_table.py,sha256=XSTaNfTXg6qeycxxQ0Y0SBwJLW2toRPj7cGGbkzcEB0,17387
|
85
|
+
bec_widgets/widgets/motor_control/motor_table/motor_table.ui,sha256=t6aRKiSmutMfp0AyupavbCs0cal-FANEnlKQiPzC9PQ,2792
|
86
|
+
bec_widgets/widgets/motor_control/movement_absolute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
87
|
+
bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py,sha256=Ol50UpMvF2_MJR7wesETUG5gUkNBmqRP5qTOeA4prH8,5516
|
88
|
+
bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui,sha256=nR3p6oevAkIBTLW5wM_zYOVWsCAUgeMZdRm10Q77COE,4126
|
89
|
+
bec_widgets/widgets/motor_control/movement_relative/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
|
+
bec_widgets/widgets/motor_control/movement_relative/movement_relative.py,sha256=5gqdWvDfadT_DZm6o3qYw8UgdKlcpEwKDtU7_usP3oo,8706
|
91
|
+
bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui,sha256=PulNJNiws7TRAxHM2snNyvlmQ0tRShdArHmtaC85h4U,8684
|
92
|
+
bec_widgets/widgets/motor_control/selection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
93
|
+
bec_widgets/widgets/motor_control/selection/selection.py,sha256=WNHndvv4JvxeAMnDFBMTvUILcn9u_0mWGRsgNiBZEsM,3988
|
94
|
+
bec_widgets/widgets/motor_control/selection/selection.ui,sha256=vXXpvNWuL6xyHhW7Lx1zmVFX-95Z5AXGlhKQD2HmM1A,1779
|
92
95
|
bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
|
93
96
|
bec_widgets/widgets/scan_control/scan_control.py,sha256=B5n2U2iVtTCY3Tx93JyBqzGCDCmWhWwAOhbPelLI-bs,17168
|
94
97
|
bec_widgets/widgets/toolbar/__init__.py,sha256=d-TP4_cr_VbpwreMM4ePnfZ5YXsEPQ45ibEf75nuGoE,36
|
@@ -97,7 +100,7 @@ docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
|
|
97
100
|
docs/conf.py,sha256=pASMheaNEMnHl91PHQWUW0uu3OqXByYnDeSrlrVAUeI,2474
|
98
101
|
docs/index.md,sha256=6HrqaPXb5uUPEtM2gZaVUi1wM1kUYmdC2aIFpmItzZ0,453
|
99
102
|
docs/make.bat,sha256=vKazJE8RW49Cy8K7hm8QYbletvAd8YkeKsaPA_dWnXs,800
|
100
|
-
docs/requirements.txt,sha256=
|
103
|
+
docs/requirements.txt,sha256=SbcWrLYX6tEZNMCUETgsE50Y7VioR1VX6YCeifuJWEc,140
|
101
104
|
docs/_templates/custom-class-template.rst,sha256=HPuPaGJob2zXlWOl5FmA-hAZRbUTGQmdqo3HS1iIFog,711
|
102
105
|
docs/_templates/custom-module-template.rst,sha256=MXYXAz06HP_mbblO--iFwL08xROmSBo7U4O-hPbMcZU,1228
|
103
106
|
docs/developer/developer.md,sha256=xJvO-EAf-9SqDARRnqFLRd8k_o258U97V0DmvgZKMos,477
|
@@ -118,31 +121,27 @@ docs/user/widgets/w1D.gif,sha256=tuHbleJpl6bJFNNC2OdndF5LF7IyfvlkFCMGZajrQPs,622
|
|
118
121
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
119
122
|
tests/end-2-end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
120
123
|
tests/end-2-end/conftest.py,sha256=b5Yebbj8C1-IcXq23XGbOnXF0kOZD_Po46Z-p4cBwfs,1346
|
121
|
-
tests/end-2-end/test_bec_dock_rpc_e2e.py,sha256=
|
122
|
-
tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=
|
123
|
-
tests/end-2-end/test_rpc_register_e2e.py,sha256=
|
124
|
+
tests/end-2-end/test_bec_dock_rpc_e2e.py,sha256=V4GC1G_qjtOapwkj7jrR8xfeALBsXeQBmEtAJd2uyB4,4572
|
125
|
+
tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=X8lQLx2NsB6-nU61IhVtAw1-pJ4A2qFgx5PxOWC0V7Q,5527
|
126
|
+
tests/end-2-end/test_rpc_register_e2e.py,sha256=M7sSq3us2yQIW5tAIFOFfBULatZTQNLdt0frh1bINts,1595
|
124
127
|
tests/unit_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
128
|
tests/unit_tests/client_mocks.py,sha256=ErrklY7446jXE2_XGKebs_a-2Pqif5ECOPvxVAKRZXY,4170
|
126
129
|
tests/unit_tests/conftest.py,sha256=KrnktXPWmZhnKNue-xGWOLD1XGEvdz9Vf7V2eO3XQ3A,596
|
127
130
|
tests/unit_tests/test_bec_connector.py,sha256=f2XXGGw3NoZLIUrDuZuEWwF_ttOYmmquCgUrV5XkIOY,1951
|
128
131
|
tests/unit_tests/test_bec_dispatcher.py,sha256=rYPiRizHaswhGZw55IBMneDFxmPiCCLAZQBqjEkpdyY,3992
|
129
|
-
tests/unit_tests/test_bec_dock.py,sha256=
|
130
|
-
tests/unit_tests/test_bec_figure.py,sha256=
|
131
|
-
tests/unit_tests/
|
132
|
-
tests/unit_tests/test_bec_motor_map.py,sha256=oAhnahV9UcPknsCgoP_TwTIlagKola2HFajmtkxzSyo,4588
|
132
|
+
tests/unit_tests/test_bec_dock.py,sha256=gvtNkkCPrDFY_1qZ53ZXChdgmQFSwwQrr1VeZC5ybKc,3610
|
133
|
+
tests/unit_tests/test_bec_figure.py,sha256=xYAftY8bI_EH-SlNPD0Tjd7FS_47ouZ1E4hrpjPt7O4,8002
|
134
|
+
tests/unit_tests/test_bec_motor_map.py,sha256=AfD_9-x6VV3TPnkQgNfFYRndPHDsGx-a_YknFeDr6hc,4588
|
133
135
|
tests/unit_tests/test_client_utils.py,sha256=fIApd5WgnJuyIzV-hdSABn6T-aOel2Wr2xuUX4Z651A,774
|
134
|
-
tests/unit_tests/test_config_dialog.py,sha256=Y8I9zGG8G9jh0MRCsNl5dQT17bZL6BWaDja7fW1ncCs,6924
|
135
136
|
tests/unit_tests/test_crosshair.py,sha256=d7fX-ymboZPALNqqiAj86PZ96llmGZ_3jf0yjVP0S94,5039
|
136
137
|
tests/unit_tests/test_eiger_plot.py,sha256=bWnKBQid0YcLMQeBLy6ojb4ZpwTG-rFVT0kMg9Y08p8,4427
|
137
138
|
tests/unit_tests/test_generate_cli_client.py,sha256=J7CFoO67txGu_u1Mwk32EejRX204FRuvmVg_yhAr1WM,2397
|
138
|
-
tests/unit_tests/test_motor_control.py,sha256=
|
139
|
-
tests/unit_tests/test_motor_map.py,sha256=aKhJtgHOLMOlpniguuH5iGKh72ihYZ1L2S2KEmZUC0k,5875
|
139
|
+
tests/unit_tests/test_motor_control.py,sha256=ksjzcml9hAr-mMxL4NVAeEYGBaSDvE2pR_n3Rvz8fEQ,20579
|
140
140
|
tests/unit_tests/test_plot_base.py,sha256=bOdlgAxh9oKk5PwiQ_MSFmzr44uJ61Tlg242RCIhl5c,2610
|
141
141
|
tests/unit_tests/test_rpc_register.py,sha256=hECjZEimd440mwRrO0rg7L3PKN7__3DgjmESN6wx3bo,1179
|
142
142
|
tests/unit_tests/test_scan_control.py,sha256=7dtGpE0g4FqUhhQeCkyJl-9o7NH3DFZJgEaqDmBYbBc,7551
|
143
143
|
tests/unit_tests/test_stream_plot.py,sha256=gMd-ga72OCGzE09vRuoLDH8dqeEJOnrvK-4Lu-TG5RY,5760
|
144
|
-
tests/unit_tests/
|
145
|
-
tests/unit_tests/test_waveform1d.py,sha256=cBtESTQgsVQdv-Wl75eHK9D8YY-b60Z5wqtPCo9ohu0,15002
|
144
|
+
tests/unit_tests/test_waveform1d.py,sha256=Xi9TdZmxoMmmje37lq03FG9lytEdZCTUEjtOC0LvZjA,15263
|
146
145
|
tests/unit_tests/test_widget_io.py,sha256=FeL3ZYSBQnRt6jxj8VGYw1cmcicRQyHKleahw7XIyR0,3475
|
147
146
|
tests/unit_tests/test_yaml_dialog.py,sha256=HNrqferkdg02-9ieOhhI2mr2Qvt7GrYgXmQ061YCTbg,5794
|
148
147
|
tests/unit_tests/test_configs/config_device.yaml,sha256=h3zNb5ZaT_sA59Sf-24qsXs54MgUsspo-GOJmKWHx3o,695
|
@@ -150,7 +149,7 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
|
|
150
149
|
tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
|
151
150
|
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
152
151
|
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
153
|
-
bec_widgets-0.
|
154
|
-
bec_widgets-0.
|
155
|
-
bec_widgets-0.
|
156
|
-
bec_widgets-0.
|
152
|
+
bec_widgets-0.54.0.dist-info/METADATA,sha256=apS5ixyctj9LOrWzs0N1yFvgfM4L2M-MuzdiPWV_-ck,1063
|
153
|
+
bec_widgets-0.54.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
154
|
+
bec_widgets-0.54.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
155
|
+
bec_widgets-0.54.0.dist-info/RECORD,,
|
docs/requirements.txt
CHANGED
pyproject.toml
CHANGED
@@ -38,7 +38,7 @@ def test_rpc_add_dock_with_figure_e2e(rpc_server_dock, qtbot):
|
|
38
38
|
assert fig2.__class__ == BECFigure
|
39
39
|
|
40
40
|
mm = fig0.motor_map("samx", "samy")
|
41
|
-
plt = fig1.plot("samx", "bpm4i")
|
41
|
+
plt = fig1.plot(x_name="samx", y_name="bpm4i")
|
42
42
|
im = fig2.image("eiger")
|
43
43
|
|
44
44
|
assert mm.__class__.__name__ == "BECMotorMap"
|
@@ -23,7 +23,7 @@ def test_rpc_plotting_shortcuts_init_configs(rpc_server_figure, qtbot):
|
|
23
23
|
fig = BECFigure(rpc_server_figure.gui_id)
|
24
24
|
fig_server = rpc_server_figure.gui
|
25
25
|
|
26
|
-
plt = fig.plot("samx", "bpm4i")
|
26
|
+
plt = fig.plot(x_name="samx", y_name="bpm4i")
|
27
27
|
im = fig.image("eiger")
|
28
28
|
motor_map = fig.motor_map("samx", "samy")
|
29
29
|
plt_z = fig.add_plot("samx", "samy", "bpm4i")
|
@@ -79,9 +79,9 @@ def test_rpc_waveform_scan(rpc_server_figure, qtbot):
|
|
79
79
|
fig = BECFigure(rpc_server_figure.gui_id)
|
80
80
|
|
81
81
|
# add 3 different curves to track
|
82
|
-
plt = fig.plot("samx", "bpm4i")
|
83
|
-
fig.plot("samx", "bpm3a")
|
84
|
-
fig.plot("samx", "bpm4d")
|
82
|
+
plt = fig.plot(x_name="samx", y_name="bpm4i")
|
83
|
+
fig.plot(x_name="samx", y_name="bpm3a")
|
84
|
+
fig.plot(x_name="samx", y_name="bpm4d")
|
85
85
|
|
86
86
|
client = rpc_server_figure.client
|
87
87
|
dev = client.device_manager.devices
|
@@ -22,7 +22,7 @@ def test_rpc_register_list_connections(rpc_server_figure, rpc_register, qtbot):
|
|
22
22
|
fig = BECFigure(rpc_server_figure.gui_id)
|
23
23
|
fig_server = rpc_server_figure.gui
|
24
24
|
|
25
|
-
plt = fig.plot("samx", "bpm4i")
|
25
|
+
plt = fig.plot(x_name="samx", y_name="bpm4i")
|
26
26
|
im = fig.image("eiger")
|
27
27
|
motor_map = fig.motor_map("samx", "samy")
|
28
28
|
plt_z = fig.add_plot("samx", "samy", "bpm4i")
|
@@ -59,7 +59,7 @@ def test_bec_dock_area_add_remove_dock(bec_dock_area, qtbot):
|
|
59
59
|
def test_add_remove_bec_figure_to_dock(bec_dock_area):
|
60
60
|
d0 = bec_dock_area.add_dock()
|
61
61
|
fig = d0.add_widget_bec("BECFigure")
|
62
|
-
plt = fig.plot("samx", "bpm4i")
|
62
|
+
plt = fig.plot(x_name="samx", y_name="bpm4i")
|
63
63
|
im = fig.image("eiger")
|
64
64
|
mm = fig.motor_map("samx", "samy")
|
65
65
|
|
@@ -3,8 +3,10 @@
|
|
3
3
|
import numpy as np
|
4
4
|
import pytest
|
5
5
|
|
6
|
-
from bec_widgets.widgets import BECFigure
|
7
|
-
from bec_widgets.widgets.plots import BECImageShow
|
6
|
+
from bec_widgets.widgets import BECFigure
|
7
|
+
from bec_widgets.widgets.figure.plots.image.image import BECImageShow
|
8
|
+
from bec_widgets.widgets.figure.plots.motor_map.motor_map import BECMotorMap
|
9
|
+
from bec_widgets.widgets.figure.plots.waveform.waveform import BECWaveform
|
8
10
|
|
9
11
|
from .client_mocks import mocked_client
|
10
12
|
|
@@ -63,7 +65,7 @@ def test_bec_figure_add_remove_plot(bec_figure):
|
|
63
65
|
|
64
66
|
|
65
67
|
def test_add_different_types_of_widgets(bec_figure):
|
66
|
-
plt = bec_figure.plot("samx", "bpm4i")
|
68
|
+
plt = bec_figure.plot(x_name="samx", y_name="bpm4i")
|
67
69
|
im = bec_figure.image("eiger")
|
68
70
|
motor_map = bec_figure.motor_map("samx", "samy")
|
69
71
|
|
@@ -226,7 +228,7 @@ def test_clear_all(bec_figure):
|
|
226
228
|
|
227
229
|
|
228
230
|
def test_shortcuts(bec_figure):
|
229
|
-
plt = bec_figure.plot("samx", "bpm4i")
|
231
|
+
plt = bec_figure.plot(x_name="samx", y_name="bpm4i")
|
230
232
|
im = bec_figure.image("eiger")
|
231
233
|
motor_map = bec_figure.motor_map("samx", "samy")
|
232
234
|
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import pytest
|
2
2
|
|
3
|
-
from bec_widgets.widgets import BECMotorMap
|
4
|
-
from bec_widgets.widgets.plots.
|
5
|
-
from bec_widgets.widgets.plots.waveform import Signal, SignalData
|
3
|
+
from bec_widgets.widgets.figure.plots.motor_map.motor_map import BECMotorMap, MotorMapConfig
|
4
|
+
from bec_widgets.widgets.figure.plots.waveform.waveform_curve import SignalData
|
6
5
|
|
7
6
|
from .client_mocks import mocked_client
|
8
7
|
|