bec-widgets 1.12.0__py3-none-any.whl → 1.13.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.
- .gitlab-ci.yml +1 -0
- CHANGELOG.md +5711 -0
- PKG-INFO +4 -3
- bec_widgets/cli/auto_updates.py +45 -61
- bec_widgets/cli/client.py +15 -2
- bec_widgets/cli/client_utils.py +142 -198
- bec_widgets/cli/generate_cli.py +2 -2
- bec_widgets/cli/rpc/__init__.py +0 -0
- bec_widgets/cli/rpc/rpc_base.py +177 -0
- bec_widgets/cli/server.py +66 -29
- bec_widgets/qt_utils/error_popups.py +4 -2
- bec_widgets/tests/utils.py +8 -0
- bec_widgets/utils/bec_connector.py +1 -1
- bec_widgets/utils/widget_io.py +85 -5
- bec_widgets/widgets/containers/dock/dock.py +1 -1
- bec_widgets/widgets/containers/dock/dock_area.py +40 -2
- bec_widgets/widgets/containers/layout_manager/layout_manager.py +1 -1
- bec_widgets/widgets/containers/main_window/main_window.py +33 -1
- {bec_widgets-1.12.0.dist-info → bec_widgets-1.13.0.dist-info}/METADATA +4 -3
- {bec_widgets-1.12.0.dist-info → bec_widgets-1.13.0.dist-info}/RECORD +26 -24
- {bec_widgets-1.12.0.dist-info → bec_widgets-1.13.0.dist-info}/WHEEL +1 -1
- pyproject.toml +2 -2
- /bec_widgets/cli/{rpc_register.py → rpc/rpc_register.py} +0 -0
- /bec_widgets/cli/{rpc_wigdet_handler.py → rpc/rpc_widget_handler.py} +0 -0
- {bec_widgets-1.12.0.dist-info → bec_widgets-1.13.0.dist-info}/entry_points.txt +0 -0
- {bec_widgets-1.12.0.dist-info → bec_widgets-1.13.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,41 @@
|
|
1
|
-
from qtpy.QtWidgets import QMainWindow
|
1
|
+
from qtpy.QtWidgets import QApplication, QMainWindow
|
2
2
|
|
3
3
|
from bec_widgets.utils import BECConnector
|
4
|
+
from bec_widgets.widgets.containers.dock.dock_area import BECDockArea
|
4
5
|
|
5
6
|
|
6
7
|
class BECMainWindow(QMainWindow, BECConnector):
|
7
8
|
def __init__(self, *args, **kwargs):
|
8
9
|
BECConnector.__init__(self, **kwargs)
|
9
10
|
QMainWindow.__init__(self, *args, **kwargs)
|
11
|
+
|
12
|
+
def _dump(self):
|
13
|
+
"""Return a dictionary with informations about the application state, for use in tests"""
|
14
|
+
# TODO: ModularToolBar and something else leak top-level widgets (3 or 4 QMenu + 2 QWidget);
|
15
|
+
# so, a filtering based on title is applied here, but the solution is to not have those widgets
|
16
|
+
# as top-level (so for now, a window with no title does not appear in _dump() result)
|
17
|
+
|
18
|
+
# NOTE: the main window itself is excluded, since we want to dump dock areas
|
19
|
+
info = {
|
20
|
+
tlw.gui_id: {
|
21
|
+
"title": tlw.windowTitle(),
|
22
|
+
"visible": tlw.isVisible(),
|
23
|
+
"class": str(type(tlw)),
|
24
|
+
}
|
25
|
+
for tlw in QApplication.instance().topLevelWidgets()
|
26
|
+
if tlw is not self and tlw.windowTitle()
|
27
|
+
}
|
28
|
+
# Add the main window dock area
|
29
|
+
info[self.centralWidget().gui_id] = {
|
30
|
+
"title": self.windowTitle(),
|
31
|
+
"visible": self.isVisible(),
|
32
|
+
"class": str(type(self.centralWidget())),
|
33
|
+
}
|
34
|
+
return info
|
35
|
+
|
36
|
+
def new_dock_area(self, name):
|
37
|
+
dock_area = BECDockArea()
|
38
|
+
dock_area.resize(dock_area.minimumSizeHint())
|
39
|
+
dock_area.window().setWindowTitle(name)
|
40
|
+
dock_area.show()
|
41
|
+
return dock_area
|
@@ -1,9 +1,10 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: bec_widgets
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.13.0
|
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
|
7
|
+
License-File: LICENSE
|
7
8
|
Classifier: Development Status :: 3 - Alpha
|
8
9
|
Classifier: Programming Language :: Python :: 3
|
9
10
|
Classifier: Topic :: Scientific/Engineering
|
@@ -21,7 +22,7 @@ Requires-Dist: qtpy~=2.4
|
|
21
22
|
Provides-Extra: dev
|
22
23
|
Requires-Dist: coverage~=7.0; extra == 'dev'
|
23
24
|
Requires-Dist: fakeredis>=2.23.2,~=2.23; extra == 'dev'
|
24
|
-
Requires-Dist: pytest-bec-e2e
|
25
|
+
Requires-Dist: pytest-bec-e2e<=4.0,>=2.21.4; extra == 'dev'
|
25
26
|
Requires-Dist: pytest-qt~=4.4; extra == 'dev'
|
26
27
|
Requires-Dist: pytest-random-order~=1.1; extra == 'dev'
|
27
28
|
Requires-Dist: pytest-timeout~=2.2; extra == 'dev'
|
@@ -1,12 +1,12 @@
|
|
1
1
|
.gitignore,sha256=cMQ1MLmnoR88aMCCJwUyfoTnufzl4-ckmHtlFUqHcT4,3253
|
2
|
-
.gitlab-ci.yml,sha256=
|
2
|
+
.gitlab-ci.yml,sha256=CLlFGYRGKp4FxCPTkyF9p-7qx67KmbM9Yok9JQEU_Ls,8677
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=b62pnNgeQvzhGnSiNMjZoGQWAAO_bNQmWcZFLotYG4M,220277
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=hTH9uddiO3VSWkLCtNU5JlJuoCl-ihuNT-n54_8jKtk,1339
|
8
8
|
README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=GHl8yujnK76K4FPByP17M0FJi-2engw6lRkP5l2rKwA,2596
|
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
|
@@ -23,13 +23,15 @@ bec_widgets/assets/app_icons/BEC-General-App.png,sha256=hc2ktly53DZAbl_rE3cb-vdR
|
|
23
23
|
bec_widgets/assets/app_icons/alignment_1d.png,sha256=5VouaWieb4lVv3wUBNHaO5ovUW2Fk25aTKYQzOWy0mg,2071069
|
24
24
|
bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
|
25
25
|
bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
|
26
|
-
bec_widgets/cli/auto_updates.py,sha256=
|
27
|
-
bec_widgets/cli/client.py,sha256=
|
28
|
-
bec_widgets/cli/client_utils.py,sha256=
|
29
|
-
bec_widgets/cli/generate_cli.py,sha256=
|
30
|
-
bec_widgets/cli/
|
31
|
-
bec_widgets/cli/
|
32
|
-
bec_widgets/cli/
|
26
|
+
bec_widgets/cli/auto_updates.py,sha256=Pj8OHlSlKN3JOAmuuBC5oUMzdfC8TYRY7QKT5BQ2cZo,5171
|
27
|
+
bec_widgets/cli/client.py,sha256=Mwt3Lw3iy_uW-MXUKSJ3ci8St-4gOp-qL4OmjLeRbWk,98767
|
28
|
+
bec_widgets/cli/client_utils.py,sha256=DXHHw1LNkKVCApbWmOAdZqU_qdvvqx28QiWV-Uf-jos,12207
|
29
|
+
bec_widgets/cli/generate_cli.py,sha256=2BFNgxM_0XLy2OXxG_SX0rgPHFc27oq0_yoOI2h2Rgw,6605
|
30
|
+
bec_widgets/cli/server.py,sha256=j5S3-HUCcKE_rip4PDP7nNBAMObO6Ja6D66zhYxXmsE,10693
|
31
|
+
bec_widgets/cli/rpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
32
|
+
bec_widgets/cli/rpc/rpc_base.py,sha256=1qxtzUuxy77Z0jX8my5EmbS3vE-bYlTp5RvZ2zjSDCA,6002
|
33
|
+
bec_widgets/cli/rpc/rpc_register.py,sha256=8s-YJxqYoKc2K7jRLvs0TjW6_OnhaRYCK00RIok_4qE,2252
|
34
|
+
bec_widgets/cli/rpc/rpc_widget_handler.py,sha256=C-HK8bXOGmbFb98ekMvfHYghU6mdjwMw6QVYBqVC_xk,1515
|
33
35
|
bec_widgets/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
36
|
bec_widgets/examples/general_app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
37
|
bec_widgets/examples/general_app/general_app.py,sha256=PoFCTuA_1yqrpgthASpYFgH7JDUZTcXAPZ5h0e3XZfc,3053
|
@@ -47,7 +49,7 @@ bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=V6OVnBTS-
|
|
47
49
|
bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
50
|
bec_widgets/qt_utils/collapsible_panel_manager.py,sha256=tvv77-9YTfYpsU6M_Le3bHR6wtANC83DEOrJ2Hhj6rs,14201
|
49
51
|
bec_widgets/qt_utils/compact_popup.py,sha256=3yeb-GJ1PUla5Q_hT0XDKqvyIEH9yV_eGidf1t8Dbbw,10234
|
50
|
-
bec_widgets/qt_utils/error_popups.py,sha256=
|
52
|
+
bec_widgets/qt_utils/error_popups.py,sha256=Bm5-Gjl_vELFo12f8KgGRlk4hCCT9hfwGM7ggmvfCFs,9323
|
51
53
|
bec_widgets/qt_utils/palette_viewer.py,sha256=--B0x7aE7bniHIeuuLY_pH8yBDrTTXaE0IDrC_AM1mo,6326
|
52
54
|
bec_widgets/qt_utils/redis_message_waiter.py,sha256=fvL_QgC0cTDv_FPJdRyp5AKjf401EJU4z3r38p47ydY,1745
|
53
55
|
bec_widgets/qt_utils/round_frame.py,sha256=Ba_sTzYB_vYDepBBMPPqU8XDwKOAiU6ClZ3xUqiveK0,5734
|
@@ -55,9 +57,9 @@ bec_widgets/qt_utils/settings_dialog.py,sha256=NhtzTer_xzlB2lLLrGklkI1QYLJEWQpJo
|
|
55
57
|
bec_widgets/qt_utils/side_panel.py,sha256=5XtHIGfEJJj5m7cvkm-Vaxzz1TQogwglrmBaVcmcngY,12332
|
56
58
|
bec_widgets/qt_utils/toolbar.py,sha256=RcWoWjibhlpL26Bnbft-uWA1q2WCglJRnO6U3hGMBw8,13277
|
57
59
|
bec_widgets/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
|
-
bec_widgets/tests/utils.py,sha256=
|
60
|
+
bec_widgets/tests/utils.py,sha256=GbQtN7qf9n-8FoAfNddZ4aAqA7oBo_hGAlnKELd6Xzw,6943
|
59
61
|
bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
|
60
|
-
bec_widgets/utils/bec_connector.py,sha256=
|
62
|
+
bec_widgets/utils/bec_connector.py,sha256=78QAlC7uAtxUW-7KTxoMUJu2aFve7IqnGkURYYNGFDo,10074
|
61
63
|
bec_widgets/utils/bec_designer.py,sha256=XBy38NbNMoRDpvRx5lGP2XnJNG34YKZ7I-ARFkn-gzs,5017
|
62
64
|
bec_widgets/utils/bec_dispatcher.py,sha256=OFmkx9vOz4pA4Sdc14QreyDZ870QYskJ4B5daVVeYg4,6325
|
63
65
|
bec_widgets/utils/bec_signal_proxy.py,sha256=PKJ7v8pKrAaqA9XNDMZZBlhVtEInX-ae6_0m2cQhiEw,2107
|
@@ -80,15 +82,15 @@ bec_widgets/utils/rpc_decorator.py,sha256=pIvtqySQLnuS7l2Ti_UAe4WX7CRivZnsE5ZdKA
|
|
80
82
|
bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQDQpbuE,1607
|
81
83
|
bec_widgets/utils/ui_loader.py,sha256=6z0Qvt99XWoIk_YMACShwQ1p7PbDh6uJ9wS6e2wZs0w,4878
|
82
84
|
bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
|
83
|
-
bec_widgets/utils/widget_io.py,sha256=
|
85
|
+
bec_widgets/utils/widget_io.py,sha256=R-ZYQyEVigHNH1AD4cNYmCV1DoO0XNidTZpiCSSND2c,15232
|
84
86
|
bec_widgets/utils/yaml_dialog.py,sha256=T6UyGNGdmpXW74fa_7Nk6b99T5pp2Wvyw3AOauRc8T8,2407
|
85
87
|
bec_widgets/utils/plugin_templates/plugin.template,sha256=DWtJdHpdsVtbiTTOniH3zBe5a40ztQ20o_-Hclyu38s,1266
|
86
88
|
bec_widgets/utils/plugin_templates/register.template,sha256=XyL3OZPT_FTArLAM8tHd5qMqv2ZuAbJAZLsNNnHcagU,417
|
87
89
|
bec_widgets/widgets/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
88
90
|
bec_widgets/widgets/containers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
91
|
bec_widgets/widgets/containers/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
|
90
|
-
bec_widgets/widgets/containers/dock/dock.py,sha256=
|
91
|
-
bec_widgets/widgets/containers/dock/dock_area.py,sha256=
|
92
|
+
bec_widgets/widgets/containers/dock/dock.py,sha256=_cw5bbqCLZxaD5LmosHNmm_eXelMDoTyxFdTnSWkoOI,10379
|
93
|
+
bec_widgets/widgets/containers/dock/dock_area.py,sha256=0LstkvXHSjizZrjpvICnh76amjMa-xQNaj9f7yBJyfw,17958
|
92
94
|
bec_widgets/widgets/containers/dock/dock_area.pyproject,sha256=URW0UrDXCnkzk80rbQmUMgF6Uqay2TjHsq8Dq0g1j-c,37
|
93
95
|
bec_widgets/widgets/containers/dock/dock_area_plugin.py,sha256=fDVXKPZuHr85B2fLfAYf_Ic5d9mZQpnZrODTDquzZpM,1331
|
94
96
|
bec_widgets/widgets/containers/dock/register_dock_area.py,sha256=L7BL4qknCjtqsDP-RMQzk2qRPpcYuzXWlb7sJB_0DDM,475
|
@@ -110,9 +112,9 @@ bec_widgets/widgets/containers/figure/plots/waveform/__init__.py,sha256=47DEQpj8
|
|
110
112
|
bec_widgets/widgets/containers/figure/plots/waveform/waveform.py,sha256=6j-3hg0tVtpCnDgbYObTYwiNI7ciuWgQ5L1TlAN0Kg8,57543
|
111
113
|
bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py,sha256=9rOFHIxRjz0-G6f-mpw0FNmX846ZPwGn8yrJ3FpxlVc,8725
|
112
114
|
bec_widgets/widgets/containers/layout_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
113
|
-
bec_widgets/widgets/containers/layout_manager/layout_manager.py,sha256=
|
115
|
+
bec_widgets/widgets/containers/layout_manager/layout_manager.py,sha256=1PmY73yvjmakKOHXv2ga4NziojNTuziIc4OX2gI5H_M,33761
|
114
116
|
bec_widgets/widgets/containers/main_window/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
115
|
-
bec_widgets/widgets/containers/main_window/main_window.py,sha256=
|
117
|
+
bec_widgets/widgets/containers/main_window/main_window.py,sha256=YwHXA4bliPvuHicE0ur4QctNcZv5hnWbas83tAPkUf4,1649
|
116
118
|
bec_widgets/widgets/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
117
119
|
bec_widgets/widgets/control/buttons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
118
120
|
bec_widgets/widgets/control/buttons/button_abort/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -318,8 +320,8 @@ bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py,sha256=Z
|
|
318
320
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject,sha256=Lbi9zb6HNlIq14k6hlzR-oz6PIFShBuF7QxE6d87d64,34
|
319
321
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py,sha256=CzChz2SSETYsR8-36meqWnsXCT-FIy_J_xeU5coWDY8,1350
|
320
322
|
bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py,sha256=rMpZ1CaoucwobgPj1FuKTnt07W82bV1GaSYdoqcdMb8,521
|
321
|
-
bec_widgets-1.
|
322
|
-
bec_widgets-1.
|
323
|
-
bec_widgets-1.
|
324
|
-
bec_widgets-1.
|
325
|
-
bec_widgets-1.
|
323
|
+
bec_widgets-1.13.0.dist-info/METADATA,sha256=hTH9uddiO3VSWkLCtNU5JlJuoCl-ihuNT-n54_8jKtk,1339
|
324
|
+
bec_widgets-1.13.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
325
|
+
bec_widgets-1.13.0.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
|
326
|
+
bec_widgets-1.13.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
327
|
+
bec_widgets-1.13.0.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.13.0"
|
8
8
|
description = "BEC Widgets"
|
9
9
|
requires-python = ">=3.10"
|
10
10
|
classifiers = [
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
30
30
|
dev = [
|
31
31
|
"coverage~=7.0",
|
32
32
|
"fakeredis~=2.23, >=2.23.2",
|
33
|
-
"pytest-bec-e2e
|
33
|
+
"pytest-bec-e2e>=2.21.4, <=4.0",
|
34
34
|
"pytest-qt~=4.4",
|
35
35
|
"pytest-random-order~=1.1",
|
36
36
|
"pytest-timeout~=2.2",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|