bec-widgets 0.87.1__py3-none-any.whl → 0.88.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 +58 -62
- PKG-INFO +1 -1
- bec_widgets/assets/designer_icons/BECWaveformWidget.png +0 -0
- bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
- bec_widgets/assets/toolbar_icons/add.svg +3 -0
- bec_widgets/assets/toolbar_icons/auto_range.svg +3 -0
- bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +3 -0
- bec_widgets/assets/toolbar_icons/export.svg +9 -0
- bec_widgets/assets/toolbar_icons/fitting_parameters.svg +3 -0
- bec_widgets/assets/toolbar_icons/import.svg +9 -0
- bec_widgets/assets/toolbar_icons/line_axis.svg +3 -0
- bec_widgets/assets/toolbar_icons/photo_library.svg +3 -0
- bec_widgets/assets/toolbar_icons/rectangle_mode.svg +3 -0
- bec_widgets/assets/toolbar_icons/remove.svg +5 -0
- bec_widgets/assets/toolbar_icons/save.svg +3 -0
- bec_widgets/assets/toolbar_icons/settings.svg +4 -0
- bec_widgets/cli/client.py +307 -5
- bec_widgets/cli/server.py +2 -1
- bec_widgets/examples/jupyter_console/jupyter_console_window.py +12 -5
- bec_widgets/examples/plugin_example_pyside/tictactoe.py +1 -0
- bec_widgets/widgets/{color_map_selector/color_map_selector.py → colormap_selector/colormap_selector.py} +3 -1
- bec_widgets/widgets/colormap_selector/colormap_selector.pyproject +1 -0
- bec_widgets/widgets/{color_map_selector/color_map_selector_plugin.py → colormap_selector/colormap_selector_plugin.py} +8 -6
- bec_widgets/widgets/{color_map_selector/register_color_map_selector.py → colormap_selector/register_colormap_selector.py} +1 -1
- bec_widgets/widgets/figure/figure.py +12 -0
- bec_widgets/widgets/figure/plots/axis_settings.py +38 -11
- bec_widgets/widgets/figure/plots/image/image.py +1 -0
- bec_widgets/widgets/figure/plots/motor_map/motor_map.py +1 -0
- bec_widgets/widgets/figure/plots/plot_base.py +7 -3
- bec_widgets/widgets/figure/plots/waveform/waveform.py +48 -50
- bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +9 -0
- bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +1 -1
- bec_widgets/widgets/motor_map/motor_map_widget.py +7 -0
- bec_widgets/widgets/waveform/__init__.py +0 -0
- bec_widgets/widgets/waveform/bec_waveform_widget.pyproject +1 -0
- bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +59 -0
- bec_widgets/widgets/waveform/register_bec_waveform_widget.py +15 -0
- bec_widgets/widgets/waveform/waveform_toolbar/__init__.py +0 -0
- bec_widgets/widgets/waveform/waveform_toolbar/curve_dialog/__init__.py +0 -0
- bec_widgets/widgets/waveform/waveform_toolbar/curve_dialog/curve_dialog.py +341 -0
- bec_widgets/widgets/waveform/waveform_toolbar/curve_dialog/curve_dialog.ui +358 -0
- bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/__init__.py +0 -0
- bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/dap_summary.ui +127 -0
- bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/dap_summary_dialog.py +69 -0
- bec_widgets/widgets/waveform/waveform_toolbar/waveform_toolbar.py +117 -0
- bec_widgets/widgets/waveform/waveform_widget.py +571 -0
- {bec_widgets-0.87.1.dist-info → bec_widgets-0.88.0.dist-info}/METADATA +1 -1
- {bec_widgets-0.87.1.dist-info → bec_widgets-0.88.0.dist-info}/RECORD +57 -30
- pyproject.toml +1 -1
- tests/unit_tests/test_color_map_selector.py +1 -1
- tests/unit_tests/test_waveform_widget.py +264 -0
- bec_widgets/widgets/color_map_selector/assets/color_map_selector_icon.png +0 -0
- bec_widgets/widgets/color_map_selector/color_map_selector.pyproject +0 -1
- /bec_widgets/assets/{bec_widgets_icon.png → app_icons/bec_widgets_icon.png} +0 -0
- /bec_widgets/assets/{terminal_icon.png → app_icons/terminal_icon.png} +0 -0
- /bec_widgets/widgets/{color_map_selector → colormap_selector}/__init__.py +0 -0
- {bec_widgets-0.87.1.dist-info → bec_widgets-0.88.0.dist-info}/WHEEL +0 -0
- {bec_widgets-0.87.1.dist-info → bec_widgets-0.88.0.dist-info}/entry_points.txt +0 -0
- {bec_widgets-0.87.1.dist-info → bec_widgets-0.88.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,35 +2,49 @@
|
|
2
2
|
.gitlab-ci.yml,sha256=zvb4A6QI5lQTsdfI5nPPL-tUNfcrz__SQjxW03QZ5Ek,8204
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=Cg7hwqHhrIkyyabuoKi2_GBGf2qCr5D4-41C1-kKuFo,8161
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=Q7jSMAX05ltg_SwmOLHmPtuTqoUeD06Z7WdFJnDLIMc,1308
|
8
8
|
README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=p3KQpk_Kzo3cOeqBMjLywMn9OO3ygOO9In4jTzXPRfk,2357
|
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
|
+
bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
|
17
|
+
bec_widgets/assets/app_icons/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
|
18
|
+
bec_widgets/assets/designer_icons/BECWaveformWidget.png,sha256=QKocOi6e1frT6anrTwIQqQEwkalbl2AoOrTpvN1dr90,3764
|
19
|
+
bec_widgets/assets/designer_icons/colormap_selector.png,sha256=KULLUA5T9SLhcSyrdouG07nXHZtE-LNNOn0ghG7T-OQ,6831
|
20
|
+
bec_widgets/assets/toolbar_icons/add.svg,sha256=Co1Iueh0sqQ1LMQcvNXPLg6tC6MLtQviH-F79uhM2o0,228
|
21
|
+
bec_widgets/assets/toolbar_icons/auto_range.svg,sha256=hq6YMySVWF01SeEXzpF_h7BaqUPdsipTk_Z3nOjD8bg,487
|
22
|
+
bec_widgets/assets/toolbar_icons/drag_pan_mode.svg,sha256=ruinkJ0dVEPSH7ll4Pufl9c7oTwVXvcN57oTgiVRY5I,470
|
23
|
+
bec_widgets/assets/toolbar_icons/export.svg,sha256=-kDEfxzloR1fOpZ5d4KIkxGH7wS_4Z1uJImtnKA5XxU,371
|
24
|
+
bec_widgets/assets/toolbar_icons/fitting_parameters.svg,sha256=k57fFm2xPyYQD0y1K4Mb-7uqDeVA6GBWq_oh4-rQQeE,366
|
25
|
+
bec_widgets/assets/toolbar_icons/import.svg,sha256=57-0ahjyIng5d3c0pSVCC2YwEYmQSyVVUdWkQXiVEVY,377
|
26
|
+
bec_widgets/assets/toolbar_icons/line_axis.svg,sha256=uguelNycsOl6DmjYfUPnPnkIxfrDHEiLCpHW7iKEyfk,450
|
27
|
+
bec_widgets/assets/toolbar_icons/photo_library.svg,sha256=weiDCYiHh9dzcA21D-37zpYts2CyoGAd9x-N_h292Mo,564
|
28
|
+
bec_widgets/assets/toolbar_icons/rectangle_mode.svg,sha256=N7AXB3da-RW8OpjLFeOUh1SDKVQ-9SWGPUjkryujyeE,946
|
29
|
+
bec_widgets/assets/toolbar_icons/remove.svg,sha256=K1g1KmNyp32WlAZpR9w5HezYhtxbqXo_2goimkxwPaw,357
|
30
|
+
bec_widgets/assets/toolbar_icons/save.svg,sha256=rexWzbFExkh-NiAFP1909-1mm1BKU76cxQBwdAVvtHo,621
|
31
|
+
bec_widgets/assets/toolbar_icons/settings.svg,sha256=ro30oa9CF1YijOXoUl-hz2DilJcqTy4rlTrMYhggumQ,1473
|
18
32
|
bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
|
19
33
|
bec_widgets/cli/auto_updates.py,sha256=DyBV3HnjMSH-cvVkYNcDiYKVf0Xut4Qy2qGQqkW47Bw,4833
|
20
|
-
bec_widgets/cli/client.py,sha256
|
34
|
+
bec_widgets/cli/client.py,sha256=-fJ0QirirJ4ZGXNgfXLUL1VmuYfYJdp_50o3jpEvY_Q,70291
|
21
35
|
bec_widgets/cli/client_utils.py,sha256=cDhabblwaP88a0jlVpbn_RWWKVbsyjhmmGtMh9gesEw,12388
|
22
36
|
bec_widgets/cli/generate_cli.py,sha256=Ea5px9KblUlcGg-1JbJBTIU7laGg2n8PM7Efw9WVVzM,5889
|
23
37
|
bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
|
24
38
|
bec_widgets/cli/rpc_wigdet_handler.py,sha256=6kQng2DyS6rhLJqSJ7xa0kdgSxp-35A2upcf833dJRE,1483
|
25
|
-
bec_widgets/cli/server.py,sha256=
|
39
|
+
bec_widgets/cli/server.py,sha256=y0GrBpDF3bHvYFZM20j2eDlsYxb-hT1ki_zmVI_OEiM,7752
|
26
40
|
bec_widgets/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
41
|
bec_widgets/examples/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=
|
42
|
+
bec_widgets/examples/jupyter_console/jupyter_console_window.py,sha256=a0eTHk91ZTb5RT-e099Isx3q4adYmM7zvKnNIWhJgFw,6849
|
29
43
|
bec_widgets/examples/plugin_example_pyside/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
44
|
bec_widgets/examples/plugin_example_pyside/main.py,sha256=xdC6RWSRt1rW8Prj0CsDeCPct6-_j3__oJmdgogB5PI,505
|
31
45
|
bec_widgets/examples/plugin_example_pyside/registertictactoe.py,sha256=VNFkHc5Sc30lRKzOFJbhArCHGkp_wRxOeJjZbmaAHRU,448
|
32
46
|
bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject,sha256=O_PSMFJlXxQuf55gIOfkpfZIZGpX8W1SfUVZ-mvtI_E,119
|
33
|
-
bec_widgets/examples/plugin_example_pyside/tictactoe.py,sha256=
|
47
|
+
bec_widgets/examples/plugin_example_pyside/tictactoe.py,sha256=byR7mTiIXFaA9igPTH04pzm0yfikNB5KgISwvNiRPd8,4940
|
34
48
|
bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py,sha256=BBt3MD8oDLUMCCY3mioJa1QRR0WQdW6DuvVmK1Taovk,1734
|
35
49
|
bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=LNwplI6deUdKY6FOhUuWBanotxk9asF2G-6k7lFfA8Y,2301
|
36
50
|
bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -79,12 +93,11 @@ bec_widgets/widgets/color_button/color_button.pyproject,sha256=LUYF4VkDOB4ttVe7Y
|
|
79
93
|
bec_widgets/widgets/color_button/color_button_plugin.py,sha256=CvO3L6r8pBd-0DNuqjQ7uKF9u1mU6xFs23sS_dsj4tw,1256
|
80
94
|
bec_widgets/widgets/color_button/register_color_button.py,sha256=ZAx3t7G2VI2S-1qcEof31Xi9O0X8deLeZNgS651L1JI,475
|
81
95
|
bec_widgets/widgets/color_button/assets/color_button.png,sha256=dkjgGHSdxu98nM68O16fGpxBjxkkeLN8iu9M_8i5-NY,5618
|
82
|
-
bec_widgets/widgets/
|
83
|
-
bec_widgets/widgets/
|
84
|
-
bec_widgets/widgets/
|
85
|
-
bec_widgets/widgets/
|
86
|
-
bec_widgets/widgets/
|
87
|
-
bec_widgets/widgets/color_map_selector/assets/color_map_selector_icon.png,sha256=o8zRmMvXhGhMyBklH_Vfjn-jpDL4Nw03fLqDk_wx_JI,11975
|
96
|
+
bec_widgets/widgets/colormap_selector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
97
|
+
bec_widgets/widgets/colormap_selector/colormap_selector.py,sha256=4BqV11XMZVmcwzHiKgwUVFtg_bg4Nz7CQznkL4hHRYU,3794
|
98
|
+
bec_widgets/widgets/colormap_selector/colormap_selector.pyproject,sha256=lHl9qmlMCB6BKB2orqctKwLcKK3Swc0THsyr-5O_vXM,35
|
99
|
+
bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py,sha256=NWTldO9XMyyOVL0No-Bmr-tvWrinmU7LkDxB5LkIQtA,1416
|
100
|
+
bec_widgets/widgets/colormap_selector/register_colormap_selector.py,sha256=bfw7RWmTmMLTLxGT-izSwcGtxGLKvL3jdivJw2z8oN4,512
|
88
101
|
bec_widgets/widgets/console/console.py,sha256=IW1OerycmS-cm8CKGFig44Qye8mxsmVcKvLHAc3lXco,17845
|
89
102
|
bec_widgets/widgets/device_box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
103
|
bec_widgets/widgets/device_box/device_box.py,sha256=2hWCbDaBvYnWK4-HDqeYetzb5KR4DBk7UPQJMLhT4w0,6929
|
@@ -108,26 +121,26 @@ bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6
|
|
108
121
|
bec_widgets/widgets/dock/dock.py,sha256=2KJCLGIqmuMBOYVZCfJMFfYW3IXsIO0SuyebI_ktZKg,7648
|
109
122
|
bec_widgets/widgets/dock/dock_area.py,sha256=Sv4SEntiJ67VNnup5XfZpBIIHBxyuRvYZigUXKf9E3E,7974
|
110
123
|
bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
|
111
|
-
bec_widgets/widgets/figure/figure.py,sha256=
|
124
|
+
bec_widgets/widgets/figure/figure.py,sha256=IP8Kr8mWOBRSeWsB17UYoU5bpE4WcrOCuN5HpJOdzfk,28768
|
112
125
|
bec_widgets/widgets/figure/plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
113
|
-
bec_widgets/widgets/figure/plots/axis_settings.py,sha256=
|
126
|
+
bec_widgets/widgets/figure/plots/axis_settings.py,sha256=_z20SrMu5iRM0eqhQjsCV1MDOY80hN2dqtvkeofXs0w,3510
|
114
127
|
bec_widgets/widgets/figure/plots/axis_settings.ui,sha256=zMKZK6lH_3KJGO4RA_paXAH7UzZJ4Snlil3MK4pK3L8,11589
|
115
|
-
bec_widgets/widgets/figure/plots/plot_base.py,sha256=
|
128
|
+
bec_widgets/widgets/figure/plots/plot_base.py,sha256=xU2aRfSOdGNsIl-fJ1PZDNm5b4h70akFbtHq7h38ydk,10419
|
116
129
|
bec_widgets/widgets/figure/plots/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
117
|
-
bec_widgets/widgets/figure/plots/image/image.py,sha256=
|
130
|
+
bec_widgets/widgets/figure/plots/image/image.py,sha256=CoD1ODroBL0M-9xCyAyELz-UBSHGMoXqe_1GqhGrRN0,21294
|
118
131
|
bec_widgets/widgets/figure/plots/image/image_item.py,sha256=TyarahdWEn0jgalj5fqSAmcznXSbENkqHrrlL2GVdU4,10558
|
119
132
|
bec_widgets/widgets/figure/plots/image/image_processor.py,sha256=GeTtWjbldy6VejMwPGQgM-o3d6bmLglCjdoktu19xfA,5262
|
120
133
|
bec_widgets/widgets/figure/plots/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
121
|
-
bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=
|
134
|
+
bec_widgets/widgets/figure/plots/motor_map/motor_map.py,sha256=IjCwVNb9DlujIDF9rlI7fOAM7udKpt0wL5hAGo2-MUw,18202
|
122
135
|
bec_widgets/widgets/figure/plots/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
123
|
-
bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=
|
124
|
-
bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=
|
136
|
+
bec_widgets/widgets/figure/plots/waveform/waveform.py,sha256=HRU3d6nhr6DnfDc2N4VTTSABk9veTnnsBOnfc1UbamQ,51720
|
137
|
+
bec_widgets/widgets/figure/plots/waveform/waveform_curve.py,sha256=ZwRxSfPHbMWEvgUC-mL2orpZvtxR-DcrYAFikkdWEzk,8654
|
125
138
|
bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
126
139
|
bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=mBKM89H6SuHuFy1lQg1n8s1gQiN5QEkZf0xua8aPDns,2402
|
127
140
|
bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
128
141
|
bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
|
129
|
-
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=
|
130
|
-
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=
|
142
|
+
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=TpRrkyUpdsDhzn7yZnbqk2FktXH98Gjo-gH8UN4Dis0,1276
|
143
|
+
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=HoGS9mbaNG0pPIMQ7Xm0LB3p2trtINj1wq9_oLJEQ3w,7296
|
131
144
|
bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
|
132
145
|
bec_widgets/widgets/motor_map/assets/connection.svg,sha256=czIb1BnshmxJnER8ssU3WcLENrFSIUfMwberajWOGAk,341
|
133
146
|
bec_widgets/widgets/motor_map/assets/history.svg,sha256=bd6p5saxRiNRpd5OsSwIOvRWvel0WFEHul9zw4y9vH0,392
|
@@ -167,6 +180,19 @@ bec_widgets/widgets/toggle/toggle_switch.pyproject,sha256=Msa-AS5H5XlqW65r8GlX2A
|
|
167
180
|
bec_widgets/widgets/toggle/toggle_switch_plugin.py,sha256=8e8JjUx6T5CIx7ixWLwVdT9JOJTbQ8aWwd3_9VAc_Mw,1177
|
168
181
|
bec_widgets/widgets/vscode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
169
182
|
bec_widgets/widgets/vscode/vscode.py,sha256=yV1D9PK2IYomq9yYfwqUOrZGIeBwMnNuBfXxBc2M8Qc,2231
|
183
|
+
bec_widgets/widgets/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
184
|
+
bec_widgets/widgets/waveform/bec_waveform_widget.pyproject,sha256=GLD8GN9dXx9wNbtnevrxqqcwk7vKV-Uv8QYSycdaoaI,33
|
185
|
+
bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py,sha256=LjJJoRFlkcQWs7SUIPX859AeCiqVRsjgRWMNKE596uY,1429
|
186
|
+
bec_widgets/widgets/waveform/register_bec_waveform_widget.py,sha256=qZHVZH_lP2hvzkG1Ra0EyrXlMeLkRCy0aceH-bfJ1cs,490
|
187
|
+
bec_widgets/widgets/waveform/waveform_widget.py,sha256=ZRhwyxhrCwQxQJIusHy8oMi-PKmDzebP0GPiQawP-Sg,18636
|
188
|
+
bec_widgets/widgets/waveform/waveform_toolbar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
189
|
+
bec_widgets/widgets/waveform/waveform_toolbar/waveform_toolbar.py,sha256=n3hwAzLCQul-FviDn0ikhDsYvza7JOb30ekTmbhu9JY,3896
|
190
|
+
bec_widgets/widgets/waveform/waveform_toolbar/curve_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
191
|
+
bec_widgets/widgets/waveform/waveform_toolbar/curve_dialog/curve_dialog.py,sha256=jCtWjNxsdOW7fA9BLdMAMrlCKHr2tFMHcVMxpeJ6YZE,13107
|
192
|
+
bec_widgets/widgets/waveform/waveform_toolbar/curve_dialog/curve_dialog.ui,sha256=OaQE5HlyBQ3RQoHqxOFHiUoNcx8SDZP5sHJ9NNGhsPI,10404
|
193
|
+
bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
194
|
+
bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/dap_summary.ui,sha256=PFEKro61UXd-jmx65U4pqJ5D29DXtVnhQRnsnDvN-wM,6138
|
195
|
+
bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/dap_summary_dialog.py,sha256=a5n_gBebETdj80TU7Dgy1cnazPFyxLlWk_lRdvy3qA4,2403
|
170
196
|
bec_widgets/widgets/website/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
171
197
|
bec_widgets/widgets/website/website.py,sha256=FmhVaasAU3ZSdKP-HHSnJHFbG8lIsNAPH9pZq55fhic,1731
|
172
198
|
docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
|
@@ -240,7 +266,7 @@ tests/unit_tests/test_bec_motor_map.py,sha256=dSYopbZS8lGD9cB26Kwmqw5zBoKCZs8t7D
|
|
240
266
|
tests/unit_tests/test_bec_queue.py,sha256=u-uc-iZeGAS8P90o6Cxy5oz_60zHpirGAu04OgQPDXw,4598
|
241
267
|
tests/unit_tests/test_bec_status_box.py,sha256=gZdjyy9DNuUP9UwleTLj2Dp5HUImiqnkHjXWiqL0Q-o,4868
|
242
268
|
tests/unit_tests/test_client_utils.py,sha256=CBdWIVJ_UiyFzTJnX3XJm4PGw2uXhFvRCP_Y9ifckbw,2630
|
243
|
-
tests/unit_tests/test_color_map_selector.py,sha256=
|
269
|
+
tests/unit_tests/test_color_map_selector.py,sha256=tsfCwHnEQoQhzA1ZpLhbGCMPqDX5hmH_YIzYTmBwnoM,1516
|
244
270
|
tests/unit_tests/test_color_validation.py,sha256=xbFbtFDia36XLgaNrX2IwvAX3IDC_Odpj5BGoJSgiIE,2389
|
245
271
|
tests/unit_tests/test_crosshair.py,sha256=3OMAJ2ZaISYXMOtkXf1rPdy94vCr8njeLi6uHblBL9Q,5045
|
246
272
|
tests/unit_tests/test_device_box.py,sha256=q9IVFpt1NF3TBF0Jhk-I-LRiuvvHG3FGUalw4jEYwVo,3431
|
@@ -265,6 +291,7 @@ tests/unit_tests/test_text_box_widget.py,sha256=cT0uEHt_6d-FwST0A_wE9sFW9E3F_nJb
|
|
265
291
|
tests/unit_tests/test_toggle.py,sha256=Amzgres7te0tTQIDR2WMKSx9Kce44TxMpIPR6HZygXQ,832
|
266
292
|
tests/unit_tests/test_vscode_widget.py,sha256=G1G7nCQGXFUn0BnMECE7mHmAm0C6pYx1JpEi_XEhodY,2682
|
267
293
|
tests/unit_tests/test_waveform1d.py,sha256=ZuHCvGubMuaLIzaMWDvmBUhgzUHCDLdvTZqIOfBKaZg,22713
|
294
|
+
tests/unit_tests/test_waveform_widget.py,sha256=6jNmJJXCm28Owrs8vEYzP0OX8lFE6T5c7OUNjV6CiB4,8592
|
268
295
|
tests/unit_tests/test_website_widget.py,sha256=fBADIJJBAHU4Ro7u95kdemFVNv196UOcuO9oLHuHt8A,761
|
269
296
|
tests/unit_tests/test_widget_io.py,sha256=FeL3ZYSBQnRt6jxj8VGYw1cmcicRQyHKleahw7XIyR0,3475
|
270
297
|
tests/unit_tests/test_yaml_dialog.py,sha256=SEvUgC_poWC6fAoHVWolaORpgMFc7c0Xqqk9cFvHSvo,5826
|
@@ -273,8 +300,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
|
|
273
300
|
tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
|
274
301
|
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
275
302
|
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
276
|
-
bec_widgets-0.
|
277
|
-
bec_widgets-0.
|
278
|
-
bec_widgets-0.
|
279
|
-
bec_widgets-0.
|
280
|
-
bec_widgets-0.
|
303
|
+
bec_widgets-0.88.0.dist-info/METADATA,sha256=Q7jSMAX05ltg_SwmOLHmPtuTqoUeD06Z7WdFJnDLIMc,1308
|
304
|
+
bec_widgets-0.88.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
305
|
+
bec_widgets-0.88.0.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
|
306
|
+
bec_widgets-0.88.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
307
|
+
bec_widgets-0.88.0.dist-info/RECORD,,
|
pyproject.toml
CHANGED
@@ -0,0 +1,264 @@
|
|
1
|
+
from unittest.mock import MagicMock, patch
|
2
|
+
|
3
|
+
import pyqtgraph as pg
|
4
|
+
import pytest
|
5
|
+
|
6
|
+
from bec_widgets.widgets.waveform.waveform_widget import BECWaveformWidget
|
7
|
+
|
8
|
+
from .client_mocks import mocked_client
|
9
|
+
|
10
|
+
|
11
|
+
@pytest.fixture
|
12
|
+
def waveform_widget(qtbot, mocked_client):
|
13
|
+
widget = BECWaveformWidget(client=mocked_client())
|
14
|
+
qtbot.addWidget(widget)
|
15
|
+
qtbot.waitExposed(widget)
|
16
|
+
yield widget
|
17
|
+
widget.close()
|
18
|
+
|
19
|
+
|
20
|
+
@pytest.fixture
|
21
|
+
def mock_waveform(waveform_widget):
|
22
|
+
waveform_mock = MagicMock()
|
23
|
+
waveform_widget.waveform = waveform_mock
|
24
|
+
return waveform_mock
|
25
|
+
|
26
|
+
|
27
|
+
def test_waveform_widget_inti(waveform_widget):
|
28
|
+
assert waveform_widget is not None
|
29
|
+
assert waveform_widget.client is not None
|
30
|
+
assert isinstance(waveform_widget, BECWaveformWidget)
|
31
|
+
assert waveform_widget.config.widget_class == "BECWaveformWidget"
|
32
|
+
|
33
|
+
|
34
|
+
###################################
|
35
|
+
# Wrapper methods for Waveform
|
36
|
+
###################################
|
37
|
+
|
38
|
+
|
39
|
+
def test_waveform_widget_get_curve(waveform_widget, mock_waveform):
|
40
|
+
waveform_widget.get_curve("curve_id")
|
41
|
+
waveform_widget.waveform.get_curve.assert_called_once_with("curve_id")
|
42
|
+
|
43
|
+
|
44
|
+
def test_waveform_widget_set_colormap(waveform_widget, mock_waveform):
|
45
|
+
waveform_widget.set_colormap("colormap")
|
46
|
+
waveform_widget.waveform.set_colormap.assert_called_once_with("colormap")
|
47
|
+
|
48
|
+
|
49
|
+
def test_waveform_widget_set_x(waveform_widget, mock_waveform):
|
50
|
+
waveform_widget.set_x("samx", "samx")
|
51
|
+
waveform_widget.waveform.set_x.assert_called_once_with("samx", "samx")
|
52
|
+
|
53
|
+
|
54
|
+
def test_waveform_plot_data(waveform_widget, mock_waveform):
|
55
|
+
waveform_widget.plot(x=[1, 2, 3], y=[1, 2, 3])
|
56
|
+
waveform_widget.waveform.plot.assert_called_once_with(
|
57
|
+
arg1=None,
|
58
|
+
x=[1, 2, 3],
|
59
|
+
y=[1, 2, 3],
|
60
|
+
x_name=None,
|
61
|
+
y_name=None,
|
62
|
+
z_name=None,
|
63
|
+
x_entry=None,
|
64
|
+
y_entry=None,
|
65
|
+
z_entry=None,
|
66
|
+
color=None,
|
67
|
+
color_map_z="plasma",
|
68
|
+
label=None,
|
69
|
+
validate=True,
|
70
|
+
dap=None,
|
71
|
+
)
|
72
|
+
|
73
|
+
|
74
|
+
def test_waveform_plot_scan_curves(waveform_widget, mock_waveform):
|
75
|
+
waveform_widget.plot(x_name="samx", y_name="samy", dap="GaussianModel")
|
76
|
+
waveform_widget.waveform.plot.assert_called_once_with(
|
77
|
+
arg1=None,
|
78
|
+
x=None,
|
79
|
+
y=None,
|
80
|
+
x_name="samx",
|
81
|
+
y_name="samy",
|
82
|
+
z_name=None,
|
83
|
+
x_entry=None,
|
84
|
+
y_entry=None,
|
85
|
+
z_entry=None,
|
86
|
+
color=None,
|
87
|
+
color_map_z="plasma",
|
88
|
+
label=None,
|
89
|
+
validate=True,
|
90
|
+
dap="GaussianModel",
|
91
|
+
)
|
92
|
+
|
93
|
+
|
94
|
+
def test_waveform_widget_add_dap(waveform_widget, mock_waveform):
|
95
|
+
waveform_widget.add_dap(x_name="samx", y_name="bpm4i")
|
96
|
+
waveform_widget.waveform.add_dap.assert_called_once_with(
|
97
|
+
x_name="samx",
|
98
|
+
y_name="bpm4i",
|
99
|
+
x_entry=None,
|
100
|
+
y_entry=None,
|
101
|
+
color=None,
|
102
|
+
dap="GaussianModel",
|
103
|
+
validate_bec=True,
|
104
|
+
)
|
105
|
+
|
106
|
+
|
107
|
+
def test_waveform_widget_get_dap_params(waveform_widget, mock_waveform):
|
108
|
+
waveform_widget.get_dap_params()
|
109
|
+
waveform_widget.waveform.get_dap_params.assert_called_once()
|
110
|
+
|
111
|
+
|
112
|
+
def test_waveform_widget_get_dap_summary(waveform_widget, mock_waveform):
|
113
|
+
waveform_widget.get_dap_summary()
|
114
|
+
waveform_widget.waveform.get_dap_summary.assert_called_once()
|
115
|
+
|
116
|
+
|
117
|
+
def test_waveform_widget_remove_curve(waveform_widget, mock_waveform):
|
118
|
+
waveform_widget.remove_curve("curve_id")
|
119
|
+
waveform_widget.waveform.remove_curve.assert_called_once_with("curve_id")
|
120
|
+
|
121
|
+
|
122
|
+
def test_waveform_widget_scan_history(waveform_widget, mock_waveform):
|
123
|
+
waveform_widget.scan_history(0)
|
124
|
+
waveform_widget.waveform.scan_history.assert_called_once_with(0, None)
|
125
|
+
|
126
|
+
|
127
|
+
def test_waveform_widget_get_all_data(waveform_widget, mock_waveform):
|
128
|
+
waveform_widget.get_all_data()
|
129
|
+
waveform_widget.waveform.get_all_data.assert_called_once()
|
130
|
+
|
131
|
+
|
132
|
+
def test_waveform_widget_set_title(waveform_widget, mock_waveform):
|
133
|
+
waveform_widget.set_title("Title")
|
134
|
+
waveform_widget.waveform.set_title.assert_called_once_with("Title")
|
135
|
+
|
136
|
+
|
137
|
+
def test_waveform_widget_set_base(waveform_widget, mock_waveform):
|
138
|
+
waveform_widget.set(
|
139
|
+
title="Test Title",
|
140
|
+
x_label="X Label",
|
141
|
+
y_label="Y Label",
|
142
|
+
x_scale="linear",
|
143
|
+
y_scale="log",
|
144
|
+
x_lim=(0, 10),
|
145
|
+
y_lim=(0, 10),
|
146
|
+
legend_label_size=12,
|
147
|
+
)
|
148
|
+
waveform_widget.waveform.set.assert_called_once_with(
|
149
|
+
title="Test Title",
|
150
|
+
x_label="X Label",
|
151
|
+
y_label="Y Label",
|
152
|
+
x_scale="linear",
|
153
|
+
y_scale="log",
|
154
|
+
x_lim=(0, 10),
|
155
|
+
y_lim=(0, 10),
|
156
|
+
legend_label_size=12,
|
157
|
+
)
|
158
|
+
|
159
|
+
|
160
|
+
def test_waveform_widget_set_x_label(waveform_widget, mock_waveform):
|
161
|
+
waveform_widget.set_x_label("X Label")
|
162
|
+
waveform_widget.waveform.set_x_label.assert_called_once_with("X Label")
|
163
|
+
|
164
|
+
|
165
|
+
def test_waveform_widget_set_y_label(waveform_widget, mock_waveform):
|
166
|
+
waveform_widget.set_y_label("Y Label")
|
167
|
+
waveform_widget.waveform.set_y_label.assert_called_once_with("Y Label")
|
168
|
+
|
169
|
+
|
170
|
+
def test_waveform_widget_set_x_scale(waveform_widget, mock_waveform):
|
171
|
+
waveform_widget.set_x_scale("linear")
|
172
|
+
waveform_widget.waveform.set_x_scale.assert_called_once_with("linear")
|
173
|
+
|
174
|
+
|
175
|
+
def test_waveform_widget_set_y_scale(waveform_widget, mock_waveform):
|
176
|
+
waveform_widget.set_y_scale("log")
|
177
|
+
waveform_widget.waveform.set_y_scale.assert_called_once_with("log")
|
178
|
+
|
179
|
+
|
180
|
+
def test_waveform_widget_set_x_lim(waveform_widget, mock_waveform):
|
181
|
+
waveform_widget.set_x_lim((0, 10))
|
182
|
+
waveform_widget.waveform.set_x_lim.assert_called_once_with((0, 10))
|
183
|
+
|
184
|
+
|
185
|
+
def test_waveform_widget_set_y_lim(waveform_widget, mock_waveform):
|
186
|
+
waveform_widget.set_y_lim((0, 10))
|
187
|
+
waveform_widget.waveform.set_y_lim.assert_called_once_with((0, 10))
|
188
|
+
|
189
|
+
|
190
|
+
def test_waveform_widget_set_legend_label_size(waveform_widget, mock_waveform):
|
191
|
+
waveform_widget.set_legend_label_size(12)
|
192
|
+
waveform_widget.waveform.set_legend_label_size.assert_called_once_with(12)
|
193
|
+
|
194
|
+
|
195
|
+
def test_waveform_widget_set_auto_range(waveform_widget, mock_waveform):
|
196
|
+
waveform_widget.set_auto_range(True, "xy")
|
197
|
+
waveform_widget.waveform.set_auto_range.assert_called_once_with(True, "xy")
|
198
|
+
|
199
|
+
|
200
|
+
def test_waveform_widget_set_grid(waveform_widget, mock_waveform):
|
201
|
+
waveform_widget.set_grid(True, False)
|
202
|
+
waveform_widget.waveform.set_grid.assert_called_once_with(True, False)
|
203
|
+
|
204
|
+
|
205
|
+
def test_waveform_widget_lock_aspect_ratio(waveform_widget, mock_waveform):
|
206
|
+
waveform_widget.lock_aspect_ratio(True)
|
207
|
+
waveform_widget.waveform.lock_aspect_ratio.assert_called_once_with(True)
|
208
|
+
|
209
|
+
|
210
|
+
def test_waveform_widget_export(waveform_widget, mock_waveform):
|
211
|
+
waveform_widget.export()
|
212
|
+
waveform_widget.waveform.export.assert_called_once()
|
213
|
+
|
214
|
+
|
215
|
+
###################################
|
216
|
+
# ToolBar interactions
|
217
|
+
###################################
|
218
|
+
|
219
|
+
|
220
|
+
def test_toolbar_drag_mode_action_triggered(waveform_widget, qtbot):
|
221
|
+
action_drag = waveform_widget.toolbar.widgets["drag_mode"].action
|
222
|
+
action_rectangle = waveform_widget.toolbar.widgets["rectangle_mode"].action
|
223
|
+
action_drag.trigger()
|
224
|
+
assert action_drag.isChecked() == True
|
225
|
+
assert action_rectangle.isChecked() == False
|
226
|
+
|
227
|
+
|
228
|
+
def test_toolbar_rectangle_mode_action_triggered(waveform_widget, qtbot):
|
229
|
+
action_drag = waveform_widget.toolbar.widgets["drag_mode"].action
|
230
|
+
action_rectangle = waveform_widget.toolbar.widgets["rectangle_mode"].action
|
231
|
+
action_rectangle.trigger()
|
232
|
+
assert action_drag.isChecked() == False
|
233
|
+
assert action_rectangle.isChecked() == True
|
234
|
+
|
235
|
+
|
236
|
+
def test_toolbar_auto_range_action_triggered(waveform_widget, mock_waveform, qtbot):
|
237
|
+
action = waveform_widget.toolbar.widgets["auto_range"].action
|
238
|
+
action.trigger()
|
239
|
+
qtbot.wait(200)
|
240
|
+
waveform_widget.waveform.set_auto_range.assert_called_once_with(True, "xy")
|
241
|
+
|
242
|
+
|
243
|
+
def test_toolbar_fit_params_action_triggered(qtbot, waveform_widget):
|
244
|
+
action = waveform_widget.toolbar.widgets["fit_params"].action
|
245
|
+
with patch(
|
246
|
+
"bec_widgets.widgets.waveform.waveform_widget.FitSummaryWidget"
|
247
|
+
) as MockFitSummaryWidget:
|
248
|
+
mock_dialog_instance = MockFitSummaryWidget.return_value
|
249
|
+
action.trigger()
|
250
|
+
mock_dialog_instance.show.assert_called_once()
|
251
|
+
|
252
|
+
|
253
|
+
def test_enable_mouse_pan_mode(qtbot, waveform_widget):
|
254
|
+
action_drag = waveform_widget.toolbar.widgets["drag_mode"].action
|
255
|
+
action_rectangle = waveform_widget.toolbar.widgets["rectangle_mode"].action
|
256
|
+
|
257
|
+
mock_view_box = MagicMock()
|
258
|
+
waveform_widget.waveform.plot_item.getViewBox = MagicMock(return_value=mock_view_box)
|
259
|
+
|
260
|
+
waveform_widget.enable_mouse_pan_mode()
|
261
|
+
|
262
|
+
assert action_drag.isChecked() == True
|
263
|
+
assert action_rectangle.isChecked() == False
|
264
|
+
mock_view_box.setMouseMode.assert_called_once_with(pg.ViewBox.PanMode)
|
Binary file
|
@@ -1 +0,0 @@
|
|
1
|
-
{'files': ['color_map_selector.py']}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|