bec-widgets 0.93.2__tar.gz → 0.93.3__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.93.2 → bec_widgets-0.93.3}/CHANGELOG.md +24 -28
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/PKG-INFO +1 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/qt_utils/settings_dialog.py +11 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/color_button/color_button.py +7 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/dock/dock.py +4 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/dock/dock_area.py +15 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/figure.py +21 -16
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/image/image.py +14 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/plot_base.py +8 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/image/image_widget.py +2 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +9 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/website/website.py +6 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/pyproject.toml +1 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/end-2-end/test_scan_control_e2e.py +0 -1
- bec_widgets-0.93.3/tests/unit_tests/conftest.py +64 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_dock.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_figure.py +31 -24
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_image.py +7 -3
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_image_widget.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_motor_map.py +28 -14
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_queue.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_status_box.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_color_map_selector.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_device_input_base.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_device_input_widgets.py +0 -6
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_motor_map_widget.py +0 -2
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_plot_base.py +9 -4
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_ring_progress_bar.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_scan_control.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_setting_dialog.py +1 -2
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_stop_button.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_text_box_widget.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_toggle.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_vscode_widget.py +2 -2
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_waveform1d.py +46 -23
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_waveform_widget.py +0 -1
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_website_widget.py +0 -2
- bec_widgets-0.93.2/tests/unit_tests/conftest.py +0 -33
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.git_hooks/pre-commit +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.gitignore +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.gitlab/issue_templates/bug_report_template.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.gitlab/issue_templates/documentation_update_template.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.gitlab/issue_templates/feature_request_template.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.gitlab/merge_request_templates/default.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.gitlab-ci.yml +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.pylintrc +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/.readthedocs.yaml +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/LICENSE +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/README.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/app_icons/BEC-Dark.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/app_icons/terminal_icon.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/code.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/color_button.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/device_box.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/device_combo_box.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/device_line_edit.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/dock_area.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/games.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/image.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/motor_map.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/position_indicator.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/queue.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/ring_progress.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/scan_control.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/spinner.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/status.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/stop.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/text.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/toggle.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/waveform.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/designer_icons/web.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/status_icons/error.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/status_icons/not_connected.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/status_icons/refresh.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/status_icons/running.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/status_icons/warning.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/add.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/attach_all.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/auto_range.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/compare.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/connection.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/device_box.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/export.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/fft.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/fitting_parameters.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/history.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/image.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/image_autorange.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/import.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/line_axis.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/line_curve.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/lock_aspect_ratio.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/log_scale.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/motor_map.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/photo_library.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/progress.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/queue.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/rectangle_mode.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/remove.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/reset_settings.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/restore_state.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/ring_progress.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/rotate_left.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/rotate_right.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/save.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/save_state.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/scan_control.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/settings.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/status.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/terminal.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/transform.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/assets/toolbar_icons/waveform.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/auto_updates.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/client.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/client_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/generate_cli.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/rpc_register.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/cli/server.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/general_app/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/general_app/general_app.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/general_app/general_app.ui +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/general_app/web_links.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/qt_utils/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/qt_utils/error_popups.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/qt_utils/toolbar.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/bec_connector.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/bec_designer.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/bec_dispatcher.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/bec_table.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/bec_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/colors.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/container_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/crosshair.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/entry_validator.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/generate_designer_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/layout_manager.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/plugin_templates/register.template +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/plugin_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/reference_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/rpc_decorator.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/thread_checker.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/ui_loader.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/validator_delegate.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/widget_io.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/utils/yaml_dialog.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/base_classes/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/base_classes/device_input_base.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_queue/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_queue/bec_queue.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_queue/bec_queue.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_queue/bec_queue_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_queue/register_bec_queue.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_status_box/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_status_box/bec_status_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_status_box/bec_status_box.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_status_box/register_bec_status_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/bec_status_box/status_item.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/color_button/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/color_button/color_button.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/color_button/color_button_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/color_button/register_color_button.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/colormap_selector/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/colormap_selector/colormap_selector.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/colormap_selector/colormap_selector.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/colormap_selector/register_colormap_selector.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/console/console.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_box/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_box/device_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_box/device_box.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_box/device_box.ui +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_box/device_box_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_box/register_device_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_combobox/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_combobox/device_combo_box.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_combobox/device_combobox.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_combobox/register_device_combo_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_line_edit/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_line_edit/device_line_edit.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/device_line_edit/register_device_line_edit.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/dock/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/dock/dock_area.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/dock/dock_area_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/dock/register_dock_area.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/axis_settings.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/axis_settings.ui +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/image/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/image/bec_image_widget.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/image/bec_image_widget_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/image/register_bec_image_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/jupyter_console/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/motor_map_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/position_indicator/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/position_indicator/position_indicator.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/position_indicator/position_indicator.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/position_indicator/position_indicator_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/position_indicator/register_position_indicator.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/ring_progress_bar/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/ring_progress_bar/register_ring_progress_bar.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/ring_progress_bar/ring.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/scan_control/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/scan_control/register_scan_control.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/scan_control/scan_control.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/scan_control/scan_control_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/scan_control/scan_group_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/spinner/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/spinner/register_spinner_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/spinner/spinner.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/spinner/spinner_widget.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/spinner/spinner_widget_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/stop_button/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/stop_button/register_stop_button.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/stop_button/stop_button.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/stop_button/stop_button.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/stop_button/stop_button_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/text_box/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/text_box/register_text_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/text_box/text_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/text_box/text_box.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/text_box/text_box_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/toggle/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/toggle/register_toggle_switch.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/toggle/toggle.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/toggle/toggle_switch.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/toggle/toggle_switch_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/vscode/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/vscode/register_vs_code_editor.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/vscode/vs_code_editor.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/vscode/vs_code_editor_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/vscode/vscode.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/bec_waveform_widget.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/register_bec_waveform_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary.ui +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/waveform/waveform_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/website/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/website/register_website_widget.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/website/website_widget.pyproject +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/bec_widgets/widgets/website/website_widget_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/Makefile +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/_static/custom.css +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/_templates/custom-class-template.rst +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/_templates/custom-module-template.rst +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/api_reference/api_reference.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/apps_48dp.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/display_settings_48dp.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/index_api.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/index_contribute.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/index_getting_started.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/index_user_guide.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/assets/rocket_launch_48dp.svg +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/conf.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/developer/developer.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/developer/getting_started/development.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/developer/getting_started/getting_started.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/developer/widgets/widgets.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/index.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/introduction/introduction.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/make.bat +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/requirements.txt +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/api_reference/api_reference.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/applications/applications.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/customisation.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/BECDockArea.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/auto_updates.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/getting_started.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/gui_complex_gui.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/installation.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/quick_start.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/getting_started/video_tutorials.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/user.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/BECFigure.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/bec_figure.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/bec_figure_dap.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/bec_status_box.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/bec_status_box.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/buttons.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/image_plot.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/motor.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/progress_bar.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/ring_progress_bar.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/scan_control.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/scan_control.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/scatter_2D.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/text_box.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/w1D.gif +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/website.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/docs/user/widgets/widgets.md +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/end-2-end/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/end-2-end/conftest.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/client_mocks.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_connector.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_bec_dispatcher.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_client_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_color_validation.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_configs/config_device.yaml +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_crosshair.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_device_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_error_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_generate_cli_client.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_generate_plugin.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_msgs/__init__.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_plugin_utils.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_rpc_register.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_rpc_server.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_rpc_widget_handler.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_scan_control_group_box.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_spinner.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_widget_io.py +0 -0
- {bec_widgets-0.93.2 → bec_widgets-0.93.3}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -1,5 +1,29 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.93.3 (2024-08-07)
|
4
|
+
|
5
|
+
### Fix
|
6
|
+
|
7
|
+
* fix(dock): properly shut down docks and temp areas ([`99ee545`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/99ee545e41c6078654958b668b5b329f85553d16))
|
8
|
+
|
9
|
+
* fix(settings): shut down settings dialog ([`b50b3a2`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b50b3a27e68956e10e8169a0aa698c911d2d9642))
|
10
|
+
|
11
|
+
* fix(website): fixed teardown of website widgets ([`a3d4f5a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a3d4f5ac4bc52acfed2791a1724fade6972ed320))
|
12
|
+
|
13
|
+
* fix(dock): properly shut down docks and dock areas ([`bc26497`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/bc264975b1363c9dfea516621d7878c320677d15))
|
14
|
+
|
15
|
+
* fix(figure): cleanup pyqtgraph ([`ad07bbf`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ad07bbf85e9c8d9838bdd686f69d41c235b7db19))
|
16
|
+
|
17
|
+
### Test
|
18
|
+
|
19
|
+
* test: removed quit from teardown ([`cf94599`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/cf94599c2544d6831c8afbe7b340082077557ed1))
|
20
|
+
|
21
|
+
* test: removed explicit call to close the widget ([`bf6294e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/bf6294ecbfd494565d2dc215e4d7e0c280ac7745))
|
22
|
+
|
23
|
+
* test: use factory instead of fixture to properly cleanup widgets on teardown ([`9856857`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9856857f4cc7fa229c10d00fbae4452464a207cb))
|
24
|
+
|
25
|
+
* test: ensure all toplevelwidgets are closed ([`f9e5897`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f9e58979009cf632feea529700ad191401dd7eb8))
|
26
|
+
|
3
27
|
## v0.93.2 (2024-08-07)
|
4
28
|
|
5
29
|
### Fix
|
@@ -119,31 +143,3 @@ This reverts commit fd6ae91993a23a7b8dbb2cf3c4b7c3eda6d2b0f6 ([`5aad401`](https:
|
|
119
143
|
* test(dock_area): tests extended ([`06fab0e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/06fab0eab926cef5677d4988fd1fce09da342dd8))
|
120
144
|
|
121
145
|
## v0.90.0 (2024-07-23)
|
122
|
-
|
123
|
-
### Feature
|
124
|
-
|
125
|
-
* feat(image_widget): plugin added ([`4371168`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/43711680ba253f81fb0ffe764bcaae701b02bb49))
|
126
|
-
|
127
|
-
* feat(image_widget): all toolbar actions added ([`501eb92`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/501eb923f12fa6aaa93f5428ca78e57694edfbc0))
|
128
|
-
|
129
|
-
* feat(image_widget): image_widget added ([`6a9317f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6a9317facda896ee784c7fc1db0cd3d68cdfcf73))
|
130
|
-
|
131
|
-
### Fix
|
132
|
-
|
133
|
-
* fix(axis_setting): fix compatibility for issue with horizontal line for PyQt6 ([`1cf6e32`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1cf6e32303f82bc7c3f3391d0e96a88bc31f29fc))
|
134
|
-
|
135
|
-
* fix(image_widget): image_widget autorange fixed ([`7f49893`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7f49893d2ce3b9d02efa764f7f10442ed6ab8f3c))
|
136
|
-
|
137
|
-
* fix(image_widget): image widget adjusted ([`3d2ca48`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3d2ca4855c36fe0af59a4b540caa3c8023a81773))
|
138
|
-
|
139
|
-
* fix(image): only single monitor image is allowed ([`fe7e542`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fe7e542b19dc5b401523501acb74ac03edf62ad4))
|
140
|
-
|
141
|
-
* fix(image): raw data are saved in image item to always have precise processing ([`c15035b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c15035b6b769a96780a16da9e7f75af3b823654c))
|
142
|
-
|
143
|
-
### Refactor
|
144
|
-
|
145
|
-
* refactor(jupyter_console_example): added examples of standalone widgets ([`ba0d1ea`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ba0d1ea9031b4ae2e2e73bf269fbfad973b924a5))
|
146
|
-
|
147
|
-
### Test
|
148
|
-
|
149
|
-
* test(image_widget): tests added ([`70fb276`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/70fb276fdf31dffc105435d3dfe7c5caea0b10ce))
|
@@ -106,3 +106,14 @@ class SettingsDialog(QDialog):
|
|
106
106
|
Apply the changes made in the settings widget without closing the dialog.
|
107
107
|
"""
|
108
108
|
self.widget.accept_changes()
|
109
|
+
|
110
|
+
def cleanup(self):
|
111
|
+
"""
|
112
|
+
Cleanup the dialog.
|
113
|
+
"""
|
114
|
+
self.button_box.close()
|
115
|
+
self.button_box.deleteLater()
|
116
|
+
|
117
|
+
def closeEvent(self, event):
|
118
|
+
self.cleanup()
|
119
|
+
super().closeEvent(event)
|
@@ -153,6 +153,7 @@ class BECDock(BECWidget, Dock):
|
|
153
153
|
super().dropEvent(event)
|
154
154
|
if old_area in self.orig_area.tempAreas and old_area != self.orig_area:
|
155
155
|
self.orig_area.removeTempArea(old_area)
|
156
|
+
old_area.window().deleteLater()
|
156
157
|
|
157
158
|
def float(self):
|
158
159
|
"""
|
@@ -284,7 +285,7 @@ class BECDock(BECWidget, Dock):
|
|
284
285
|
"""
|
285
286
|
Attach the dock to the parent dock area.
|
286
287
|
"""
|
287
|
-
self.
|
288
|
+
self.parent_dock_area.remove_temp_area(self.area)
|
288
289
|
|
289
290
|
def detach(self):
|
290
291
|
"""
|
@@ -319,6 +320,8 @@ class BECDock(BECWidget, Dock):
|
|
319
320
|
if hasattr(widget, "cleanup"):
|
320
321
|
widget.cleanup()
|
321
322
|
self.widgets.clear()
|
323
|
+
self.label.close()
|
324
|
+
self.label.deleteLater()
|
322
325
|
super().cleanup()
|
323
326
|
|
324
327
|
def close(self):
|
@@ -231,6 +231,7 @@ class BECDockArea(BECWidget, QWidget):
|
|
231
231
|
self.config.docks.pop(name, None)
|
232
232
|
if dock:
|
233
233
|
dock.close()
|
234
|
+
dock.deleteLater()
|
234
235
|
if len(self.dock_area.docks) <= 1:
|
235
236
|
for dock in self.dock_area.docks.values():
|
236
237
|
dock.hide_title_bar()
|
@@ -329,7 +330,16 @@ class BECDockArea(BECWidget, QWidget):
|
|
329
330
|
"""
|
330
331
|
while self.dock_area.tempAreas:
|
331
332
|
for temp_area in self.dock_area.tempAreas:
|
332
|
-
self.
|
333
|
+
self.remove_temp_area(temp_area)
|
334
|
+
|
335
|
+
def remove_temp_area(self, area):
|
336
|
+
"""
|
337
|
+
Remove a temporary area from the dock area.
|
338
|
+
This is a patched method of pyqtgraph's removeTempArea
|
339
|
+
"""
|
340
|
+
self.dock_area.tempAreas.remove(area)
|
341
|
+
area.window().close()
|
342
|
+
area.window().deleteLater()
|
333
343
|
|
334
344
|
def clear_all(self):
|
335
345
|
"""
|
@@ -345,6 +355,10 @@ class BECDockArea(BECWidget, QWidget):
|
|
345
355
|
Cleanup the dock area.
|
346
356
|
"""
|
347
357
|
self.clear_all()
|
358
|
+
self.toolbar.close()
|
359
|
+
self.toolbar.deleteLater()
|
360
|
+
self.dock_area.close()
|
361
|
+
self.dock_area.deleteLater()
|
348
362
|
super().cleanup()
|
349
363
|
|
350
364
|
def close(self):
|
@@ -513,6 +513,13 @@ class BECFigure(BECWidget, pg.GraphicsLayoutWidget):
|
|
513
513
|
if widget_id in self._widgets:
|
514
514
|
raise ValueError(f"Widget with ID '{widget_id}' already exists.")
|
515
515
|
|
516
|
+
# Check if position is occupied
|
517
|
+
if row is not None and col is not None:
|
518
|
+
if self.getItem(row, col):
|
519
|
+
raise ValueError(f"Position at row {row} and column {col} is already occupied.")
|
520
|
+
else:
|
521
|
+
row, col = self._find_next_empty_position()
|
522
|
+
|
516
523
|
widget = self.widget_handler.create_widget(
|
517
524
|
widget_type=widget_type,
|
518
525
|
widget_id=widget_id,
|
@@ -525,23 +532,11 @@ class BECFigure(BECWidget, pg.GraphicsLayoutWidget):
|
|
525
532
|
# used otherwise multiple times
|
526
533
|
widget.set_gui_id(widget_id)
|
527
534
|
|
528
|
-
|
529
|
-
|
530
|
-
if self.getItem(row, col):
|
531
|
-
raise ValueError(f"Position at row {row} and column {col} is already occupied.")
|
532
|
-
|
533
|
-
widget.config.row = row
|
534
|
-
widget.config.col = col
|
535
|
-
|
536
|
-
# Add widget to the figure
|
537
|
-
self.addItem(widget, row=row, col=col)
|
538
|
-
else:
|
539
|
-
row, col = self._find_next_empty_position()
|
540
|
-
widget.config.row = row
|
541
|
-
widget.config.col = col
|
535
|
+
widget.config.row = row
|
536
|
+
widget.config.col = col
|
542
537
|
|
543
|
-
|
544
|
-
|
538
|
+
# Add widget to the figure
|
539
|
+
self.addItem(widget, row=row, col=col)
|
545
540
|
|
546
541
|
# Update num_cols and num_rows based on the added widget
|
547
542
|
self.config.num_rows = max(self.config.num_rows, row + 1)
|
@@ -620,6 +615,7 @@ class BECFigure(BECWidget, pg.GraphicsLayoutWidget):
|
|
620
615
|
"""
|
621
616
|
if widget_id in self._widgets:
|
622
617
|
widget = self._widgets.pop(widget_id)
|
618
|
+
widget.cleanup_pyqtgraph()
|
623
619
|
widget.cleanup()
|
624
620
|
self.removeItem(widget)
|
625
621
|
self.grid[widget.config.row][widget.config.col] = None
|
@@ -745,3 +741,12 @@ class BECFigure(BECWidget, pg.GraphicsLayoutWidget):
|
|
745
741
|
self.config = FigureConfig(
|
746
742
|
widget_class=self.__class__.__name__, gui_id=self.gui_id, theme=theme
|
747
743
|
)
|
744
|
+
|
745
|
+
def cleanup_pyqtgraph_all_widgets(self):
|
746
|
+
"""Clean up the pyqtgraph widget."""
|
747
|
+
for widget in self.widget_list:
|
748
|
+
widget.cleanup_pyqtgraph()
|
749
|
+
|
750
|
+
def cleanup(self):
|
751
|
+
"""Close the figure widget."""
|
752
|
+
self.cleanup_pyqtgraph_all_widgets()
|
@@ -681,3 +681,17 @@ class BECImageShow(BECPlotBase):
|
|
681
681
|
self.on_image_update, MessageEndpoints.device_monitor_2d(monitor)
|
682
682
|
)
|
683
683
|
self.images.clear()
|
684
|
+
|
685
|
+
def cleanup_pyqtgraph(self):
|
686
|
+
"""Cleanup pyqtgraph items."""
|
687
|
+
super().cleanup_pyqtgraph()
|
688
|
+
item = self.plot_item
|
689
|
+
if not item.items:
|
690
|
+
return
|
691
|
+
cbar = item.items[0].color_bar
|
692
|
+
cbar.vb.menu.close()
|
693
|
+
cbar.vb.menu.deleteLater()
|
694
|
+
cbar.gradient.menu.close()
|
695
|
+
cbar.gradient.menu.deleteLater()
|
696
|
+
cbar.gradient.colorDialog.close()
|
697
|
+
cbar.gradient.colorDialog.deleteLater()
|
@@ -314,3 +314,11 @@ class BECPlotBase(BECConnector, pg.GraphicsLayout):
|
|
314
314
|
"""Remove the plot widget from the figure."""
|
315
315
|
if self.figure is not None:
|
316
316
|
self.figure.remove(widget_id=self.gui_id)
|
317
|
+
|
318
|
+
def cleanup_pyqtgraph(self):
|
319
|
+
"""Cleanup pyqtgraph items."""
|
320
|
+
item = self.plot_item
|
321
|
+
item.vb.menu.close()
|
322
|
+
item.vb.menu.deleteLater()
|
323
|
+
item.ctrlMenu.close()
|
324
|
+
item.ctrlMenu.deleteLater()
|
@@ -45,3 +45,12 @@ class MotorMapSettings(SettingWidget):
|
|
45
45
|
self.target_widget.set_scatter_size(scatter_size)
|
46
46
|
self.target_widget.set_background_value(background_intensity)
|
47
47
|
self.target_widget.set_color(color)
|
48
|
+
|
49
|
+
def cleanup(self):
|
50
|
+
self.ui.color.cleanup()
|
51
|
+
self.ui.color.close()
|
52
|
+
self.ui.color.deleteLater()
|
53
|
+
|
54
|
+
def closeEvent(self, event):
|
55
|
+
self.cleanup()
|
56
|
+
super().closeEvent(event)
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import pytest
|
2
|
+
from pytestqt.exceptions import TimeoutError as QtBotTimeoutError
|
3
|
+
from qtpy.QtWidgets import QApplication
|
4
|
+
|
5
|
+
from bec_widgets.cli.rpc_register import RPCRegister
|
6
|
+
from bec_widgets.qt_utils import error_popups
|
7
|
+
from bec_widgets.utils import bec_dispatcher as bec_dispatcher_module
|
8
|
+
|
9
|
+
|
10
|
+
@pytest.fixture(autouse=True)
|
11
|
+
def qapplication(qtbot): # pylint: disable=unused-argument
|
12
|
+
yield
|
13
|
+
|
14
|
+
qapp = QApplication.instance()
|
15
|
+
# qapp.quit()
|
16
|
+
qapp.processEvents()
|
17
|
+
try:
|
18
|
+
qtbot.waitUntil(lambda: qapp.topLevelWidgets() == [])
|
19
|
+
except QtBotTimeoutError as exc:
|
20
|
+
raise TimeoutError(f"Failed to close all widgets: {qapp.topLevelWidgets()}") from exc
|
21
|
+
|
22
|
+
|
23
|
+
@pytest.fixture(autouse=True)
|
24
|
+
def rpc_register():
|
25
|
+
yield RPCRegister()
|
26
|
+
RPCRegister.reset_singleton()
|
27
|
+
|
28
|
+
|
29
|
+
@pytest.fixture(autouse=True)
|
30
|
+
def bec_dispatcher(threads_check): # pylint: disable=unused-argument
|
31
|
+
bec_dispatcher = bec_dispatcher_module.BECDispatcher()
|
32
|
+
yield bec_dispatcher
|
33
|
+
bec_dispatcher.disconnect_all()
|
34
|
+
# clean BEC client
|
35
|
+
bec_dispatcher.client.shutdown()
|
36
|
+
# reinitialize singleton for next test
|
37
|
+
bec_dispatcher_module.BECDispatcher.reset_singleton()
|
38
|
+
|
39
|
+
|
40
|
+
@pytest.fixture(autouse=True)
|
41
|
+
def clean_singleton():
|
42
|
+
error_popups._popup_utility_instance = None
|
43
|
+
|
44
|
+
|
45
|
+
def create_widget(qtbot, widget, *args, **kwargs):
|
46
|
+
"""
|
47
|
+
Create a widget and add it to the qtbot for testing. This is a helper function that
|
48
|
+
should be used in all tests that require a widget to be created.
|
49
|
+
DO NOT CREATE WIDGETS DIRECTLY IN A FIXTURE!
|
50
|
+
|
51
|
+
Args:
|
52
|
+
qtbot (fixture): pytest-qt fixture
|
53
|
+
widget (QWidget): widget class to be created
|
54
|
+
*args: positional arguments for the widget
|
55
|
+
**kwargs: keyword arguments for the widget
|
56
|
+
|
57
|
+
Returns:
|
58
|
+
QWidget: the created widget
|
59
|
+
|
60
|
+
"""
|
61
|
+
widget = widget(*args, **kwargs)
|
62
|
+
qtbot.addWidget(widget)
|
63
|
+
qtbot.waitExposed(widget)
|
64
|
+
return widget
|
@@ -9,18 +9,11 @@ from bec_widgets.widgets.figure.plots.motor_map.motor_map import BECMotorMap
|
|
9
9
|
from bec_widgets.widgets.figure.plots.waveform.waveform import BECWaveform
|
10
10
|
|
11
11
|
from .client_mocks import mocked_client
|
12
|
+
from .conftest import create_widget
|
12
13
|
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
widget = BECFigure(client=mocked_client)
|
17
|
-
qtbot.addWidget(widget)
|
18
|
-
qtbot.waitExposed(widget)
|
19
|
-
yield widget
|
20
|
-
widget.close()
|
21
|
-
|
22
|
-
|
23
|
-
def test_bec_figure_init(bec_figure):
|
15
|
+
def test_bec_figure_init(qtbot, mocked_client):
|
16
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
24
17
|
assert bec_figure is not None
|
25
18
|
assert bec_figure.client is not None
|
26
19
|
assert isinstance(bec_figure, BECFigure)
|
@@ -34,7 +27,8 @@ def test_bec_figure_init_with_config(mocked_client):
|
|
34
27
|
assert widget.config.theme == "dark"
|
35
28
|
|
36
29
|
|
37
|
-
def test_bec_figure_add_remove_plot(
|
30
|
+
def test_bec_figure_add_remove_plot(qtbot, mocked_client):
|
31
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
38
32
|
initial_count = len(bec_figure._widgets)
|
39
33
|
|
40
34
|
# Adding 3 widgets - 2 WaveformBase and 1 PlotBase
|
@@ -64,7 +58,8 @@ def test_bec_figure_add_remove_plot(bec_figure):
|
|
64
58
|
assert bec_figure._widgets[w1.gui_id].config.widget_class == "BECWaveform"
|
65
59
|
|
66
60
|
|
67
|
-
def test_add_different_types_of_widgets(
|
61
|
+
def test_add_different_types_of_widgets(qtbot, mocked_client):
|
62
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
68
63
|
plt = bec_figure.plot(x_name="samx", y_name="bpm4i")
|
69
64
|
im = bec_figure.image("eiger")
|
70
65
|
motor_map = bec_figure.motor_map("samx", "samy")
|
@@ -74,7 +69,8 @@ def test_add_different_types_of_widgets(bec_figure):
|
|
74
69
|
assert motor_map.__class__ == BECMotorMap
|
75
70
|
|
76
71
|
|
77
|
-
def test_access_widgets_access_errors(
|
72
|
+
def test_access_widgets_access_errors(qtbot, mocked_client):
|
73
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
78
74
|
bec_figure.plot(row=0, col=0)
|
79
75
|
|
80
76
|
# access widget by non-existent coordinates
|
@@ -96,7 +92,8 @@ def test_access_widgets_access_errors(bec_figure):
|
|
96
92
|
)
|
97
93
|
|
98
94
|
|
99
|
-
def test_add_plot_to_occupied_position(
|
95
|
+
def test_add_plot_to_occupied_position(qtbot, mocked_client):
|
96
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
100
97
|
bec_figure.plot(row=0, col=0)
|
101
98
|
|
102
99
|
with pytest.raises(ValueError) as excinfo:
|
@@ -104,7 +101,8 @@ def test_add_plot_to_occupied_position(bec_figure):
|
|
104
101
|
assert "Position at row 0 and column 0 is already occupied." in str(excinfo.value)
|
105
102
|
|
106
103
|
|
107
|
-
def test_remove_plots(
|
104
|
+
def test_remove_plots(qtbot, mocked_client):
|
105
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
108
106
|
w1 = bec_figure.plot(row=0, col=0)
|
109
107
|
w2 = bec_figure.plot(row=0, col=1)
|
110
108
|
w3 = bec_figure.plot(row=1, col=0)
|
@@ -134,7 +132,8 @@ def test_remove_plots(bec_figure):
|
|
134
132
|
assert len(bec_figure._widgets) == 1
|
135
133
|
|
136
134
|
|
137
|
-
def test_remove_plots_by_coordinates_ints(
|
135
|
+
def test_remove_plots_by_coordinates_ints(qtbot, mocked_client):
|
136
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
138
137
|
w1 = bec_figure.plot(row=0, col=0)
|
139
138
|
w2 = bec_figure.plot(row=0, col=1)
|
140
139
|
|
@@ -145,7 +144,8 @@ def test_remove_plots_by_coordinates_ints(bec_figure):
|
|
145
144
|
assert len(bec_figure._widgets) == 1
|
146
145
|
|
147
146
|
|
148
|
-
def test_remove_plots_by_coordinates_tuple(
|
147
|
+
def test_remove_plots_by_coordinates_tuple(qtbot, mocked_client):
|
148
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
149
149
|
w1 = bec_figure.plot(row=0, col=0)
|
150
150
|
w2 = bec_figure.plot(row=0, col=1)
|
151
151
|
|
@@ -156,7 +156,8 @@ def test_remove_plots_by_coordinates_tuple(bec_figure):
|
|
156
156
|
assert len(bec_figure._widgets) == 1
|
157
157
|
|
158
158
|
|
159
|
-
def test_remove_plot_by_id_error(
|
159
|
+
def test_remove_plot_by_id_error(qtbot, mocked_client):
|
160
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
160
161
|
bec_figure.plot()
|
161
162
|
|
162
163
|
with pytest.raises(ValueError) as excinfo:
|
@@ -164,7 +165,8 @@ def test_remove_plot_by_id_error(bec_figure):
|
|
164
165
|
assert "Widget with ID 'non_existent_widget' does not exist." in str(excinfo.value)
|
165
166
|
|
166
167
|
|
167
|
-
def test_remove_plot_by_coordinates_error(
|
168
|
+
def test_remove_plot_by_coordinates_error(qtbot, mocked_client):
|
169
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
168
170
|
bec_figure.plot(row=0, col=0)
|
169
171
|
|
170
172
|
with pytest.raises(ValueError) as excinfo:
|
@@ -172,7 +174,8 @@ def test_remove_plot_by_coordinates_error(bec_figure):
|
|
172
174
|
assert "No widget at coordinates (0, 1)" in str(excinfo.value)
|
173
175
|
|
174
176
|
|
175
|
-
def test_remove_plot_by_providing_nothing(
|
177
|
+
def test_remove_plot_by_providing_nothing(qtbot, mocked_client):
|
178
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
176
179
|
bec_figure.plot(row=0, col=0)
|
177
180
|
|
178
181
|
with pytest.raises(ValueError) as excinfo:
|
@@ -192,7 +195,8 @@ def test_remove_plot_by_providing_nothing(bec_figure):
|
|
192
195
|
# assert bec_figure.backgroundBrush().color().name() == "#000000"
|
193
196
|
|
194
197
|
|
195
|
-
def test_change_layout(
|
198
|
+
def test_change_layout(qtbot, mocked_client):
|
199
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
196
200
|
w1 = bec_figure.plot(row=0, col=0)
|
197
201
|
w2 = bec_figure.plot(row=0, col=1)
|
198
202
|
w3 = bec_figure.plot(row=1, col=0)
|
@@ -215,7 +219,8 @@ def test_change_layout(bec_figure):
|
|
215
219
|
assert bec_figure[0, 3] == w4
|
216
220
|
|
217
221
|
|
218
|
-
def test_clear_all(
|
222
|
+
def test_clear_all(qtbot, mocked_client):
|
223
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
219
224
|
bec_figure.plot(row=0, col=0)
|
220
225
|
bec_figure.plot(row=0, col=1)
|
221
226
|
bec_figure.plot(row=1, col=0)
|
@@ -227,7 +232,8 @@ def test_clear_all(bec_figure):
|
|
227
232
|
assert np.shape(bec_figure.grid) == (0,)
|
228
233
|
|
229
234
|
|
230
|
-
def test_shortcuts(
|
235
|
+
def test_shortcuts(qtbot, mocked_client):
|
236
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
231
237
|
plt = bec_figure.plot(x_name="samx", y_name="bpm4i")
|
232
238
|
im = bec_figure.image("eiger")
|
233
239
|
motor_map = bec_figure.motor_map("samx", "samy")
|
@@ -240,7 +246,8 @@ def test_shortcuts(bec_figure):
|
|
240
246
|
assert motor_map.__class__ == BECMotorMap
|
241
247
|
|
242
248
|
|
243
|
-
def test_plot_access_factory(
|
249
|
+
def test_plot_access_factory(qtbot, mocked_client):
|
250
|
+
bec_figure = create_widget(qtbot, BECFigure, client=mocked_client)
|
244
251
|
plt_00 = bec_figure.plot(x_name="samx", y_name="bpm4i")
|
245
252
|
plt_01 = bec_figure.plot(x_name="samx", y_name="bpm4i", row=0, col=1)
|
246
253
|
plt_10 = bec_figure.plot(new=True)
|
@@ -6,8 +6,10 @@ import pytest
|
|
6
6
|
from bec_lib import messages
|
7
7
|
from qtpy.QtGui import QFontInfo
|
8
8
|
|
9
|
+
from bec_widgets.widgets.figure import BECFigure
|
10
|
+
|
9
11
|
from .client_mocks import mocked_client
|
10
|
-
from .
|
12
|
+
from .conftest import create_widget
|
11
13
|
|
12
14
|
|
13
15
|
@pytest.fixture
|
@@ -15,7 +17,8 @@ def bec_image_show(bec_figure):
|
|
15
17
|
yield bec_figure.image("eiger")
|
16
18
|
|
17
19
|
|
18
|
-
def test_on_image_update(
|
20
|
+
def test_on_image_update(qtbot, mocked_client):
|
21
|
+
bec_image_show = create_widget(qtbot, BECFigure, client=mocked_client).image("eiger")
|
19
22
|
data = np.random.rand(100, 100)
|
20
23
|
msg = messages.DeviceMonitor2DMessage(device="eiger", data=data, metadata={"scan_id": "12345"})
|
21
24
|
bec_image_show.on_image_update(msg.content, msg.metadata)
|
@@ -23,7 +26,8 @@ def test_on_image_update(bec_image_show):
|
|
23
26
|
assert np.array_equal(img.get_data(), data)
|
24
27
|
|
25
28
|
|
26
|
-
def test_autorange_on_image_update(
|
29
|
+
def test_autorange_on_image_update(qtbot, mocked_client):
|
30
|
+
bec_image_show = create_widget(qtbot, BECFigure, client=mocked_client).image("eiger")
|
27
31
|
# Check if autorange mode "mean" works, should be default
|
28
32
|
data = np.random.rand(100, 100)
|
29
33
|
msg = messages.DeviceMonitor2DMessage(device="eiger", data=data, metadata={"scan_id": "12345"})
|