bec-widgets 0.52.0__py3-none-any.whl → 0.53.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.
- .git_hooks/pre-commit +3 -0
- .gitignore +177 -0
- .gitlab/issue_templates/bug_report_template.md +17 -0
- .gitlab/issue_templates/documentation_update_template.md +27 -0
- .gitlab/issue_templates/feature_request_template.md +40 -0
- .gitlab/merge_request_templates/default.md +28 -0
- .gitlab-ci.yml +225 -0
- .pylintrc +581 -0
- .readthedocs.yaml +25 -0
- CHANGELOG.md +176 -0
- PKG-INFO +33 -0
- bec_widgets-0.52.0.dist-info/METADATA → README.md +6 -42
- bec_widgets/cli/client.py +132 -17
- 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 +2 -3
- bec_widgets/examples/modular_app/modular.ui +92 -0
- bec_widgets/examples/modular_app/modular_app.py +197 -0
- bec_widgets/examples/motor_movement/motor_control_compilations.py +1 -1
- bec_widgets/examples/motor_movement/motor_example.py +3 -12
- bec_widgets/utils/bec_connector.py +7 -0
- bec_widgets/utils/bec_dispatcher.py +1 -3
- 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 +6 -4
- bec_widgets/widgets/figure/figure.py +15 -15
- bec_widgets/widgets/monitor/config_dialog.py +3 -19
- bec_widgets/widgets/monitor/example_configs/config_device.yaml +60 -0
- bec_widgets/widgets/monitor/example_configs/config_scans.yaml +92 -0
- bec_widgets/widgets/motor_map/motor_map.py +3 -14
- bec_widgets/widgets/plots/image.py +41 -0
- bec_widgets/widgets/plots/motor_map.py +16 -9
- 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 +11 -5
- bec_widgets/widgets/toolbar/toolbar.py +1 -0
- bec_widgets-0.53.0.dist-info/METADATA +33 -0
- bec_widgets-0.53.0.dist-info/RECORD +156 -0
- {bec_widgets-0.52.0.dist-info → bec_widgets-0.53.0.dist-info}/WHEEL +1 -2
- bec_widgets-0.53.0.dist-info/licenses/LICENSE +29 -0
- docs/Makefile +20 -0
- docs/_templates/custom-class-template.rst +34 -0
- docs/_templates/custom-module-template.rst +66 -0
- docs/conf.py +81 -0
- docs/developer/developer.md +26 -0
- docs/developer/reference.md +10 -0
- docs/index.md +39 -0
- docs/introduction/introduction.md +18 -0
- docs/make.bat +35 -0
- docs/requirements.txt +10 -0
- docs/user/apps/modular_app.md +6 -0
- docs/user/apps/motor_app.md +34 -0
- docs/user/apps/motor_app_10fps.gif +0 -0
- docs/user/apps/plot_app.md +6 -0
- docs/user/apps.md +39 -0
- docs/user/customisation.md +13 -0
- docs/user/installation.md +46 -0
- docs/user/user.md +38 -0
- docs/user/widgets/motor.gif +0 -0
- docs/user/widgets/scatter_2D.gif +0 -0
- docs/user/widgets/w1D.gif +0 -0
- docs/user/widgets.md +41 -0
- pyproject.toml +94 -0
- tests/unit_tests/test_bec_dispatcher.py +3 -26
- tests/unit_tests/test_bec_figure.py +1 -5
- tests/unit_tests/test_bec_motor_map.py +1 -4
- tests/unit_tests/test_config_dialog.py +1 -5
- tests/unit_tests/test_configs/config_device.yaml +33 -0
- tests/unit_tests/test_configs/config_device_no_entry.yaml +27 -0
- tests/unit_tests/test_configs/config_scan.yaml +82 -0
- tests/unit_tests/test_motor_control.py +1 -1
- tests/unit_tests/test_motor_map.py +5 -20
- tests/unit_tests/test_stream_plot.py +2 -12
- bec_widgets/utils/ctrl_c.py +0 -39
- bec_widgets-0.52.0.dist-info/RECORD +0 -115
- bec_widgets-0.52.0.dist-info/top_level.txt +0 -2
- /bec_widgets-0.52.0.dist-info/LICENSE → /LICENSE +0 -0
- /bec_widgets/{simulations/__init__.py → examples/modular_app/___init__.py} +0 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
.gitignore,sha256=cMQ1MLmnoR88aMCCJwUyfoTnufzl4-ckmHtlFUqHcT4,3253
|
2
|
+
.gitlab-ci.yml,sha256=LPVy83qI_XshWVQoyx6PP3dKkfJxFIcPWGtGcfftNVE,7333
|
3
|
+
.pylintrc,sha256=OstrgmEyP0smNFBKoIN5_26-UmNZgMHnbjvAWX0UrLs,18535
|
4
|
+
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
+
CHANGELOG.md,sha256=bYo26WEhNAuWHugSQ4qL8lkTUFMYCM8_grhjPm0SoQk,6933
|
6
|
+
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
+
PKG-INFO,sha256=1QaB5z1C3g33ZmM8rhX3xMTuLwN0ij3PnS66-K_ISZY,1063
|
8
|
+
README.md,sha256=y4jB6wvArS7N8_iTbKWnSM_oRAqLA2GqgzUR-FMh5sU,2645
|
9
|
+
pyproject.toml,sha256=RZ88Z2ek1vsnyA2CPda8OChyPi_5xLKEyW0mHOkSAn0,1776
|
10
|
+
.git_hooks/pre-commit,sha256=n3RofIZHJl8zfJJIUomcMyYGFi_rwq4CC19z0snz3FI,286
|
11
|
+
.gitlab/issue_templates/bug_report_template.md,sha256=gAuyEwl7XlnebBrkiJ9AqffSNOywmr8vygUFWKTuQeI,386
|
12
|
+
.gitlab/issue_templates/documentation_update_template.md,sha256=FHLdb3TS_D9aL4CYZCjyXSulbaW5mrN2CmwTaeLPbNw,860
|
13
|
+
.gitlab/issue_templates/feature_request_template.md,sha256=vjxCnmj53Mp4FPzCrNxhkO-8StRQUZ36PlXu4K8VGaI,1543
|
14
|
+
.gitlab/merge_request_templates/default.md,sha256=tfyFA0hRCsIunbLGSlGbxWBQFeB3USpsA3H7IvwQ5UY,715
|
15
|
+
bec_widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
+
bec_widgets/cli/__init__.py,sha256=EHPu69lxYndxm6tJqwHHlktuq0hvOCaid1Nxh0jaexo,91
|
17
|
+
bec_widgets/cli/auto_updates.py,sha256=ptZeBKr13o9THc8oKLn93K_16i6G3pxzw8hZ4MUgjW4,3845
|
18
|
+
bec_widgets/cli/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
|
19
|
+
bec_widgets/cli/client.py,sha256=0qM-Zve4cXKNXrSNkxvTDtiWo6NvsYZGauOwLn4Rk3w,45622
|
20
|
+
bec_widgets/cli/client_utils.py,sha256=DNMjH0g3P8k0pdKh7J3d0jNMQ_H1OYtbwSe1Oek1LH0,10402
|
21
|
+
bec_widgets/cli/generate_cli.py,sha256=FFDAogkEewfXMP20jkBBB08vcQdg5k1gnHpldXUcgOw,4101
|
22
|
+
bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
|
23
|
+
bec_widgets/cli/rpc_wigdet_handler.py,sha256=u54ctT3-pHIf_4788didF4YBXbvNFQI1TqleSILEaZU,783
|
24
|
+
bec_widgets/cli/server.py,sha256=wIDOd56ZPfnM42pOJD8NCI3Dw38Aurb9TwwTrricfvU,5773
|
25
|
+
bec_widgets/examples/__init__.py,sha256=WWQ0cu7m8sA4Ehy-DWdTIqSISjaHsbxhsNmNrMnhDZU,202
|
26
|
+
bec_widgets/examples/eiger_plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
|
+
bec_widgets/examples/eiger_plot/eiger_plot.py,sha256=Uxl2Usf8jEzaX7AT8zVqa1x8ZIEgI1HmazSlb-tRFWE,10359
|
28
|
+
bec_widgets/examples/eiger_plot/eiger_plot.ui,sha256=grHfnO3OG_lelJhdRsnA0badCvRdDunPrIMIyNQ5N-w,5809
|
29
|
+
bec_widgets/examples/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
+
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=s8ysnlktLv3932ody8pRA1mghH1QQcxLjQK1HTZ59b8,5642
|
31
|
+
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
|
+
bec_widgets/examples/mca_readout/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
|
+
bec_widgets/examples/mca_readout/mca_plot.py,sha256=do7mSK_nzHtojRiMi8JoN_Rckg9yfjYYWz2S_Nl3xbE,5079
|
35
|
+
bec_widgets/examples/mca_readout/mca_sim.py,sha256=yiX_3sOgDZIbAYA4D2BGmOgLMBWbQMOej0hSP4cQd0o,754
|
36
|
+
bec_widgets/examples/modular_app/___init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
+
bec_widgets/examples/modular_app/modular.ui,sha256=QM_sCgVELDOt18-4LHNRTjEcq2Ogf6e-E0-JidgkuGY,2450
|
38
|
+
bec_widgets/examples/modular_app/modular_app.py,sha256=F-VuxVfTL6WC2aPz1PIXKhU2cEcP1F8VXp-AwdWnk9o,6178
|
39
|
+
bec_widgets/examples/motor_movement/__init__.py,sha256=LzPJkxLAxOsZCbXR-fRCPmeYobp7Yqds6tDxW4W1gSw,214
|
40
|
+
bec_widgets/examples/motor_movement/config_example.yaml,sha256=YT8Bl3ViTaP03cX9X8kIgWnkoxaQOFqS-oRrclGS2hc,356
|
41
|
+
bec_widgets/examples/motor_movement/csax_bec_config.yaml,sha256=cqhzwfIhFgHfCt90oVW3no8aVlWg7V42t4iiJCnydSw,146
|
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=gj7SRjdKXDuX4jl4e8bnpM9U6l7B1wvwgGUPcVFOGCU,8978
|
44
|
+
bec_widgets/examples/motor_movement/motor_controller.ui,sha256=83XX6NGILwntoUIghvzWnMuGf80O8khK3SduVKTAEFM,29105
|
45
|
+
bec_widgets/examples/motor_movement/motor_example.py,sha256=7HWMKgebEx0x9uJoYhB21qVYEzbTRBHXF15CzCFqXjU,53321
|
46
|
+
bec_widgets/examples/stream_plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
+
bec_widgets/examples/stream_plot/line_plot.ui,sha256=rgNfhOXu1AcWF0P6wnOlmJKDjS-VIoduVrREvmzJQR8,4626
|
48
|
+
bec_widgets/examples/stream_plot/stream_plot.py,sha256=vHii1p9JxSyGQ_VcCjnk9SHJ41Q6Oi1GGd6swVVHLRM,12177
|
49
|
+
bec_widgets/utils/__init__.py,sha256=PAHNbPFnPD-XGxKBZ7ctx9WBrvm9MArkCYDNfoOxVJA,449
|
50
|
+
bec_widgets/utils/bec_connector.py,sha256=dsAPYbI4XzH3JnPcpAX3Z90OmcNVbNrDXPg3l7x8xy8,5185
|
51
|
+
bec_widgets/utils/bec_dispatcher.py,sha256=yyWHV0f5sM0Ely1iHGAzVXWLzDYlp5KcSMsl16bd5uQ,5552
|
52
|
+
bec_widgets/utils/bec_table.py,sha256=nA2b8ukSeUfquFMAxGrUVOqdrzMoDYD6O_4EYbOG2zk,717
|
53
|
+
bec_widgets/utils/colors.py,sha256=JsLxzkxbw-I8GIuvnIKyiM83n0edhyMG2Fa4Ffm62ww,2392
|
54
|
+
bec_widgets/utils/container_utils.py,sha256=m3VUyAYmSWkEwApP9tBvKxPYVtc2kHw4toxIpMryJy4,1495
|
55
|
+
bec_widgets/utils/crosshair.py,sha256=L4-N8HGgCbY0L3qftv8vi3c9FRdr1aMsRhI54w8aFso,9407
|
56
|
+
bec_widgets/utils/entry_validator.py,sha256=IqmtResXQtnmMvWVSl8IrnggqSzXLp4cSggn6WdSTpE,1298
|
57
|
+
bec_widgets/utils/layout_manager.py,sha256=H0nKsIMaPxRkof1MEXlSmW6w1dFxA6astaGzf4stI84,4727
|
58
|
+
bec_widgets/utils/plugin_utils.py,sha256=wi5x7VVFee0PqAcP-EqPWjYfSe-LLhaK93y6qmnbLIw,1487
|
59
|
+
bec_widgets/utils/rpc_decorator.py,sha256=pIvtqySQLnuS7l2Ti_UAe4WX7CRivZnsE5ZdKAihxh0,479
|
60
|
+
bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQDQpbuE,1607
|
61
|
+
bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
|
62
|
+
bec_widgets/utils/widget_io.py,sha256=f36198CvT_EzWQ_cg2G-4tRRsaMdJ3yVqsZWKJCQEfA,10880
|
63
|
+
bec_widgets/utils/yaml_dialog.py,sha256=cMVif-39SB9WjwGH5FWBJcFs4tnfFJFs5cacydRyhy0,1853
|
64
|
+
bec_widgets/validation/__init__.py,sha256=ismd1bU5FhFb0zFPwNKuq7oT48G4Y2GfaMZOdNKUtGk,132
|
65
|
+
bec_widgets/validation/monitor_config_validator.py,sha256=LJ0kk1cT0x6rAMuEM5XnmlUb-7caP-jqn4-UXe0Jjho,8145
|
66
|
+
bec_widgets/widgets/__init__.py,sha256=NOgRDV9-uwrH1OK2JdfG5c0WcW77TSRz3PeNlGw22Lc,392
|
67
|
+
bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
|
68
|
+
bec_widgets/widgets/dock/dock.py,sha256=vnOQnOWWnd-3X07kniSW_I5l0uEHZOaWhfuqZkDGIqE,8467
|
69
|
+
bec_widgets/widgets/dock/dock_area.py,sha256=UaI5Z-c9C16lhTbXmEVzfl55Y8ymKSk4sPWGleIsUVY,7182
|
70
|
+
bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
|
71
|
+
bec_widgets/widgets/figure/figure.py,sha256=OSF5y9iMEjhZmPC1MvjCVASfDXapf_o4jeUH3JRhAl0,28565
|
72
|
+
bec_widgets/widgets/monitor/__init__.py,sha256=afXuZcBOxNAuYdCkIQXX5J60R5A3Q_86lNEW2vpFtPI,32
|
73
|
+
bec_widgets/widgets/monitor/config_dialog.py,sha256=ThR1ZGnIUHqsW4t6ns9pBLTINYLBQwDtS-ipjOg4snU,19993
|
74
|
+
bec_widgets/widgets/monitor/config_dialog.ui,sha256=ISMcF7CLTAMXhfZh2Yv5yezzAjMtb9fxY1pmX4B_jCg,5932
|
75
|
+
bec_widgets/widgets/monitor/monitor.py,sha256=ET5O48kqRlwd8_jCMCrp8QwnL8LvoNgb5nQmVw36pKg,30219
|
76
|
+
bec_widgets/widgets/monitor/tab_template.ui,sha256=JVB5fkzVhTjxMn9EdZCXsnfzBkeZpFMdTRuqTNSDSSo,4904
|
77
|
+
bec_widgets/widgets/monitor/example_configs/config_device.yaml,sha256=jn8EGvL_fk4gizCAA8P--OGn1RZGnz2aSlzQI9BcYlU,1172
|
78
|
+
bec_widgets/widgets/monitor/example_configs/config_scans.yaml,sha256=TwMhiE_4p88gBlaeoztmkwNObAeoVXLeBFIUsV1Nwu0,1889
|
79
|
+
bec_widgets/widgets/motor_control/__init__.py,sha256=_4-G9AKcEnOyS6qVE26meRw3grEohNeMzACNMU5Sig0,153
|
80
|
+
bec_widgets/widgets/motor_control/motor_control.py,sha256=sfH_uGes4B3mOFPP9BYVMtqMSCFD5fWJNQwNxV06288,42458
|
81
|
+
bec_widgets/widgets/motor_control/motor_control_absolute.ui,sha256=nR3p6oevAkIBTLW5wM_zYOVWsCAUgeMZdRm10Q77COE,4126
|
82
|
+
bec_widgets/widgets/motor_control/motor_control_relative.ui,sha256=PulNJNiws7TRAxHM2snNyvlmQ0tRShdArHmtaC85h4U,8684
|
83
|
+
bec_widgets/widgets/motor_control/motor_control_selection.ui,sha256=vXXpvNWuL6xyHhW7Lx1zmVFX-95Z5AXGlhKQD2HmM1A,1779
|
84
|
+
bec_widgets/widgets/motor_control/motor_control_table.ui,sha256=t6aRKiSmutMfp0AyupavbCs0cal-FANEnlKQiPzC9PQ,2792
|
85
|
+
bec_widgets/widgets/motor_map/__init__.py,sha256=K3c-3A_LbxK0UJ0_bV3opL-wGLTwBLendsJXsg8GAqE,32
|
86
|
+
bec_widgets/widgets/motor_map/motor_map.py,sha256=mtvYZRfzpBo9t3s8bUeo5XJPUsMMoAakydblWjZUwxQ,21713
|
87
|
+
bec_widgets/widgets/plots/__init__.py,sha256=yaCWQEXiEVj3Oh9qvD3UDzY2HE2PiDKKyKINEcVeL2k,238
|
88
|
+
bec_widgets/widgets/plots/image.py,sha256=nCgL5TK4x4uMUuF_SCfepUJaf9T3bmyvp0eU6PqT3gM,32434
|
89
|
+
bec_widgets/widgets/plots/motor_map.py,sha256=Rm0nOZa2-rBRhsN-84qSxP9XqnHGlecQoEzm3eNzYyw,15213
|
90
|
+
bec_widgets/widgets/plots/plot_base.py,sha256=oNUXEe94bD0_fVu-HPMRaoAuwPMW0DOAN8vvOeRz254,8513
|
91
|
+
bec_widgets/widgets/plots/waveform.py,sha256=DXoc3GSyEuhFFNCkvCOuY5bezS7yDQ_ynTKHgCVtktw,28611
|
92
|
+
bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
|
93
|
+
bec_widgets/widgets/scan_control/scan_control.py,sha256=omM9_j2TWh6ibYtu6Ep3oqMjVN5gJ_vwf6KWPix3fVA,17173
|
94
|
+
bec_widgets/widgets/toolbar/__init__.py,sha256=d-TP4_cr_VbpwreMM4ePnfZ5YXsEPQ45ibEf75nuGoE,36
|
95
|
+
bec_widgets/widgets/toolbar/toolbar.py,sha256=e0zCD_0q7K4NVhrzD8001Qvfxt-VhqHTgofchS9NgCM,5125
|
96
|
+
docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
|
97
|
+
docs/conf.py,sha256=lsNwHWoCuzp_hFIk_P4u6c1OI3D7IPSsH5P2DP0fWFc,2481
|
98
|
+
docs/index.md,sha256=6HrqaPXb5uUPEtM2gZaVUi1wM1kUYmdC2aIFpmItzZ0,453
|
99
|
+
docs/make.bat,sha256=vKazJE8RW49Cy8K7hm8QYbletvAd8YkeKsaPA_dWnXs,800
|
100
|
+
docs/requirements.txt,sha256=5IJN7-VApjTeFouHsaWAb5b4p6wS6wI9fKcJBxcX9QY,134
|
101
|
+
docs/_templates/custom-class-template.rst,sha256=HPuPaGJob2zXlWOl5FmA-hAZRbUTGQmdqo3HS1iIFog,711
|
102
|
+
docs/_templates/custom-module-template.rst,sha256=MXYXAz06HP_mbblO--iFwL08xROmSBo7U4O-hPbMcZU,1228
|
103
|
+
docs/developer/developer.md,sha256=xJvO-EAf-9SqDARRnqFLRd8k_o258U97V0DmvgZKMos,477
|
104
|
+
docs/developer/reference.md,sha256=P0uuBwSWuDhbXifSbyDKJRkDhb1_nETckTTnt12-A4g,150
|
105
|
+
docs/introduction/introduction.md,sha256=wp7jmhkUtJnSnEnmIAZGUcau_3-5e5-FohvZb63khw4,1432
|
106
|
+
docs/user/apps.md,sha256=BpJXL3uccqa9Z34azMqi9uUsKM1ClnIZZFLLxx_hISs,1651
|
107
|
+
docs/user/customisation.md,sha256=Og0NuUsTs8HdwKtpHnycGmH8wCqOeYgj2ozlYRJ-Drk,249
|
108
|
+
docs/user/installation.md,sha256=8eotL5UQALR8z5aZ5fiJuR3yJOldg2S91ngvn2VVp7I,1233
|
109
|
+
docs/user/user.md,sha256=e5WKSginne0HMP7KpqmYEqBtHsPUgw36Egwrq3YUnpg,1997
|
110
|
+
docs/user/widgets.md,sha256=viEb7_nqXKcnJT3HqWvq9d2MKRtuwORf58xCquwUWOo,1903
|
111
|
+
docs/user/apps/modular_app.md,sha256=My95LH2wQLx2kAbssO39N15I_Mqiiv-64ASnaeW9jbs,67
|
112
|
+
docs/user/apps/motor_app.md,sha256=GiEqDfUbKdIr661lJCQtFFJfwZKLyaKtZC9aBho0jos,2416
|
113
|
+
docs/user/apps/motor_app_10fps.gif,sha256=jLfOgPoKRcqMqpiYkZNVNHB2IodILzO0IBgWLeSYzeA,5211338
|
114
|
+
docs/user/apps/plot_app.md,sha256=hq8ZFyuBLqWD018oc6LB12vfXL6i9hiAu-2IfHkyGIA,65
|
115
|
+
docs/user/widgets/motor.gif,sha256=FtaWdRHx4UZaGJPpq8LNhMMgX4PFcAB6IZ93JCMEh_w,2280719
|
116
|
+
docs/user/widgets/scatter_2D.gif,sha256=yHpsuAUseMafJjI_J5BcOhmE3nu9VFn_Xm9XHzJaH5I,13188862
|
117
|
+
docs/user/widgets/w1D.gif,sha256=tuHbleJpl6bJFNNC2OdndF5LF7IyfvlkFCMGZajrQPs,622773
|
118
|
+
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
119
|
+
tests/end-2-end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
120
|
+
tests/end-2-end/conftest.py,sha256=b5Yebbj8C1-IcXq23XGbOnXF0kOZD_Po46Z-p4cBwfs,1346
|
121
|
+
tests/end-2-end/test_bec_dock_rpc_e2e.py,sha256=vfskJxQ6xQFfG6X6Ec8GOj2SoWIk8slMd43fERroaaw,4548
|
122
|
+
tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=aEpyhRYrDC3dNScsHxJfQPfuehU6Q9wGhCGkYmooAMk,5461
|
123
|
+
tests/end-2-end/test_rpc_register_e2e.py,sha256=Jrv46F-fyJa0tls1KPTeIxXQ4oUNgWkhAMwzvMQBRR8,1581
|
124
|
+
tests/unit_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
|
+
tests/unit_tests/client_mocks.py,sha256=LNUgI9Ccv5Ol7_pmybIhoVqZZem1RPIsTDk7ZTARNls,4128
|
126
|
+
tests/unit_tests/conftest.py,sha256=KrnktXPWmZhnKNue-xGWOLD1XGEvdz9Vf7V2eO3XQ3A,596
|
127
|
+
tests/unit_tests/test_bec_connector.py,sha256=f2XXGGw3NoZLIUrDuZuEWwF_ttOYmmquCgUrV5XkIOY,1951
|
128
|
+
tests/unit_tests/test_bec_dispatcher.py,sha256=rYPiRizHaswhGZw55IBMneDFxmPiCCLAZQBqjEkpdyY,3992
|
129
|
+
tests/unit_tests/test_bec_dock.py,sha256=ZnHUoVQCGbikd0mM64XBL_k0Kxp0d3UqCHpcyY59emg,3596
|
130
|
+
tests/unit_tests/test_bec_figure.py,sha256=1nRSX2lJE_wv_R4WteECBxD0NwpQT8NaZH5q66gT-jo,7829
|
131
|
+
tests/unit_tests/test_bec_monitor.py,sha256=mN7gBY7oXY6j65zzihpy8r-FvwVoCQlie3F6SoVq0mo,7042
|
132
|
+
tests/unit_tests/test_bec_motor_map.py,sha256=oAhnahV9UcPknsCgoP_TwTIlagKola2HFajmtkxzSyo,4588
|
133
|
+
tests/unit_tests/test_client_utils.py,sha256=fIApd5WgnJuyIzV-hdSABn6T-aOel2Wr2xuUX4Z651A,774
|
134
|
+
tests/unit_tests/test_config_dialog.py,sha256=Y8I9zGG8G9jh0MRCsNl5dQT17bZL6BWaDja7fW1ncCs,6924
|
135
|
+
tests/unit_tests/test_crosshair.py,sha256=d7fX-ymboZPALNqqiAj86PZ96llmGZ_3jf0yjVP0S94,5039
|
136
|
+
tests/unit_tests/test_eiger_plot.py,sha256=bWnKBQid0YcLMQeBLy6ojb4ZpwTG-rFVT0kMg9Y08p8,4427
|
137
|
+
tests/unit_tests/test_generate_cli_client.py,sha256=J7CFoO67txGu_u1Mwk32EejRX204FRuvmVg_yhAr1WM,2397
|
138
|
+
tests/unit_tests/test_motor_control.py,sha256=210qBSZdg4hSDflgwez-pWsoU4m3W8hmGCJEdCeu6MA,20321
|
139
|
+
tests/unit_tests/test_motor_map.py,sha256=aKhJtgHOLMOlpniguuH5iGKh72ihYZ1L2S2KEmZUC0k,5875
|
140
|
+
tests/unit_tests/test_plot_base.py,sha256=bOdlgAxh9oKk5PwiQ_MSFmzr44uJ61Tlg242RCIhl5c,2610
|
141
|
+
tests/unit_tests/test_rpc_register.py,sha256=hECjZEimd440mwRrO0rg7L3PKN7__3DgjmESN6wx3bo,1179
|
142
|
+
tests/unit_tests/test_scan_control.py,sha256=7dtGpE0g4FqUhhQeCkyJl-9o7NH3DFZJgEaqDmBYbBc,7551
|
143
|
+
tests/unit_tests/test_stream_plot.py,sha256=T0y4dPUTWzACQ2x6QKCYpWQBBNoOTEEgOZJsEDek8Eo,5725
|
144
|
+
tests/unit_tests/test_validator_errors.py,sha256=NFxyv0TIOXeZKZRRUBfVQ7bpunwY4KkG95yTUdQmvns,3532
|
145
|
+
tests/unit_tests/test_waveform1d.py,sha256=cBtESTQgsVQdv-Wl75eHK9D8YY-b60Z5wqtPCo9ohu0,15002
|
146
|
+
tests/unit_tests/test_widget_io.py,sha256=FeL3ZYSBQnRt6jxj8VGYw1cmcicRQyHKleahw7XIyR0,3475
|
147
|
+
tests/unit_tests/test_yaml_dialog.py,sha256=HNrqferkdg02-9ieOhhI2mr2Qvt7GrYgXmQ061YCTbg,5794
|
148
|
+
tests/unit_tests/test_configs/config_device.yaml,sha256=h3zNb5ZaT_sA59Sf-24qsXs54MgUsspo-GOJmKWHx3o,695
|
149
|
+
tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzGPuJGpDZnRJknoF_yDNX1Fw5VYAQY,520
|
150
|
+
tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
|
151
|
+
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
152
|
+
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
153
|
+
bec_widgets-0.53.0.dist-info/METADATA,sha256=1QaB5z1C3g33ZmM8rhX3xMTuLwN0ij3PnS66-K_ISZY,1063
|
154
|
+
bec_widgets-0.53.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
155
|
+
bec_widgets-0.53.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
156
|
+
bec_widgets-0.53.0.dist-info/RECORD,,
|
@@ -0,0 +1,29 @@
|
|
1
|
+
BSD 3-Clause License
|
2
|
+
|
3
|
+
Copyright (c) 2023, bec
|
4
|
+
All rights reserved.
|
5
|
+
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
8
|
+
|
9
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
10
|
+
list of conditions and the following disclaimer.
|
11
|
+
|
12
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
14
|
+
and/or other materials provided with the distribution.
|
15
|
+
|
16
|
+
3. Neither the name of the copyright holder nor the names of its
|
17
|
+
contributors may be used to endorse or promote products derived from
|
18
|
+
this software without specific prior written permission.
|
19
|
+
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
21
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
22
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
24
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
25
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
26
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
27
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
28
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
29
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
docs/Makefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
2
|
+
#
|
3
|
+
|
4
|
+
# You can set these variables from the command line, and also
|
5
|
+
# from the environment for the first two.
|
6
|
+
SPHINXOPTS ?=
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
8
|
+
SOURCEDIR = .
|
9
|
+
BUILDDIR = _build
|
10
|
+
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
12
|
+
help:
|
13
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
14
|
+
|
15
|
+
.PHONY: help Makefile
|
16
|
+
|
17
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
18
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
19
|
+
%: Makefile
|
20
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{{ fullname | escape | underline}}
|
2
|
+
|
3
|
+
.. currentmodule:: {{ module }}
|
4
|
+
|
5
|
+
.. autoclass:: {{ objname }}
|
6
|
+
:members:
|
7
|
+
:show-inheritance:
|
8
|
+
:inherited-members:
|
9
|
+
:special-members: __call__, __add__, __mul__
|
10
|
+
|
11
|
+
{% block methods %}
|
12
|
+
{% if methods %}
|
13
|
+
.. rubric:: {{ _('Methods') }}
|
14
|
+
|
15
|
+
.. autosummary::
|
16
|
+
:nosignatures:
|
17
|
+
{% for item in methods %}
|
18
|
+
{%- if not item.startswith('_') %}
|
19
|
+
~{{ name }}.{{ item }}
|
20
|
+
{%- endif -%}
|
21
|
+
{%- endfor %}
|
22
|
+
{% endif %}
|
23
|
+
{% endblock %}
|
24
|
+
|
25
|
+
{% block attributes %}
|
26
|
+
{% if attributes %}
|
27
|
+
.. rubric:: {{ _('Attributes') }}
|
28
|
+
|
29
|
+
.. autosummary::
|
30
|
+
{% for item in attributes %}
|
31
|
+
~{{ name }}.{{ item }}
|
32
|
+
{%- endfor %}
|
33
|
+
{% endif %}
|
34
|
+
{% endblock %}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
{{ fullname | escape | underline}}
|
2
|
+
|
3
|
+
.. automodule:: {{ fullname }}
|
4
|
+
|
5
|
+
{% block attributes %}
|
6
|
+
{% if attributes %}
|
7
|
+
.. rubric:: Module attributes
|
8
|
+
|
9
|
+
.. autosummary::
|
10
|
+
:toctree:
|
11
|
+
{% for item in attributes %}
|
12
|
+
{{ item }}
|
13
|
+
{%- endfor %}
|
14
|
+
{% endif %}
|
15
|
+
{% endblock %}
|
16
|
+
|
17
|
+
{% block functions %}
|
18
|
+
{% if functions %}
|
19
|
+
.. rubric:: {{ _('Functions') }}
|
20
|
+
|
21
|
+
.. autosummary::
|
22
|
+
:toctree:
|
23
|
+
:nosignatures:
|
24
|
+
{% for item in functions %}
|
25
|
+
{{ item }}
|
26
|
+
{%- endfor %}
|
27
|
+
{% endif %}
|
28
|
+
{% endblock %}
|
29
|
+
|
30
|
+
{% block classes %}
|
31
|
+
{% if classes %}
|
32
|
+
.. rubric:: {{ _('Classes') }}
|
33
|
+
|
34
|
+
.. autosummary::
|
35
|
+
:toctree:
|
36
|
+
:template: custom-class-template.rst
|
37
|
+
:nosignatures:
|
38
|
+
{% for item in classes %}
|
39
|
+
{{ item }}
|
40
|
+
{%- endfor %}
|
41
|
+
{% endif %}
|
42
|
+
{% endblock %}
|
43
|
+
|
44
|
+
{% block exceptions %}
|
45
|
+
{% if exceptions %}
|
46
|
+
.. rubric:: {{ _('Exceptions') }}
|
47
|
+
|
48
|
+
.. autosummary::
|
49
|
+
:toctree:
|
50
|
+
{% for item in exceptions %}
|
51
|
+
{{ item }}
|
52
|
+
{%- endfor %}
|
53
|
+
{% endif %}
|
54
|
+
{% endblock %}
|
55
|
+
|
56
|
+
{% block modules %}
|
57
|
+
{% if modules %}
|
58
|
+
.. autosummary::
|
59
|
+
:toctree:
|
60
|
+
:template: custom-module-template.rst
|
61
|
+
:recursive:
|
62
|
+
{% for item in modules %}
|
63
|
+
{{ item }}
|
64
|
+
{%- endfor %}
|
65
|
+
{% endif %}
|
66
|
+
{% endblock %}
|
docs/conf.py
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
2
|
+
#
|
3
|
+
# For the full list of built-in configuration values, see the documentation:
|
4
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
5
|
+
|
6
|
+
# -- Project information -----------------------------------------------------
|
7
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
8
|
+
|
9
|
+
import os
|
10
|
+
import pathlib
|
11
|
+
|
12
|
+
import tomli
|
13
|
+
|
14
|
+
project = "BEC Widgets"
|
15
|
+
copyright = "2023, Paul Scherrer Institute"
|
16
|
+
author = "Paul Scherrer Institute"
|
17
|
+
|
18
|
+
# -- General configuration ---------------------------------------------------
|
19
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
20
|
+
|
21
|
+
current_path = pathlib.Path(__file__).parent.parent.parent.resolve()
|
22
|
+
version_path = f"{current_path}/pyproject.toml"
|
23
|
+
|
24
|
+
|
25
|
+
def get_version():
|
26
|
+
"""load the version from the version file"""
|
27
|
+
with open(version_path, "r", encoding="utf-8") as file:
|
28
|
+
res = tomli.loads(file.read())
|
29
|
+
return res["project"]["version"]
|
30
|
+
|
31
|
+
|
32
|
+
release = get_version()
|
33
|
+
|
34
|
+
extensions = [
|
35
|
+
"sphinx.ext.autodoc",
|
36
|
+
"sphinx.ext.autosummary",
|
37
|
+
# "sphinx.ext.coverage",
|
38
|
+
"sphinx.ext.viewcode",
|
39
|
+
"sphinx.ext.napoleon",
|
40
|
+
"sphinx_toolbox.collapse",
|
41
|
+
"sphinx_copybutton",
|
42
|
+
"myst_parser",
|
43
|
+
"sphinx_design",
|
44
|
+
]
|
45
|
+
|
46
|
+
myst_enable_extensions = [
|
47
|
+
"amsmath",
|
48
|
+
"attrs_inline",
|
49
|
+
"colon_fence",
|
50
|
+
"deflist",
|
51
|
+
"dollarmath",
|
52
|
+
"fieldlist",
|
53
|
+
"html_admonition",
|
54
|
+
"html_image",
|
55
|
+
"replacements",
|
56
|
+
"smartquotes",
|
57
|
+
"strikethrough",
|
58
|
+
"substitution",
|
59
|
+
"tasklist",
|
60
|
+
]
|
61
|
+
|
62
|
+
autosummary_generate = True # Turn on sphinx.ext.autosummary
|
63
|
+
add_module_names = False # Remove namespaces from class/method signatures
|
64
|
+
autodoc_inherit_docstrings = True # If no docstring, inherit from base class
|
65
|
+
set_type_checking_flag = True # Enable 'expensive' imports for sphinx_autodoc_typehints
|
66
|
+
autoclass_content = "both" # Include both class docstring and __init__
|
67
|
+
|
68
|
+
# Add any paths that contain templates here, relative to this directory.
|
69
|
+
templates_path = ["_templates"]
|
70
|
+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
71
|
+
|
72
|
+
language = "Python"
|
73
|
+
|
74
|
+
# -- Options for HTML output -------------------------------------------------
|
75
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
76
|
+
|
77
|
+
html_theme = "pydata_sphinx_theme"
|
78
|
+
html_static_path = ["_static"]
|
79
|
+
html_css_files = ["css/custom.css"]
|
80
|
+
html_logo = "_static/bec.png"
|
81
|
+
html_theme_options = {"show_nav_level": 1, "navbar_align": "content"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
(developer)=
|
2
|
+
# Development
|
3
|
+
|
4
|
+
```{toctree}
|
5
|
+
---
|
6
|
+
maxdepth: 1
|
7
|
+
hidden: true
|
8
|
+
---
|
9
|
+
reference/
|
10
|
+
```
|
11
|
+
|
12
|
+
To contribute to the development of BEC Widgets, start by setting up the development environment:
|
13
|
+
|
14
|
+
1. **Clone the Repository**:
|
15
|
+
```bash
|
16
|
+
git clone https://gitlab.psi.ch/bec/bec_widgets
|
17
|
+
cd bec_widgets
|
18
|
+
```
|
19
|
+
2. **Install in Editable Mode**:
|
20
|
+
|
21
|
+
Installing the package in editable mode allows you to make changes to the code and test them in real-time.
|
22
|
+
```bash
|
23
|
+
pip install -e .[dev,pyqt6]
|
24
|
+
```
|
25
|
+
|
26
|
+
|
docs/index.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# BEC Widgets documentation
|
2
|
+
|
3
|
+
<br><br>
|
4
|
+
|
5
|
+
````{grid} 3
|
6
|
+
:gutter: 5
|
7
|
+
|
8
|
+
```{grid-item-card} Introduction
|
9
|
+
:link: introduction
|
10
|
+
:link-type: ref
|
11
|
+
|
12
|
+
General information.
|
13
|
+
```
|
14
|
+
|
15
|
+
```{grid-item-card} User
|
16
|
+
:link: user
|
17
|
+
:link-type: ref
|
18
|
+
|
19
|
+
Information for users.
|
20
|
+
```
|
21
|
+
|
22
|
+
```{grid-item-card} Developer
|
23
|
+
:link: developer
|
24
|
+
:link-type: ref
|
25
|
+
|
26
|
+
Information for developers.
|
27
|
+
```
|
28
|
+
````
|
29
|
+
|
30
|
+
|
31
|
+
```{toctree}
|
32
|
+
---
|
33
|
+
numbered: true
|
34
|
+
maxdepth: 1
|
35
|
+
---
|
36
|
+
|
37
|
+
introduction/introduction
|
38
|
+
user/user
|
39
|
+
developer/developer
|
@@ -0,0 +1,18 @@
|
|
1
|
+
(introduction)=
|
2
|
+
# Introduction
|
3
|
+
|
4
|
+
## Overview
|
5
|
+
|
6
|
+
BEC Widgets is a GUI framework developed with beamline scientists in mind, aiming to provide a modern and modular environment for interacting with experiments. This package offers a suite of widgets specifically designed to enhance the workflow of beamline experiments, including features for running scans and data visualization.
|
7
|
+
|
8
|
+
Targeting the unique needs of beamline scientists, BEC Widgets stands out with its modular approach to widget design and high customizability. This flexibility allows for tailored solutions that meet the specific requirements of each beamline.
|
9
|
+
|
10
|
+
**Key Features**:
|
11
|
+
|
12
|
+
- **Integration:** Seamlessly integrates with [BEC (Beamline Experiment Control)](https://gitlab.psi.ch/bec/bec), ensuring a cohesive and efficient experiment control experience.
|
13
|
+
- **Support for PyQt5 and PyQt6:** Provides compatibility with both PyQt5 and PyQt6, offering versatility in your development environment.
|
14
|
+
- **Widget Modularity:** Features modular widgets that can be easily combined to create customized applications, perfectly aligning with the diverse needs of beamline experiments.
|
15
|
+
|
16
|
+
## Getting Started
|
17
|
+
|
18
|
+
For detailed usage instructions and examples showcasing the practical applications of BEC Widgets, please refer to the [User](#user) section. Developers interested in contributing or customizing BEC Widgets can find more information in the [Developer](#developer) section.
|
docs/make.bat
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
@ECHO OFF
|
2
|
+
|
3
|
+
pushd %~dp0
|
4
|
+
|
5
|
+
REM Command file for Sphinx documentation
|
6
|
+
|
7
|
+
if "%SPHINXBUILD%" == "" (
|
8
|
+
set SPHINXBUILD=sphinx-build
|
9
|
+
)
|
10
|
+
set SOURCEDIR=.
|
11
|
+
set BUILDDIR=_build
|
12
|
+
|
13
|
+
%SPHINXBUILD% >NUL 2>NUL
|
14
|
+
if errorlevel 9009 (
|
15
|
+
echo.
|
16
|
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
17
|
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
18
|
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
19
|
+
echo.may add the Sphinx directory to PATH.
|
20
|
+
echo.
|
21
|
+
echo.If you don't have Sphinx installed, grab it from
|
22
|
+
echo.https://www.sphinx-doc.org/
|
23
|
+
exit /b 1
|
24
|
+
)
|
25
|
+
|
26
|
+
if "%1" == "" goto help
|
27
|
+
|
28
|
+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
29
|
+
goto end
|
30
|
+
|
31
|
+
:help
|
32
|
+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
33
|
+
|
34
|
+
:end
|
35
|
+
popd
|
docs/requirements.txt
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
(user.apps.motor_app)=
|
2
|
+
# Motor Alignment
|
3
|
+
|
4
|
+
The Motor Alignment Application is a key component of the BEC Widgets suite, designed to facilitate precise alignment of motors.
|
5
|
+
Users can easily launch this app using the script located at `/bec_widgets/example/motor_movement/motor_example.py` script.
|
6
|
+
The application's primary function is to enable users to align motors to specific positions and to visually track the motor's trajectory.
|
7
|
+
|
8
|
+
## Controlling Motors
|
9
|
+
|
10
|
+
In the top middle panel of the application, users will find combobox dropdown menus for selecting the motors they wish to track on the x and y axes of the motor map.
|
11
|
+
These motors are automatically loaded from the current active BEC instance, ensuring seamless integration and ease of use.
|
12
|
+
|
13
|
+
There are two primary methods to control motor movements:
|
14
|
+
|
15
|
+
|
16
|
+
1. **Manual Control with Arrow Keys:** Users can manually drive the motors using arrow keys. Before doing so, they need to select the step size for each motor, allowing for precise and incremental movements.
|
17
|
+
2. **Direct Position Entry:** Alternatively, users can input a desired position in the text input box and then click the Go button. This action will move the motor directly to the specified coordinates.
|
18
|
+
|
19
|
+
As the motors are moved, their trajectory is plotted in real-time, providing users with a visual representation of the motor's path. This feature is particularly useful for understanding the movement patterns and making necessary adjustments.
|
20
|
+
|
21
|
+
|
22
|
+
## Saving and Exporting Data
|
23
|
+
|
24
|
+
Users have the ability to save the current motor position in a table widget. This functionality is beneficial for recalling and returning to specific positions. By clicking the Go button in the table widget, the motors will automatically move back to the saved position.
|
25
|
+
|
26
|
+
Additionally, users can annotate each saved position with notes and comments directly in the table widget. This feature is invaluable for keeping track of specific alignment settings or observations. The contents of the table, including the notes, can be exported to a .csv file. This exported data can be used for initiating scans or for record-keeping purposes.
|
27
|
+
|
28
|
+
The table widget also supports saving and loading functionalities, allowing users to preserve their motor positions and notes across sessions. The saved files are in a user-friendly format for ease of access and use.
|
29
|
+
|
30
|
+
|
31
|
+
## Example of Use
|
32
|
+
|
33
|
+

|
34
|
+
|
Binary file
|
docs/user/apps.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
(user.apps)=
|
2
|
+
# Applications
|
3
|
+
|
4
|
+
In the `bec_widgets/examples` directory, you will find practical applications that demonstrate the capabilities of BEC Widgets in real-world scenarios. These applications showcase the adaptability and functionality of the framework for various beamline experiment needs.
|
5
|
+
|
6
|
+
**Motor Alignment Tool**
|
7
|
+
|
8
|
+
This tool assists in aligning motors with samples during experiments. It enables users to move motors, visually track their movement, and record positions for precise alignment.
|
9
|
+
|
10
|
+
- **Location:** `bec_widgets/examples/motor_movement`
|
11
|
+
- **Further Details:** [Motor Alignment Tool Documentation](#user.apps.motor_app)
|
12
|
+
|
13
|
+
**General Plotting Live Acquisition Tool**
|
14
|
+
|
15
|
+
This application is designed for live data visualization. It allows users to view real-time signals from detectors in a multi-grid layout, facilitating immediate analysis during experiments.
|
16
|
+
|
17
|
+
- **Location:** `bec_widgets/examples/plot_app`
|
18
|
+
- **Further Details:** [General Plotting Live Acquisition Tool Documentation](#user.apps.plot_app)
|
19
|
+
|
20
|
+
|
21
|
+
**Modular Application**
|
22
|
+
|
23
|
+
A bespoke application built entirely using BEC Widgets' modular components. This example illustrates the framework's flexibility in creating customized GUIs tailored to specific experimental setups.
|
24
|
+
|
25
|
+
- **Location:** `bec_widgets/examples/modular_app`
|
26
|
+
- **Further Details:** [Modular Application](#user.apps.modular_app)
|
27
|
+
|
28
|
+
---
|
29
|
+
Note: The documentation for these applications is currently under development. The provided links will direct you to their respective pages once the documentation is complete.
|
30
|
+
|
31
|
+
```{toctree}
|
32
|
+
---
|
33
|
+
maxdepth: 1
|
34
|
+
hidden: true
|
35
|
+
---
|
36
|
+
|
37
|
+
apps/motor_app
|
38
|
+
apps/plot_app
|
39
|
+
apps/modular_app
|
@@ -0,0 +1,13 @@
|
|
1
|
+
(user.customisation)=
|
2
|
+
# Customisation
|
3
|
+
|
4
|
+
BEC Widgets are designed to be used with QtDesigner to quicly design GUI.
|
5
|
+
|
6
|
+
|
7
|
+
## Example of promoting widgets in Qt Designer
|
8
|
+
|
9
|
+
_Work in progress_
|
10
|
+
|
11
|
+
## Implementation of plugins into Qt Designer
|
12
|
+
|
13
|
+
_Work in progress_
|