bec-widgets 1.17.2__py3-none-any.whl → 1.18.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.
- .gitlab-ci.yml +5 -6
- CHANGELOG.md +37 -0
- PKG-INFO +1 -4
- README.md +15 -19
- bec_widgets/cli/generate_cli.py +15 -6
- bec_widgets/examples/jupyter_console/jupyter_console_window.py +12 -0
- bec_widgets/qt_utils/round_frame.py +6 -4
- bec_widgets/qt_utils/side_panel.py +60 -79
- bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combo_box.py +17 -0
- bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box.pyproject +1 -0
- bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box_plugin.py +54 -0
- bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +1 -1
- bec_widgets/widgets/plots_next_gen/plot_base.py +571 -0
- bec_widgets/widgets/plots_next_gen/setting_menus/__init__.py +0 -0
- bec_widgets/widgets/plots_next_gen/setting_menus/axis_settings.py +95 -0
- bec_widgets/widgets/plots_next_gen/setting_menus/axis_settings_horizontal.ui +256 -0
- bec_widgets/widgets/plots_next_gen/setting_menus/axis_settings_vertical.ui +240 -0
- bec_widgets/widgets/plots_next_gen/toolbar_bundles/__init__.py +0 -0
- bec_widgets/widgets/plots_next_gen/toolbar_bundles/mouse_interactions.py +88 -0
- bec_widgets/widgets/plots_next_gen/toolbar_bundles/plot_export.py +63 -0
- bec_widgets/widgets/plots_next_gen/toolbar_bundles/save_state.py +48 -0
- {bec_widgets-1.17.2.dist-info → bec_widgets-1.18.1.dist-info}/METADATA +1 -4
- {bec_widgets-1.17.2.dist-info → bec_widgets-1.18.1.dist-info}/RECORD +27 -15
- pyproject.toml +1 -2
- {bec_widgets-1.17.2.dist-info → bec_widgets-1.18.1.dist-info}/WHEEL +0 -0
- {bec_widgets-1.17.2.dist-info → bec_widgets-1.18.1.dist-info}/entry_points.txt +0 -0
- {bec_widgets-1.17.2.dist-info → bec_widgets-1.18.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
from bec_widgets.qt_utils.error_popups import SafeSlot
|
2
|
+
from bec_widgets.qt_utils.toolbar import MaterialIconAction, ToolbarBundle
|
3
|
+
|
4
|
+
|
5
|
+
class SaveStateBundle(ToolbarBundle):
|
6
|
+
"""
|
7
|
+
A bundle of actions that are hooked in this constructor itself,
|
8
|
+
so that you can immediately connect the signals and toggle states.
|
9
|
+
|
10
|
+
This bundle is for a toolbar that controls saving the state of the widget.
|
11
|
+
"""
|
12
|
+
|
13
|
+
def __init__(self, bundle_id="mouse_interaction", target_widget=None, **kwargs):
|
14
|
+
super().__init__(bundle_id=bundle_id, actions=[], **kwargs)
|
15
|
+
self.target_widget = target_widget
|
16
|
+
|
17
|
+
# Create each MaterialIconAction with a parent
|
18
|
+
# so the signals can fire even if the toolbar isn't added yet.
|
19
|
+
save_state = MaterialIconAction(
|
20
|
+
icon_name="download", tooltip="Save Widget State", parent=self.target_widget
|
21
|
+
)
|
22
|
+
load_state = MaterialIconAction(
|
23
|
+
icon_name="upload", tooltip="Load Widget State", parent=self.target_widget
|
24
|
+
)
|
25
|
+
|
26
|
+
# Add them to the bundle
|
27
|
+
self.add_action("save", save_state)
|
28
|
+
self.add_action("matplotlib", load_state)
|
29
|
+
|
30
|
+
# Immediately connect signals
|
31
|
+
save_state.action.triggered.connect(self.save_state_dialog)
|
32
|
+
load_state.action.triggered.connect(self.load_state_dialog)
|
33
|
+
|
34
|
+
@SafeSlot()
|
35
|
+
def save_state_dialog(self):
|
36
|
+
"""
|
37
|
+
Open the export dialog to save a state of the widget.
|
38
|
+
"""
|
39
|
+
if self.target_widget:
|
40
|
+
self.target_widget.state_manager.save_state()
|
41
|
+
|
42
|
+
@SafeSlot()
|
43
|
+
def load_state_dialog(self):
|
44
|
+
"""
|
45
|
+
Load a saved state of the widget.
|
46
|
+
"""
|
47
|
+
if self.target_widget:
|
48
|
+
self.target_widget.state_manager.load_state()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: bec_widgets
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.18.1
|
4
4
|
Summary: BEC Widgets
|
5
5
|
Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
|
6
6
|
Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
|
@@ -28,8 +28,5 @@ Requires-Dist: pytest-random-order~=1.1; extra == 'dev'
|
|
28
28
|
Requires-Dist: pytest-timeout~=2.2; extra == 'dev'
|
29
29
|
Requires-Dist: pytest-xvfb~=3.0; extra == 'dev'
|
30
30
|
Requires-Dist: pytest~=8.0; extra == 'dev'
|
31
|
-
Provides-Extra: pyqt6
|
32
|
-
Requires-Dist: pyqt6-webengine>=6.7; extra == 'pyqt6'
|
33
|
-
Requires-Dist: pyqt6>=6.7; extra == 'pyqt6'
|
34
31
|
Provides-Extra: pyside6
|
35
32
|
Requires-Dist: pyside6==6.7.2; extra == 'pyside6'
|
@@ -1,12 +1,12 @@
|
|
1
1
|
.gitignore,sha256=cMQ1MLmnoR88aMCCJwUyfoTnufzl4-ckmHtlFUqHcT4,3253
|
2
|
-
.gitlab-ci.yml,sha256=
|
2
|
+
.gitlab-ci.yml,sha256=PuL-FmkTHm7qs467Mh9D8quWcEj4tgEA-UUGDieMuWk,8774
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=CYVrKKbfa8jeD9NzMInVc9kFdx3tZqNJ2ZXkmhRZnNE,226269
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
8
|
-
README.md,sha256=
|
9
|
-
pyproject.toml,sha256=
|
7
|
+
PKG-INFO,sha256=tOPWBAYB-MCJ9z0WrgbAX6T0h_Ymanlu0pyw581mgeQ,1219
|
8
|
+
README.md,sha256=KgdKusjlvEvFtdNZCeDMO91y77MWK2iDcYMDziksOr4,2553
|
9
|
+
pyproject.toml,sha256=zGg4kbXmhAb2M5K94u23uQ_TpEVYfZKS0huieGdXUwQ,2549
|
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
|
@@ -26,7 +26,7 @@ bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,2
|
|
26
26
|
bec_widgets/cli/auto_updates.py,sha256=Pj8OHlSlKN3JOAmuuBC5oUMzdfC8TYRY7QKT5BQ2cZo,5171
|
27
27
|
bec_widgets/cli/client.py,sha256=QI27Eb6ehePBpFVhNzEFRfxxEOKTMFoCN9LNexsi8-g,99850
|
28
28
|
bec_widgets/cli/client_utils.py,sha256=DXHHw1LNkKVCApbWmOAdZqU_qdvvqx28QiWV-Uf-jos,12207
|
29
|
-
bec_widgets/cli/generate_cli.py,sha256=
|
29
|
+
bec_widgets/cli/generate_cli.py,sha256=lT-eEXEPpzk9cPrfFVf0U5gxQg7HF2oulxDH16T-SBk,6849
|
30
30
|
bec_widgets/cli/server.py,sha256=Hzhhzhc9PQhTtjpNeu8Jmbmahad0DbyieutaRp7Vejc,10485
|
31
31
|
bec_widgets/cli/rpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
32
32
|
bec_widgets/cli/rpc/rpc_base.py,sha256=1qxtzUuxy77Z0jX8my5EmbS3vE-bYlTp5RvZ2zjSDCA,6002
|
@@ -38,7 +38,7 @@ bec_widgets/examples/general_app/general_app.py,sha256=PoFCTuA_1yqrpgthASpYFgH7J
|
|
38
38
|
bec_widgets/examples/general_app/general_app.ui,sha256=TsejkM3Z8znnixyqxoj4SwhIIpIzTAuGAMkGXSS1aT8,10479
|
39
39
|
bec_widgets/examples/general_app/web_links.py,sha256=d5OgzgI9zb-NAC0pOGanOtJX3nZoe4x8QuQTw-_hK_8,434
|
40
40
|
bec_widgets/examples/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
41
|
-
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=
|
41
|
+
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=ChpRl673_x5Tef92IAMuNKPKTS2YByGeg5qt08pFv-M,7494
|
42
42
|
bec_widgets/examples/plugin_example_pyside/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
43
43
|
bec_widgets/examples/plugin_example_pyside/main.py,sha256=zDP5wO7wb3BVsQ15HOCRT1nNmCujIVRvSXZ3Txje8L0,549
|
44
44
|
bec_widgets/examples/plugin_example_pyside/registertictactoe.py,sha256=cVhBnP0qx5j9Jft-VeKvlTFE-bX58hbP45CX0f4r5pM,535
|
@@ -52,9 +52,9 @@ bec_widgets/qt_utils/compact_popup.py,sha256=3yeb-GJ1PUla5Q_hT0XDKqvyIEH9yV_eGid
|
|
52
52
|
bec_widgets/qt_utils/error_popups.py,sha256=7bL-Lil1G8reQPaRZo8NfG_7Cq2Y0HkF3KREJUE0ZlQ,11545
|
53
53
|
bec_widgets/qt_utils/palette_viewer.py,sha256=--B0x7aE7bniHIeuuLY_pH8yBDrTTXaE0IDrC_AM1mo,6326
|
54
54
|
bec_widgets/qt_utils/redis_message_waiter.py,sha256=fvL_QgC0cTDv_FPJdRyp5AKjf401EJU4z3r38p47ydY,1745
|
55
|
-
bec_widgets/qt_utils/round_frame.py,sha256=
|
55
|
+
bec_widgets/qt_utils/round_frame.py,sha256=JKVEcPY5TAEQcj2XeCyvlMzE41gUWgLaIEDOSQjTC3Y,5812
|
56
56
|
bec_widgets/qt_utils/settings_dialog.py,sha256=NhtzTer_xzlB2lLLrGklkI1QYLJEWQpJoZbCz4o5daI,3645
|
57
|
-
bec_widgets/qt_utils/side_panel.py,sha256=
|
57
|
+
bec_widgets/qt_utils/side_panel.py,sha256=H2Ko7FPYwQ2Nemrud-q-rmqzHGO8vly_pzE_ySEfoGQ,12569
|
58
58
|
bec_widgets/qt_utils/toolbar.py,sha256=YY_-UGc7uZhahYn7xnTvBGbalmTkpTa4WLikpsHwnMw,24433
|
59
59
|
bec_widgets/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
60
|
bec_widgets/tests/utils.py,sha256=GbQtN7qf9n-8FoAfNddZ4aAqA7oBo_hGAlnKELd6Xzw,6943
|
@@ -184,12 +184,15 @@ bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pypro
|
|
184
184
|
bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py,sha256=LoG1VyO21pZ9dbnDVU03xzqgP8P1oEmdeotlkYs_pE8,1466
|
185
185
|
bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py,sha256=NTB3HghW5S7NvUlPe_k_uFYQLWPYgjgln2bAYipfkpM,527
|
186
186
|
bec_widgets/widgets/control/device_input/signal_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
187
|
+
bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combo_box.py,sha256=VEdFRUfLph7JE2arcnzHw8etsE-4wZkwyzlNLMJBsZk,526
|
188
|
+
bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box.pyproject,sha256=xod6iyRD-WD0Uk6LWXjSxFJCQy-831pvTkKcw2FAdnM,33
|
189
|
+
bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box_plugin.py,sha256=sstqm2KtyR5wwOIYJRbzOqHMq5_9ExKP-YS5qV5ACrA,1373
|
187
190
|
bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py,sha256=0aOAq3e9MdZMXTGJQY7WqQSvl-oPnqwrfHjBKGzeRAI,4572
|
188
191
|
bec_widgets/widgets/control/device_input/signal_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
189
192
|
bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py,sha256=aQLTy_3gbji0vq5VvvAddHFimpwGGaMYJy5iGgX23aM,527
|
190
193
|
bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py,sha256=B1xnzP0XYf8PiOLj8pu7kVMhq3ZtFPRbQb84nXsKHI0,5174
|
191
194
|
bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject,sha256=3NBnjBB6JRuF2W9-SR6x09KO1C2oB1IEV3VW__miIgI,34
|
192
|
-
bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py,sha256=
|
195
|
+
bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py,sha256=t2VBGsbysCL6154Z5Ny5Nk2UWcURMGS-ibVKiRvYs6Y,1384
|
193
196
|
bec_widgets/widgets/control/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
|
194
197
|
bec_widgets/widgets/control/scan_control/register_scan_control.py,sha256=j7KrYSn9O6wp6ay2Yb7BWDjdbWzpkSLcCI0neeZi048,483
|
195
198
|
bec_widgets/widgets/control/scan_control/scan_control.py,sha256=Nixsb7NrEn0eQzeax8jd2o2_omlpKN5s6IcWRsL_JhQ,18109
|
@@ -268,6 +271,15 @@ bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.py,
|
|
268
271
|
bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.ui,sha256=vaOfrygcQp3-H82AkMUHgV2v0Y_TmRO5KLui-bWoado,11056
|
269
272
|
bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
270
273
|
bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py,sha256=78vAXX_x5vi1XMtncOHvTvfgGnZJNSkRjOAnCOBE26U,1047
|
274
|
+
bec_widgets/widgets/plots_next_gen/plot_base.py,sha256=WwRp1bKhnFpMkZNDSxNvn2v5YxOxcFH0ISaxeK3KLTg,20941
|
275
|
+
bec_widgets/widgets/plots_next_gen/setting_menus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
276
|
+
bec_widgets/widgets/plots_next_gen/setting_menus/axis_settings.py,sha256=GpgTIYa7t4q9G8hF0rg_qJW2FgbrkvnsMMuqFKJR1fA,3567
|
277
|
+
bec_widgets/widgets/plots_next_gen/setting_menus/axis_settings_horizontal.ui,sha256=ye-guaRU_jhu7sHZS-9AjBjLrCtA1msOD0dszu4o9x8,11785
|
278
|
+
bec_widgets/widgets/plots_next_gen/setting_menus/axis_settings_vertical.ui,sha256=VR0BgkNAZWRXZPCvX3kMQwM0GLahgM_k2XYmSNbHM64,11235
|
279
|
+
bec_widgets/widgets/plots_next_gen/toolbar_bundles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
280
|
+
bec_widgets/widgets/plots_next_gen/toolbar_bundles/mouse_interactions.py,sha256=q8Ree9UA6ZPC_Z197aNQOFhNU6cELUdJn_218VoacmM,3195
|
281
|
+
bec_widgets/widgets/plots_next_gen/toolbar_bundles/plot_export.py,sha256=9xbpMtaBuY8kvzTSkEeFF52qJloEexHtPbGzU2f2n3s,2361
|
282
|
+
bec_widgets/widgets/plots_next_gen/toolbar_bundles/save_state.py,sha256=a7yCJQ_8HVAYN2dHcbxAjo3nJOSUUQZ7RJuUuGCXDBU,1740
|
271
283
|
bec_widgets/widgets/progress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
272
284
|
bec_widgets/widgets/progress/bec_progressbar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
273
285
|
bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject,sha256=Pb3n9seM95_8myKJ0pv_9IcfJDNJJNOFBskuRdEVzhU,33
|
@@ -332,8 +344,8 @@ bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py,sha256=Z
|
|
332
344
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject,sha256=Lbi9zb6HNlIq14k6hlzR-oz6PIFShBuF7QxE6d87d64,34
|
333
345
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py,sha256=CzChz2SSETYsR8-36meqWnsXCT-FIy_J_xeU5coWDY8,1350
|
334
346
|
bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py,sha256=rMpZ1CaoucwobgPj1FuKTnt07W82bV1GaSYdoqcdMb8,521
|
335
|
-
bec_widgets-1.
|
336
|
-
bec_widgets-1.
|
337
|
-
bec_widgets-1.
|
338
|
-
bec_widgets-1.
|
339
|
-
bec_widgets-1.
|
347
|
+
bec_widgets-1.18.1.dist-info/METADATA,sha256=tOPWBAYB-MCJ9z0WrgbAX6T0h_Ymanlu0pyw581mgeQ,1219
|
348
|
+
bec_widgets-1.18.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
349
|
+
bec_widgets-1.18.1.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
|
350
|
+
bec_widgets-1.18.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
351
|
+
bec_widgets-1.18.1.dist-info/RECORD,,
|
pyproject.toml
CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "bec_widgets"
|
7
|
-
version = "1.
|
7
|
+
version = "1.18.1"
|
8
8
|
description = "BEC Widgets"
|
9
9
|
requires-python = ">=3.10"
|
10
10
|
classifiers = [
|
@@ -37,7 +37,6 @@ dev = [
|
|
37
37
|
"pytest-xvfb~=3.0",
|
38
38
|
"pytest~=8.0",
|
39
39
|
]
|
40
|
-
pyqt6 = ["PyQt6>=6.7", "PyQt6-WebEngine>=6.7"]
|
41
40
|
pyside6 = ["PySide6==6.7.2"]
|
42
41
|
|
43
42
|
[project.urls]
|
File without changes
|
File without changes
|
File without changes
|