bec-widgets 0.52.0__py3-none-any.whl → 0.52.1__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.
- bec_widgets/cli/client.py +123 -8
- bec_widgets/cli/client_utils.py +1 -0
- bec_widgets/cli/generate_cli.py +1 -0
- bec_widgets/cli/rpc_register.py +4 -0
- bec_widgets/cli/rpc_wigdet_handler.py +1 -0
- bec_widgets/utils/bec_connector.py +7 -0
- bec_widgets/utils/bec_table.py +1 -0
- bec_widgets/utils/container_utils.py +3 -0
- bec_widgets/utils/crosshair.py +1 -0
- bec_widgets/utils/entry_validator.py +2 -0
- bec_widgets/utils/layout_manager.py +4 -0
- bec_widgets/utils/widget_io.py +5 -0
- bec_widgets/utils/yaml_dialog.py +2 -0
- bec_widgets/validation/monitor_config_validator.py +2 -1
- bec_widgets/widgets/dock/dock_area.py +5 -0
- bec_widgets/widgets/figure/figure.py +12 -0
- bec_widgets/widgets/plots/image.py +41 -0
- bec_widgets/widgets/plots/motor_map.py +14 -0
- bec_widgets/widgets/plots/plot_base.py +10 -0
- bec_widgets/widgets/plots/waveform.py +31 -0
- bec_widgets/widgets/scan_control/scan_control.py +10 -2
- bec_widgets/widgets/toolbar/toolbar.py +1 -0
- {bec_widgets-0.52.0.dist-info → bec_widgets-0.52.1.dist-info}/METADATA +1 -1
- {bec_widgets-0.52.0.dist-info → bec_widgets-0.52.1.dist-info}/RECORD +27 -29
- bec_widgets/simulations/__init__.py +0 -0
- bec_widgets/utils/ctrl_c.py +0 -39
- {bec_widgets-0.52.0.dist-info → bec_widgets-0.52.1.dist-info}/LICENSE +0 -0
- {bec_widgets-0.52.0.dist-info → bec_widgets-0.52.1.dist-info}/WHEEL +0 -0
- {bec_widgets-0.52.0.dist-info → bec_widgets-0.52.1.dist-info}/top_level.txt +0 -0
@@ -109,6 +109,7 @@ class ScanControl(QWidget):
|
|
109
109
|
def add_horizontal_separator(self, layout) -> None:
|
110
110
|
"""
|
111
111
|
Adds a horizontal separator to the given layout
|
112
|
+
|
112
113
|
Args:
|
113
114
|
layout: Layout to add the separator to
|
114
115
|
"""
|
@@ -142,6 +143,7 @@ class ScanControl(QWidget):
|
|
142
143
|
def add_labels_to_layout(self, labels: list, grid_layout: QGridLayout) -> None:
|
143
144
|
"""
|
144
145
|
Adds labels to the given grid layout as a separate row.
|
146
|
+
|
145
147
|
Args:
|
146
148
|
labels (list): List of label names to add.
|
147
149
|
grid_layout (QGridLayout): The grid layout to which labels will be added.
|
@@ -157,6 +159,7 @@ class ScanControl(QWidget):
|
|
157
159
|
) -> None: # TODO could be moved to BECTable
|
158
160
|
"""
|
159
161
|
Adds labels to the given table widget as a header row.
|
162
|
+
|
160
163
|
Args:
|
161
164
|
labels(list): List of label names to add.
|
162
165
|
table(QTableWidget): The table widget to which labels will be added.
|
@@ -166,7 +169,8 @@ class ScanControl(QWidget):
|
|
166
169
|
|
167
170
|
def generate_args_input_fields(self, scan_info: dict) -> None:
|
168
171
|
"""
|
169
|
-
Generates input fields for args
|
172
|
+
Generates input fields for args.
|
173
|
+
|
170
174
|
Args:
|
171
175
|
scan_info(dict): Scan signature dictionary from BEC.
|
172
176
|
"""
|
@@ -188,6 +192,7 @@ class ScanControl(QWidget):
|
|
188
192
|
def generate_kwargs_input_fields(self, scan_info: dict) -> None:
|
189
193
|
"""
|
190
194
|
Generates input fields for kwargs
|
195
|
+
|
191
196
|
Args:
|
192
197
|
scan_info(dict): Scan signature dictionary from BEC.
|
193
198
|
"""
|
@@ -213,12 +218,13 @@ class ScanControl(QWidget):
|
|
213
218
|
def generate_widgets_from_signature(self, items: list, signature: dict = None) -> list:
|
214
219
|
"""
|
215
220
|
Generates widgets from the given list of items.
|
221
|
+
|
216
222
|
Args:
|
217
223
|
items(list): List of items to create widgets for.
|
218
224
|
signature(dict, optional): Scan signature dictionary from BEC.
|
219
225
|
|
220
226
|
Returns:
|
221
|
-
|
227
|
+
list: List of widgets created from the given items.
|
222
228
|
"""
|
223
229
|
widgets = [] # Initialize an empty list to hold the widgets
|
224
230
|
|
@@ -333,6 +339,7 @@ class ScanControl(QWidget):
|
|
333
339
|
def clear_and_delete_layout(self, layout: QLayout):
|
334
340
|
"""
|
335
341
|
Clears and deletes the given layout and all its child widgets.
|
342
|
+
|
336
343
|
Args:
|
337
344
|
layout(QLayout): Layout to clear and delete
|
338
345
|
"""
|
@@ -383,6 +390,7 @@ class ScanControl(QWidget):
|
|
383
390
|
def extract_args_from_table(self, table: QTableWidget) -> list:
|
384
391
|
"""
|
385
392
|
Extracts the arguments from the given table widget.
|
393
|
+
|
386
394
|
Args:
|
387
395
|
table(QTableWidget): Table widget from which to extract the arguments
|
388
396
|
"""
|
@@ -82,6 +82,7 @@ class RunScriptAction:
|
|
82
82
|
|
83
83
|
class ModularToolBar(QToolBar):
|
84
84
|
"""Modular toolbar with optional automatic initialization.
|
85
|
+
|
85
86
|
Args:
|
86
87
|
parent (QWidget, optional): The parent widget of the toolbar. Defaults to None.
|
87
88
|
auto_init (bool, optional): If True, automatically populates the toolbar based on the parent widget.
|
@@ -2,11 +2,11 @@ bec_widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
bec_widgets/cli/__init__.py,sha256=EHPu69lxYndxm6tJqwHHlktuq0hvOCaid1Nxh0jaexo,91
|
3
3
|
bec_widgets/cli/auto_updates.py,sha256=ptZeBKr13o9THc8oKLn93K_16i6G3pxzw8hZ4MUgjW4,3845
|
4
4
|
bec_widgets/cli/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
|
5
|
-
bec_widgets/cli/client.py,sha256=
|
6
|
-
bec_widgets/cli/client_utils.py,sha256=
|
7
|
-
bec_widgets/cli/generate_cli.py,sha256=
|
8
|
-
bec_widgets/cli/rpc_register.py,sha256=
|
9
|
-
bec_widgets/cli/rpc_wigdet_handler.py,sha256=
|
5
|
+
bec_widgets/cli/client.py,sha256=WWWj7wE2nZW9JCMcrxRxDjuEnqyfR9bCfjkpUYoW7oI,45613
|
6
|
+
bec_widgets/cli/client_utils.py,sha256=DNMjH0g3P8k0pdKh7J3d0jNMQ_H1OYtbwSe1Oek1LH0,10402
|
7
|
+
bec_widgets/cli/generate_cli.py,sha256=FFDAogkEewfXMP20jkBBB08vcQdg5k1gnHpldXUcgOw,4101
|
8
|
+
bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
|
9
|
+
bec_widgets/cli/rpc_wigdet_handler.py,sha256=_a035h9wEB-CQ0CwjNEuowcvlh3UstHu6EdY-UDQOQA,798
|
10
10
|
bec_widgets/cli/server.py,sha256=wIDOd56ZPfnM42pOJD8NCI3Dw38Aurb9TwwTrricfvU,5773
|
11
11
|
bec_widgets/examples/__init__.py,sha256=WWQ0cu7m8sA4Ehy-DWdTIqSISjaHsbxhsNmNrMnhDZU,202
|
12
12
|
bec_widgets/examples/eiger_plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -29,31 +29,29 @@ bec_widgets/examples/motor_movement/motor_example.py,sha256=_0S_VnksFhwb3WM3dQuI
|
|
29
29
|
bec_widgets/examples/stream_plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
30
|
bec_widgets/examples/stream_plot/line_plot.ui,sha256=rgNfhOXu1AcWF0P6wnOlmJKDjS-VIoduVrREvmzJQR8,4626
|
31
31
|
bec_widgets/examples/stream_plot/stream_plot.py,sha256=vHii1p9JxSyGQ_VcCjnk9SHJ41Q6Oi1GGd6swVVHLRM,12177
|
32
|
-
bec_widgets/simulations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
32
|
bec_widgets/utils/__init__.py,sha256=PAHNbPFnPD-XGxKBZ7ctx9WBrvm9MArkCYDNfoOxVJA,449
|
34
|
-
bec_widgets/utils/bec_connector.py,sha256=
|
33
|
+
bec_widgets/utils/bec_connector.py,sha256=dsAPYbI4XzH3JnPcpAX3Z90OmcNVbNrDXPg3l7x8xy8,5185
|
35
34
|
bec_widgets/utils/bec_dispatcher.py,sha256=xJrsHJ-flLFGA-XCa6wCsMzMpRu1fAy9IcUuLh6igSo,5569
|
36
|
-
bec_widgets/utils/bec_table.py,sha256=
|
35
|
+
bec_widgets/utils/bec_table.py,sha256=nA2b8ukSeUfquFMAxGrUVOqdrzMoDYD6O_4EYbOG2zk,717
|
37
36
|
bec_widgets/utils/colors.py,sha256=JsLxzkxbw-I8GIuvnIKyiM83n0edhyMG2Fa4Ffm62ww,2392
|
38
|
-
bec_widgets/utils/container_utils.py,sha256=
|
39
|
-
bec_widgets/utils/crosshair.py,sha256=
|
40
|
-
bec_widgets/utils/
|
41
|
-
bec_widgets/utils/
|
42
|
-
bec_widgets/utils/layout_manager.py,sha256=hSHH3DTnaM7DyjUF9ko5FVrBdeFhY6KbhteLBnujFt0,4723
|
37
|
+
bec_widgets/utils/container_utils.py,sha256=m3VUyAYmSWkEwApP9tBvKxPYVtc2kHw4toxIpMryJy4,1495
|
38
|
+
bec_widgets/utils/crosshair.py,sha256=L4-N8HGgCbY0L3qftv8vi3c9FRdr1aMsRhI54w8aFso,9407
|
39
|
+
bec_widgets/utils/entry_validator.py,sha256=IqmtResXQtnmMvWVSl8IrnggqSzXLp4cSggn6WdSTpE,1298
|
40
|
+
bec_widgets/utils/layout_manager.py,sha256=H0nKsIMaPxRkof1MEXlSmW6w1dFxA6astaGzf4stI84,4727
|
43
41
|
bec_widgets/utils/plugin_utils.py,sha256=wi5x7VVFee0PqAcP-EqPWjYfSe-LLhaK93y6qmnbLIw,1487
|
44
42
|
bec_widgets/utils/rpc_decorator.py,sha256=pIvtqySQLnuS7l2Ti_UAe4WX7CRivZnsE5ZdKAihxh0,479
|
45
43
|
bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQDQpbuE,1607
|
46
44
|
bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
|
47
|
-
bec_widgets/utils/widget_io.py,sha256=
|
48
|
-
bec_widgets/utils/yaml_dialog.py,sha256=
|
45
|
+
bec_widgets/utils/widget_io.py,sha256=f36198CvT_EzWQ_cg2G-4tRRsaMdJ3yVqsZWKJCQEfA,10880
|
46
|
+
bec_widgets/utils/yaml_dialog.py,sha256=cMVif-39SB9WjwGH5FWBJcFs4tnfFJFs5cacydRyhy0,1853
|
49
47
|
bec_widgets/validation/__init__.py,sha256=ismd1bU5FhFb0zFPwNKuq7oT48G4Y2GfaMZOdNKUtGk,132
|
50
|
-
bec_widgets/validation/monitor_config_validator.py,sha256=
|
48
|
+
bec_widgets/validation/monitor_config_validator.py,sha256=LJ0kk1cT0x6rAMuEM5XnmlUb-7caP-jqn4-UXe0Jjho,8145
|
51
49
|
bec_widgets/widgets/__init__.py,sha256=NOgRDV9-uwrH1OK2JdfG5c0WcW77TSRz3PeNlGw22Lc,392
|
52
50
|
bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
|
53
51
|
bec_widgets/widgets/dock/dock.py,sha256=vnOQnOWWnd-3X07kniSW_I5l0uEHZOaWhfuqZkDGIqE,8467
|
54
|
-
bec_widgets/widgets/dock/dock_area.py,sha256=
|
52
|
+
bec_widgets/widgets/dock/dock_area.py,sha256=cmEsGq-QQvy-j7L5vYMxjpvFLZVOpK9P0KekpH2E4TM,7207
|
55
53
|
bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
|
56
|
-
bec_widgets/widgets/figure/figure.py,sha256=
|
54
|
+
bec_widgets/widgets/figure/figure.py,sha256=E3H2O5M_ZyAgnej3MkpFbWZAtAvWFpgdtiM14lbQjlw,28756
|
57
55
|
bec_widgets/widgets/monitor/__init__.py,sha256=afXuZcBOxNAuYdCkIQXX5J60R5A3Q_86lNEW2vpFtPI,32
|
58
56
|
bec_widgets/widgets/monitor/config_dialog.py,sha256=Z1a4WRIVlfEGdwC-QG25kba2EHCZWi5J843tBVZlWiI,20275
|
59
57
|
bec_widgets/widgets/monitor/config_dialog.ui,sha256=ISMcF7CLTAMXhfZh2Yv5yezzAjMtb9fxY1pmX4B_jCg,5932
|
@@ -68,14 +66,14 @@ bec_widgets/widgets/motor_control/motor_control_table.ui,sha256=t6aRKiSmutMfp0Ay
|
|
68
66
|
bec_widgets/widgets/motor_map/__init__.py,sha256=K3c-3A_LbxK0UJ0_bV3opL-wGLTwBLendsJXsg8GAqE,32
|
69
67
|
bec_widgets/widgets/motor_map/motor_map.py,sha256=vJlLWa0BXv5KMZ7UVT0q3I1I5CXgsDiXoM_ptsAsG3c,21860
|
70
68
|
bec_widgets/widgets/plots/__init__.py,sha256=yaCWQEXiEVj3Oh9qvD3UDzY2HE2PiDKKyKINEcVeL2k,238
|
71
|
-
bec_widgets/widgets/plots/image.py,sha256=
|
72
|
-
bec_widgets/widgets/plots/motor_map.py,sha256=
|
73
|
-
bec_widgets/widgets/plots/plot_base.py,sha256=
|
74
|
-
bec_widgets/widgets/plots/waveform.py,sha256=
|
69
|
+
bec_widgets/widgets/plots/image.py,sha256=nCgL5TK4x4uMUuF_SCfepUJaf9T3bmyvp0eU6PqT3gM,32434
|
70
|
+
bec_widgets/widgets/plots/motor_map.py,sha256=kA2ALQFalg64xGuyRt7RAQ1DIiBpZUWyyWf3sT1LztU,15297
|
71
|
+
bec_widgets/widgets/plots/plot_base.py,sha256=oNUXEe94bD0_fVu-HPMRaoAuwPMW0DOAN8vvOeRz254,8513
|
72
|
+
bec_widgets/widgets/plots/waveform.py,sha256=DXoc3GSyEuhFFNCkvCOuY5bezS7yDQ_ynTKHgCVtktw,28611
|
75
73
|
bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
|
76
|
-
bec_widgets/widgets/scan_control/scan_control.py,sha256=
|
74
|
+
bec_widgets/widgets/scan_control/scan_control.py,sha256=7UNCnt4XBXn_W9cq3Gm0oC12ZlQNERgdo--7UzyMJig,17188
|
77
75
|
bec_widgets/widgets/toolbar/__init__.py,sha256=d-TP4_cr_VbpwreMM4ePnfZ5YXsEPQ45ibEf75nuGoE,36
|
78
|
-
bec_widgets/widgets/toolbar/toolbar.py,sha256=
|
76
|
+
bec_widgets/widgets/toolbar/toolbar.py,sha256=e0zCD_0q7K4NVhrzD8001Qvfxt-VhqHTgofchS9NgCM,5125
|
79
77
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
78
|
tests/end-2-end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
81
79
|
tests/end-2-end/conftest.py,sha256=b5Yebbj8C1-IcXq23XGbOnXF0kOZD_Po46Z-p4cBwfs,1346
|
@@ -108,8 +106,8 @@ tests/unit_tests/test_widget_io.py,sha256=FeL3ZYSBQnRt6jxj8VGYw1cmcicRQyHKleahw7
|
|
108
106
|
tests/unit_tests/test_yaml_dialog.py,sha256=HNrqferkdg02-9ieOhhI2mr2Qvt7GrYgXmQ061YCTbg,5794
|
109
107
|
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
108
|
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
111
|
-
bec_widgets-0.52.
|
112
|
-
bec_widgets-0.52.
|
113
|
-
bec_widgets-0.52.
|
114
|
-
bec_widgets-0.52.
|
115
|
-
bec_widgets-0.52.
|
109
|
+
bec_widgets-0.52.1.dist-info/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
110
|
+
bec_widgets-0.52.1.dist-info/METADATA,sha256=yxz2llCxurAtFc3xAZgLXHEQA4LZmxP7vFVhTCy-3ms,3724
|
111
|
+
bec_widgets-0.52.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
112
|
+
bec_widgets-0.52.1.dist-info/top_level.txt,sha256=EXCwhJYmXmd1DjYYL3hrGsddX-97IwYSiIHrf27FFVk,18
|
113
|
+
bec_widgets-0.52.1.dist-info/RECORD,,
|
File without changes
|
bec_widgets/utils/ctrl_c.py
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
# TODO haven't found yet how to deal with QAbstractSocket in qtpy
|
2
|
-
# import signal
|
3
|
-
# import socket
|
4
|
-
# from PyQt5.QtNetwork import QAbstractSocket
|
5
|
-
#
|
6
|
-
#
|
7
|
-
# def setup(app):
|
8
|
-
# app.signalwatchdog = SignalWatchdog() # need to store to keep socket pair alive
|
9
|
-
# signal.signal(signal.SIGINT, make_quit_handler(app))
|
10
|
-
#
|
11
|
-
#
|
12
|
-
# def make_quit_handler(app):
|
13
|
-
# def handler(*args):
|
14
|
-
# print() # make ^C appear on its own line
|
15
|
-
# app.quit()
|
16
|
-
#
|
17
|
-
# return handler
|
18
|
-
#
|
19
|
-
#
|
20
|
-
# class SignalWatchdog(QAbstractSocket):
|
21
|
-
# def __init__(self):
|
22
|
-
# """
|
23
|
-
# Propagates system signals from Python to QEventLoop
|
24
|
-
# adapted from https://stackoverflow.com/a/65802260/655404
|
25
|
-
# """
|
26
|
-
# super().__init__(QAbstractSocket.SctpSocket, None)
|
27
|
-
#
|
28
|
-
# self.writer, self.reader = writer, reader = socket.socketpair()
|
29
|
-
# writer.setblocking(False)
|
30
|
-
#
|
31
|
-
# fd_writer = writer.fileno()
|
32
|
-
# fd_reader = reader.fileno()
|
33
|
-
#
|
34
|
-
# signal.set_wakeup_fd(fd_writer) # Python hook
|
35
|
-
# self.setSocketDescriptor(fd_reader) # Qt hook
|
36
|
-
#
|
37
|
-
# self.readyRead.connect(
|
38
|
-
# lambda: None
|
39
|
-
# ) # dummy function call that lets the Python interpreter run
|
File without changes
|
File without changes
|
File without changes
|