bec-widgets 0.56.1__tar.gz → 0.56.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/CHANGELOG.md +17 -18
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/PKG-INFO +1 -1
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/client.py +20 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/dock/dock.py +6 -2
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/dock/dock_area.py +8 -3
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/figure.py +1 -1
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/spiral_progress_bar/ring.py +2 -2
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py +1 -2
- bec_widgets-0.56.2/docs/_static/custom.css +170 -0
- bec_widgets-0.56.1/docs/developer/reference.md → bec_widgets-0.56.2/docs/api_reference/api_reference.md +3 -1
- bec_widgets-0.56.2/docs/assets/apps_48dp.svg +1 -0
- bec_widgets-0.56.2/docs/assets/display_settings_48dp.svg +1 -0
- bec_widgets-0.56.2/docs/assets/index_api.svg +97 -0
- bec_widgets-0.56.2/docs/assets/index_contribute.svg +76 -0
- bec_widgets-0.56.2/docs/assets/index_getting_started.svg +66 -0
- bec_widgets-0.56.2/docs/assets/index_user_guide.svg +67 -0
- bec_widgets-0.56.2/docs/assets/rocket_launch_48dp.svg +1 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/conf.py +3 -3
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/developer/developer.md +0 -8
- bec_widgets-0.56.2/docs/index.md +70 -0
- bec_widgets-0.56.2/docs/user/api_reference/api_reference.md +11 -0
- bec_widgets-0.56.1/docs/user/apps.md → bec_widgets-0.56.2/docs/user/applications/applications.md +1 -1
- bec_widgets-0.56.2/docs/user/getting_started/getting_started.md +12 -0
- {bec_widgets-0.56.1/docs/user → bec_widgets-0.56.2/docs/user/getting_started}/installation.md +1 -1
- bec_widgets-0.56.2/docs/user/user.md +67 -0
- {bec_widgets-0.56.1/docs/user → bec_widgets-0.56.2/docs/user/widgets}/widgets.md +3 -3
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/pyproject.toml +1 -1
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/end-2-end/test_bec_dock_rpc_e2e.py +5 -5
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_spiral_progress_bar.py +5 -5
- bec_widgets-0.56.1/docs/index.md +0 -39
- bec_widgets-0.56.1/docs/user/user.md +0 -38
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.git_hooks/pre-commit +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.gitignore +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.gitlab/issue_templates/bug_report_template.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.gitlab/issue_templates/documentation_update_template.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.gitlab/issue_templates/feature_request_template.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.gitlab/merge_request_templates/default.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.gitlab-ci.yml +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.pylintrc +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/.readthedocs.yaml +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/LICENSE +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/README.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/assets/bec_widgets_icon.png +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/assets/terminal_icon.png +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/auto_updates.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/client_utils.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/generate_cli.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/rpc_register.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/cli/server.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/jupyter_console/jupyter_console_window.ui +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/motor_movement/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/motor_movement/motor_control_compilations.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/examples/motor_movement/motor_controller.ui +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/bec_connector.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/bec_dispatcher.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/bec_table.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/colors.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/container_utils.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/crosshair.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/entry_validator.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/layout_manager.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/plugin_utils.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/rpc_decorator.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/thread_checker.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/ui_loader.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/validator_delegate.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/widget_io.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/utils/yaml_dialog.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/dock/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/plot_base.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/motor_control.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/motor_table/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/motor_table/motor_table.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/motor_table/motor_table.ui +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/movement_absolute/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/movement_relative/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/movement_relative/movement_relative.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/selection/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/selection/selection.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/motor_control/selection/selection.ui +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/scan_control/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/spiral_progress_bar/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/toolbar/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/bec_widgets/widgets/toolbar/toolbar.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/Makefile +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/_templates/custom-class-template.rst +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/_templates/custom-module-template.rst +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/introduction/introduction.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/make.bat +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/requirements.txt +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/user/customisation.md +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/user/widgets/motor.gif +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/user/widgets/scatter_2D.gif +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/docs/user/widgets/w1D.gif +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/end-2-end/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/end-2-end/conftest.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/client_mocks.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/conftest.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_bec_connector.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_bec_dispatcher.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_bec_dock.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_bec_figure.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_bec_motor_map.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_client_utils.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_configs/config_device.yaml +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_crosshair.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_generate_cli_client.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_motor_control.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_msgs/__init__.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_plot_base.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_rpc_register.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_scan_control.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_waveform1d.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_widget_io.py +0 -0
- {bec_widgets-0.56.1 → bec_widgets-0.56.2}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -2,6 +2,23 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
## v0.56.2 (2024-06-05)
|
6
|
+
|
7
|
+
### Documentation
|
8
|
+
|
9
|
+
* docs: restructured docs layout ([`3c9181d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3c9181d93d68faa4efb3b91c486ca9ca935975a0))
|
10
|
+
|
11
|
+
### Fix
|
12
|
+
|
13
|
+
* fix(bar): ring saves current value in config ([`9648e3e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9648e3ea96a4109be6be694d855151ed6d3ad661))
|
14
|
+
|
15
|
+
* fix(dock): dock saves configs of all children widgets ([`4be756a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4be756a8676421c3a3451458995232407295df84))
|
16
|
+
|
17
|
+
* fix(dock_area): save/restore state is saved in config ([`46face0`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/46face0ee59122f04cb383da685a6658beeeb389))
|
18
|
+
|
19
|
+
* fix(figure): added correct types of configs to subplot widgets ([`6f3b1ea`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6f3b1ea985c18929b9bab54239eeb600f03b274a))
|
20
|
+
|
21
|
+
|
5
22
|
## v0.56.1 (2024-06-04)
|
6
23
|
|
7
24
|
### Fix
|
@@ -150,10 +167,6 @@
|
|
150
167
|
|
151
168
|
* build(cli): changed repo name to bec_widgets ([`799ea55`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/799ea554de9a7f3720d100be4886a63f02c6a390))
|
152
169
|
|
153
|
-
* build(setup): fakeredis added to dev env ([`df32350`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/df323504fea024a97304d96c2e39e61450714069))
|
154
|
-
|
155
|
-
* build(setup): PyQt6 version is set to 6.7 ([`0ab8aa3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0ab8aa3a2fe51b5c38b25fca44c1c422bb42478d))
|
156
|
-
|
157
170
|
### Ci
|
158
171
|
|
159
172
|
* ci: added rule for parent-child pipelines ([`e085125`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e0851250eecb85503db929d37f75d2ba366308a6))
|
@@ -161,17 +174,3 @@
|
|
161
174
|
### Feature
|
162
175
|
|
163
176
|
* feat(utils): added plugin helper to find and load ([`5ece269`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5ece269adb0e9b0c2a468f1dfbaa6212e86d3561))
|
164
|
-
|
165
|
-
|
166
|
-
## v0.50.2 (2024-04-30)
|
167
|
-
|
168
|
-
### Fix
|
169
|
-
|
170
|
-
* fix: 'disconnect_slot' has to be symmetric with 'connect_slot' regarding QtThreadSafeCallback ([`0dfcaa4`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0dfcaa4b708948af0a40ec7cf34d03ff1e96ffac))
|
171
|
-
|
172
|
-
|
173
|
-
## v0.50.1 (2024-04-29)
|
174
|
-
|
175
|
-
### Fix
|
176
|
-
|
177
|
-
* fix(cli): BECFigure takes the port to connect to redis from the current BECClient, supporting plugins ([`57cb136`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/57cb136a098e87a452414bf44e627edb562f6799))
|
@@ -1410,6 +1410,16 @@ class BECMotorMap(RPCBase):
|
|
1410
1410
|
|
1411
1411
|
|
1412
1412
|
class BECDock(RPCBase):
|
1413
|
+
@property
|
1414
|
+
@rpc_call
|
1415
|
+
def config_dict(self) -> "dict":
|
1416
|
+
"""
|
1417
|
+
Get the configuration of the widget.
|
1418
|
+
|
1419
|
+
Returns:
|
1420
|
+
dict: The configuration of the widget.
|
1421
|
+
"""
|
1422
|
+
|
1413
1423
|
@property
|
1414
1424
|
@rpc_call
|
1415
1425
|
def rpc_id(self) -> "str":
|
@@ -1528,6 +1538,16 @@ class BECDock(RPCBase):
|
|
1528
1538
|
|
1529
1539
|
|
1530
1540
|
class BECDockArea(RPCBase, BECGuiClientMixin):
|
1541
|
+
@property
|
1542
|
+
@rpc_call
|
1543
|
+
def config_dict(self) -> "dict":
|
1544
|
+
"""
|
1545
|
+
Get the configuration of the widget.
|
1546
|
+
|
1547
|
+
Returns:
|
1548
|
+
dict: The configuration of the widget.
|
1549
|
+
"""
|
1550
|
+
|
1531
1551
|
@property
|
1532
1552
|
@rpc_call
|
1533
1553
|
def panels(self) -> "dict":
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from typing import TYPE_CHECKING, Literal, Optional
|
3
|
+
from typing import TYPE_CHECKING, Any, Literal, Optional
|
4
4
|
|
5
5
|
from pydantic import Field
|
6
6
|
from pyqtgraph.dockarea import Dock
|
@@ -15,7 +15,7 @@ if TYPE_CHECKING:
|
|
15
15
|
|
16
16
|
|
17
17
|
class DockConfig(ConnectionConfig):
|
18
|
-
widgets: dict[str,
|
18
|
+
widgets: dict[str, Any] = Field({}, description="The widgets in the dock.")
|
19
19
|
position: Literal["bottom", "top", "left", "right", "above", "below"] = Field(
|
20
20
|
"bottom", description="The position of the dock."
|
21
21
|
)
|
@@ -26,6 +26,7 @@ class DockConfig(ConnectionConfig):
|
|
26
26
|
|
27
27
|
class BECDock(BECConnector, Dock):
|
28
28
|
USER_ACCESS = [
|
29
|
+
"config_dict",
|
29
30
|
"rpc_id",
|
30
31
|
"widget_list",
|
31
32
|
"show_title_bar",
|
@@ -179,6 +180,7 @@ class BECDock(BECConnector, Dock):
|
|
179
180
|
|
180
181
|
widget = RPCWidgetHandler.create_widget(widget_type)
|
181
182
|
self.addWidget(widget, row=row, col=col, rowspan=rowspan, colspan=colspan)
|
183
|
+
self.config.widgets[widget.gui_id] = widget.config
|
182
184
|
|
183
185
|
return widget
|
184
186
|
|
@@ -209,6 +211,7 @@ class BECDock(BECConnector, Dock):
|
|
209
211
|
self.layout_manager.shift_widgets(shift, start_row=row)
|
210
212
|
|
211
213
|
self.addWidget(widget, row=row, col=col, rowspan=rowspan, colspan=colspan)
|
214
|
+
self.config.widgets[widget.gui_id] = widget.config
|
212
215
|
|
213
216
|
def move_widget(self, widget: QWidget, new_row: int, new_col: int):
|
214
217
|
"""
|
@@ -242,6 +245,7 @@ class BECDock(BECConnector, Dock):
|
|
242
245
|
"""
|
243
246
|
widget = self.rpc_register.get_rpc_by_id(widget_rpc_id)
|
244
247
|
self.layout.removeWidget(widget)
|
248
|
+
self.config.widgets.pop(widget_rpc_id, None)
|
245
249
|
widget.close()
|
246
250
|
|
247
251
|
def remove(self):
|
@@ -16,10 +16,14 @@ from .dock import BECDock, DockConfig
|
|
16
16
|
|
17
17
|
class DockAreaConfig(ConnectionConfig):
|
18
18
|
docks: dict[str, DockConfig] = Field({}, description="The docks in the dock area.")
|
19
|
+
docks_state: Optional[dict] = Field(
|
20
|
+
None, description="The state of the docks in the dock area."
|
21
|
+
)
|
19
22
|
|
20
23
|
|
21
24
|
class BECDockArea(BECConnector, DockArea):
|
22
25
|
USER_ACCESS = [
|
26
|
+
"config_dict",
|
23
27
|
"panels",
|
24
28
|
"save_state",
|
25
29
|
"remove_dock",
|
@@ -81,7 +85,7 @@ class BECDockArea(BECConnector, DockArea):
|
|
81
85
|
extra(str): Extra docks that are in the dockarea but that are not mentioned in state will be added to the bottom of the dockarea, unless otherwise specified by the extra argument.
|
82
86
|
"""
|
83
87
|
if state is None:
|
84
|
-
state = self.
|
88
|
+
state = self.config.docks_state
|
85
89
|
self.restoreState(state, missing=missing, extra=extra)
|
86
90
|
|
87
91
|
def save_state(self) -> dict:
|
@@ -91,8 +95,9 @@ class BECDockArea(BECConnector, DockArea):
|
|
91
95
|
Returns:
|
92
96
|
dict: The state of the dock area.
|
93
97
|
"""
|
94
|
-
|
95
|
-
|
98
|
+
last_state = self.saveState()
|
99
|
+
self.config.docks_state = last_state
|
100
|
+
return last_state
|
96
101
|
|
97
102
|
def remove_dock(self, name: str):
|
98
103
|
"""
|
@@ -26,7 +26,7 @@ class FigureConfig(ConnectionConfig):
|
|
26
26
|
theme: Literal["dark", "light"] = Field("dark", description="The theme of the figure widget.")
|
27
27
|
num_cols: int = Field(1, description="The number of columns in the figure widget.")
|
28
28
|
num_rows: int = Field(1, description="The number of rows in the figure widget.")
|
29
|
-
widgets: dict[str, SubplotConfig] = Field(
|
29
|
+
widgets: dict[str, Waveform1DConfig | ImageConfig | MotorMapConfig | SubplotConfig] = Field(
|
30
30
|
{}, description="The list of widgets to be added to the figure widget."
|
31
31
|
)
|
32
32
|
|
@@ -36,6 +36,7 @@ class RingConnections(BaseModel):
|
|
36
36
|
|
37
37
|
|
38
38
|
class RingConfig(ConnectionConfig):
|
39
|
+
value: int | float | None = Field(0, description="Value for the progress bars.")
|
39
40
|
direction: int | None = Field(
|
40
41
|
-1, description="Direction of the progress bars. -1 for clockwise, 1 for counter-clockwise."
|
41
42
|
)
|
@@ -102,7 +103,6 @@ class Ring(BECConnector):
|
|
102
103
|
self.background_color = None
|
103
104
|
self.start_position = None
|
104
105
|
self.config = config
|
105
|
-
self.value = 0
|
106
106
|
self.RID = None
|
107
107
|
self._init_config_params()
|
108
108
|
|
@@ -114,7 +114,7 @@ class Ring(BECConnector):
|
|
114
114
|
self.set_connections(self.config.connections.slot, self.config.connections.endpoint)
|
115
115
|
|
116
116
|
def set_value(self, value: int | float):
|
117
|
-
self.value = round(
|
117
|
+
self.config.value = round(
|
118
118
|
max(self.config.min_value, min(self.config.max_value, value)), self.config.precision
|
119
119
|
)
|
120
120
|
|
@@ -115,7 +115,6 @@ class SpiralProgressBar(BECConnector, QWidget):
|
|
115
115
|
self.entry_validator = EntryValidator(self.dev)
|
116
116
|
|
117
117
|
self.RID = None
|
118
|
-
self.values = None
|
119
118
|
|
120
119
|
# For updating bar behaviour
|
121
120
|
self._auto_updates = True
|
@@ -544,7 +543,7 @@ class SpiralProgressBar(BECConnector, QWidget):
|
|
544
543
|
pen = QtGui.QPen(ring.color, ring.config.line_width, QtCore.Qt.SolidLine)
|
545
544
|
pen.setCapStyle(QtCore.Qt.RoundCap)
|
546
545
|
painter.setPen(pen)
|
547
|
-
proportion = (ring.value - ring.config.min_value) / (
|
546
|
+
proportion = (ring.config.value - ring.config.min_value) / (
|
548
547
|
(ring.config.max_value - ring.config.min_value) + 1e-3
|
549
548
|
)
|
550
549
|
angle = int(proportion * 360 * 16 * ring.config.direction)
|
@@ -0,0 +1,170 @@
|
|
1
|
+
/* Template Inherited from SciPy and modified for PyQtGraph purposes
|
2
|
+
https://github.com/scipy/scipy/blob/9ae8fd0f4341d7d8785777d460cca4f7b6a93edd/doc/source/_static/scipy.css
|
3
|
+
SPDX-License-Identifier: BSD-3-Clause */
|
4
|
+
|
5
|
+
/* Remove parenthesis around module using fictive font and add them back.
|
6
|
+
This is needed for better wrapping in the sidebar. */
|
7
|
+
.bd-sidebar .nav li > a > code {
|
8
|
+
white-space: nowrap;
|
9
|
+
}
|
10
|
+
|
11
|
+
.bd-sidebar .nav li > a > code:before {
|
12
|
+
content:'(';
|
13
|
+
}
|
14
|
+
|
15
|
+
.bd-sidebar .nav li > a > code:after {
|
16
|
+
content:')';
|
17
|
+
}
|
18
|
+
|
19
|
+
.bd-sidebar .nav li > a {
|
20
|
+
font-family: "no-parens", sans-serif;
|
21
|
+
}
|
22
|
+
|
23
|
+
/* Retrieved from https://codepen.io/jonneal/pen/bXLEdB (MIT)
|
24
|
+
It replaces (, ) with a zero-width font. This version is lighter than
|
25
|
+
the original font from Adobe.
|
26
|
+
*/
|
27
|
+
@font-face {
|
28
|
+
font-family: no-parens;
|
29
|
+
src: url("data:application/x-font-woff;base64,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");
|
30
|
+
unicode-range: U+0028, U+0029;
|
31
|
+
}
|
32
|
+
|
33
|
+
/* Colors from:
|
34
|
+
|
35
|
+
Wong, B. Points of view: Color blindness.
|
36
|
+
Nat Methods 8, 441 (2011). https://doi.org/10.1038/nmeth.1618
|
37
|
+
*/
|
38
|
+
|
39
|
+
/* If the active version has the name "dev", style it orange */
|
40
|
+
#version_switcher_button[data-active-version-name*="dev"] {
|
41
|
+
background-color: #E69F00;
|
42
|
+
border-color: #E69F00;
|
43
|
+
color: white;
|
44
|
+
}
|
45
|
+
|
46
|
+
/* green for `stable` */
|
47
|
+
#version_switcher_button[data-active-version-name*="stable"] {
|
48
|
+
background-color: #009E73;
|
49
|
+
border-color: #009E73;
|
50
|
+
color: white;
|
51
|
+
}
|
52
|
+
|
53
|
+
/* red for `old` */
|
54
|
+
#version_switcher_button:not([data-active-version-name*="stable"]):not([data-active-version-name*="dev"]):not([data-active-version-name*="pull"]) {
|
55
|
+
background-color: #980F0F;
|
56
|
+
border-color: #980F0F;
|
57
|
+
color: white;
|
58
|
+
}
|
59
|
+
|
60
|
+
/* Main index page overview cards */
|
61
|
+
|
62
|
+
.sd-card {
|
63
|
+
background: #fff;
|
64
|
+
border-radius: 0;
|
65
|
+
padding: 30px 10px 20px 10px;
|
66
|
+
margin: 10px 0px;
|
67
|
+
}
|
68
|
+
|
69
|
+
.sd-card .sd-card-header {
|
70
|
+
text-align: center;
|
71
|
+
}
|
72
|
+
|
73
|
+
.sd-card .sd-card-header .sd-card-text {
|
74
|
+
margin: 0px;
|
75
|
+
}
|
76
|
+
|
77
|
+
.sd-card .sd-card-img-top {
|
78
|
+
height: 52px;
|
79
|
+
width: 52px;
|
80
|
+
margin-left: auto;
|
81
|
+
margin-right: auto;
|
82
|
+
}
|
83
|
+
|
84
|
+
.sd-card .sd-card-header {
|
85
|
+
border: none;
|
86
|
+
background-color:white;
|
87
|
+
color: #150458 !important;
|
88
|
+
font-size: var(--pst-font-size-h5);
|
89
|
+
font-weight: bold;
|
90
|
+
padding: 2.5rem 0rem 0.5rem 0rem;
|
91
|
+
border-bottom: none !important;
|
92
|
+
}
|
93
|
+
|
94
|
+
.sd-card .sd-card-footer {
|
95
|
+
border: none;
|
96
|
+
background-color:white;
|
97
|
+
border-top: none !important;
|
98
|
+
}
|
99
|
+
|
100
|
+
.sd-card .sd-card-footer .sd-card-text{
|
101
|
+
max-width: 220px;
|
102
|
+
margin-left: auto;
|
103
|
+
margin-right: auto;
|
104
|
+
}
|
105
|
+
|
106
|
+
.custom-button {
|
107
|
+
background-color:#DCDCDC;
|
108
|
+
border: none;
|
109
|
+
color: #484848;
|
110
|
+
text-align: center;
|
111
|
+
text-decoration: none;
|
112
|
+
display: inline-block;
|
113
|
+
font-size: 0.9rem;
|
114
|
+
border-radius: 0.5rem;
|
115
|
+
max-width: 120px;
|
116
|
+
padding: 0.5rem 0rem;
|
117
|
+
}
|
118
|
+
|
119
|
+
.custom-button a {
|
120
|
+
color: #484848;
|
121
|
+
}
|
122
|
+
|
123
|
+
.custom-button p {
|
124
|
+
margin-top: 0;
|
125
|
+
margin-bottom: 0rem;
|
126
|
+
color: #484848;
|
127
|
+
}
|
128
|
+
|
129
|
+
/* Dark theme tweaking
|
130
|
+
|
131
|
+
Matplotlib images are in png and inverted while other output
|
132
|
+
types are assumed to be normal images.
|
133
|
+
|
134
|
+
*/
|
135
|
+
html[data-theme=dark] img[src*='.svg']:not(.only-dark):not(.dark-light) {
|
136
|
+
filter: brightness(0.8) invert(0.82) contrast(1.2);
|
137
|
+
background: unset
|
138
|
+
}
|
139
|
+
|
140
|
+
html[data-theme=dark] .MathJax_SVG * {
|
141
|
+
fill: var(--pst-color-text-base);
|
142
|
+
}
|
143
|
+
|
144
|
+
/* Main index page overview cards */
|
145
|
+
|
146
|
+
html[data-theme=dark] .sd-card {
|
147
|
+
background-color:var(--pst-color-background);
|
148
|
+
border: none
|
149
|
+
}
|
150
|
+
|
151
|
+
html[data-theme=dark] .sd-shadow-sm {
|
152
|
+
box-shadow: 0 .1rem 0.5rem rgba(250, 250, 250, .2) !important
|
153
|
+
}
|
154
|
+
|
155
|
+
html[data-theme=dark] .sd-card .sd-card-header {
|
156
|
+
background-color:var(--pst-color-background);
|
157
|
+
color: #150458 !important;
|
158
|
+
}
|
159
|
+
|
160
|
+
html[data-theme=dark] .sd-card .sd-card-footer {
|
161
|
+
background-color:var(--pst-color-background);
|
162
|
+
}
|
163
|
+
|
164
|
+
/*
|
165
|
+
Hide TypeAlias Classes
|
166
|
+
*/
|
167
|
+
|
168
|
+
dt#ColorMapSpecifier {
|
169
|
+
visibility: hidden;
|
170
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 20 20" height="48px" viewBox="0 0 20 20" width="48px" fill="#000000"><g><rect fill="none" height="20" width="20" x="0"/></g><g><g><path d="M16.5,3h-13C2.67,3,2,3.67,2,4.5v9C2,14.33,2.67,15,3.5,15H7v2h6v-2h3.5c0.83,0,1.5-0.67,1.5-1.5v-9 C18,3.67,17.33,3,16.5,3z M16.5,13.5h-13v-9h13V13.5z"/><rect height="1" width="7" x="5" y="7"/><polygon points="14,8 15,8 15,7 14,7 14,6 13,6 13,9 14,9"/><rect height="1" width="7" x="8" y="10"/><polygon points="6,12 7,12 7,9 6,9 6,10 5,10 5,11 6,11"/></g></g></svg>
|
@@ -0,0 +1,97 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
+
width="99.058548mm"
|
13
|
+
height="89.967583mm"
|
14
|
+
viewBox="0 0 99.058554 89.967582"
|
15
|
+
version="1.1"
|
16
|
+
id="svg1040"
|
17
|
+
inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
|
18
|
+
sodipodi:docname="index_api.svg">
|
19
|
+
<defs
|
20
|
+
id="defs1034" />
|
21
|
+
<sodipodi:namedview
|
22
|
+
id="base"
|
23
|
+
pagecolor="#ffffff"
|
24
|
+
bordercolor="#666666"
|
25
|
+
borderopacity="1.0"
|
26
|
+
inkscape:pageopacity="0.0"
|
27
|
+
inkscape:pageshadow="2"
|
28
|
+
inkscape:zoom="0.35"
|
29
|
+
inkscape:cx="533.74914"
|
30
|
+
inkscape:cy="10.90433"
|
31
|
+
inkscape:document-units="mm"
|
32
|
+
inkscape:current-layer="layer1"
|
33
|
+
showgrid="false"
|
34
|
+
fit-margin-top="0"
|
35
|
+
fit-margin-left="0"
|
36
|
+
fit-margin-right="0"
|
37
|
+
fit-margin-bottom="0"
|
38
|
+
inkscape:window-width="930"
|
39
|
+
inkscape:window-height="472"
|
40
|
+
inkscape:window-x="2349"
|
41
|
+
inkscape:window-y="267"
|
42
|
+
inkscape:window-maximized="0" />
|
43
|
+
<metadata
|
44
|
+
id="metadata1037">
|
45
|
+
<rdf:RDF>
|
46
|
+
<cc:Work
|
47
|
+
rdf:about="">
|
48
|
+
<dc:format>image/svg+xml</dc:format>
|
49
|
+
<dc:type
|
50
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
51
|
+
<dc:title></dc:title>
|
52
|
+
</cc:Work>
|
53
|
+
</rdf:RDF>
|
54
|
+
</metadata>
|
55
|
+
<g
|
56
|
+
inkscape:label="Layer 1"
|
57
|
+
inkscape:groupmode="layer"
|
58
|
+
id="layer1"
|
59
|
+
transform="translate(195.19933,-1.0492759)">
|
60
|
+
<g
|
61
|
+
id="g1008"
|
62
|
+
transform="matrix(1.094977,0,0,1.094977,-521.5523,-198.34055)">
|
63
|
+
<path
|
64
|
+
inkscape:connector-curvature="0"
|
65
|
+
id="path899"
|
66
|
+
d="M 324.96812,187.09499 H 303.0455 v 72.1639 h 22.67969"
|
67
|
+
style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
68
|
+
<path
|
69
|
+
inkscape:connector-curvature="0"
|
70
|
+
id="path899-3"
|
71
|
+
d="m 361.58921,187.09499 h 21.92262 v 72.1639 h -22.67969"
|
72
|
+
style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
73
|
+
<g
|
74
|
+
transform="translate(415.87139,46.162126)"
|
75
|
+
id="g944">
|
76
|
+
<circle
|
77
|
+
style="fill:#5a5a5a;fill-opacity:1;stroke:#5a5a5a;stroke-width:4.53704548;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
78
|
+
id="path918"
|
79
|
+
cx="-84.40152"
|
80
|
+
cy="189.84375"
|
81
|
+
r="2.2293637" />
|
82
|
+
<circle
|
83
|
+
style="fill:#5a5a5a;fill-opacity:1;stroke:#5a5a5a;stroke-width:4.53704548;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
84
|
+
id="path918-5"
|
85
|
+
cx="-72.949402"
|
86
|
+
cy="189.84375"
|
87
|
+
r="2.2293637" />
|
88
|
+
<circle
|
89
|
+
style="fill:#5a5a5a;fill-opacity:1;stroke:#5a5a5a;stroke-width:4.53704548;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
90
|
+
id="path918-6"
|
91
|
+
cx="-61.497284"
|
92
|
+
cy="189.84375"
|
93
|
+
r="2.2293637" />
|
94
|
+
</g>
|
95
|
+
</g>
|
96
|
+
</g>
|
97
|
+
</svg>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
+
width="89.624855mm"
|
13
|
+
height="89.96759mm"
|
14
|
+
viewBox="0 0 89.62486 89.96759"
|
15
|
+
version="1.1"
|
16
|
+
id="svg1040"
|
17
|
+
inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
|
18
|
+
sodipodi:docname="index_contribute.svg">
|
19
|
+
<defs
|
20
|
+
id="defs1034" />
|
21
|
+
<sodipodi:namedview
|
22
|
+
id="base"
|
23
|
+
pagecolor="#ffffff"
|
24
|
+
bordercolor="#666666"
|
25
|
+
borderopacity="1.0"
|
26
|
+
inkscape:pageopacity="0.0"
|
27
|
+
inkscape:pageshadow="2"
|
28
|
+
inkscape:zoom="0.35"
|
29
|
+
inkscape:cx="683.11893"
|
30
|
+
inkscape:cy="-59.078181"
|
31
|
+
inkscape:document-units="mm"
|
32
|
+
inkscape:current-layer="layer1"
|
33
|
+
showgrid="false"
|
34
|
+
fit-margin-top="0"
|
35
|
+
fit-margin-left="0"
|
36
|
+
fit-margin-right="0"
|
37
|
+
fit-margin-bottom="0"
|
38
|
+
inkscape:window-width="930"
|
39
|
+
inkscape:window-height="472"
|
40
|
+
inkscape:window-x="2349"
|
41
|
+
inkscape:window-y="267"
|
42
|
+
inkscape:window-maximized="0" />
|
43
|
+
<metadata
|
44
|
+
id="metadata1037">
|
45
|
+
<rdf:RDF>
|
46
|
+
<cc:Work
|
47
|
+
rdf:about="">
|
48
|
+
<dc:format>image/svg+xml</dc:format>
|
49
|
+
<dc:type
|
50
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
51
|
+
<dc:title></dc:title>
|
52
|
+
</cc:Work>
|
53
|
+
</rdf:RDF>
|
54
|
+
</metadata>
|
55
|
+
<g
|
56
|
+
inkscape:label="Layer 1"
|
57
|
+
inkscape:groupmode="layer"
|
58
|
+
id="layer1"
|
59
|
+
transform="translate(234.72009,17.466935)">
|
60
|
+
<g
|
61
|
+
id="g875"
|
62
|
+
transform="matrix(0.99300176,0,0,0.99300176,-133.24106,-172.58804)">
|
63
|
+
<path
|
64
|
+
sodipodi:nodetypes="ccc"
|
65
|
+
inkscape:connector-curvature="0"
|
66
|
+
id="path869"
|
67
|
+
d="m -97.139881,161.26069 47.247024,40.25446 -47.247024,40.25446"
|
68
|
+
style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
69
|
+
<path
|
70
|
+
inkscape:connector-curvature="0"
|
71
|
+
id="path871"
|
72
|
+
d="m -49.514879,241.81547 h 32.505951"
|
73
|
+
style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
74
|
+
</g>
|
75
|
+
</g>
|
76
|
+
</svg>
|