bec-widgets 2.8.3__tar.gz → 2.8.4__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-2.8.3 → bec_widgets-2.8.4}/CHANGELOG.md +9 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/PKG-INFO +1 -1
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/client.py +56 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/crosshair.py +72 -9
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/image.py +2 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/multi_waveform.py +2 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/plot_base.py +27 -1
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py +2 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/setting_menus/axis_settings.py +3 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/setting_menus/axis_settings_horizontal.ui +111 -88
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/setting_menus/axis_settings_vertical.ui +74 -43
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/waveform.py +2 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/pyproject.toml +1 -1
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.git_hooks/pre-commit +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/ISSUE_TEMPLATE/documentation_update.md +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/actions/bw_install/action.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/pull_request_template.md +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/scripts/pr_issue_sync/pr_issue_sync.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/scripts/pr_issue_sync/requirements.txt +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/check_pr.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/ci.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/end2end-conda.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/formatter.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/generate-cli-check.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/pytest-matrix.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/pytest.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/semantic_release.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.github/workflows/sync-issues-pr.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.gitignore +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.gitlab-ci.yml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.pylintrc +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/.readthedocs.yaml +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/LICENSE +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/README.md +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/applications/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/applications/bw_launch.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/applications/launch_window.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/assets/app_icons/BEC-General-App.png +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/assets/app_icons/alignment_1d.png +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/assets/app_icons/auto_update.png +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/assets/app_icons/ui_loader_tile.png +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/assets/app_icons/widget_launch_tile.png +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/client_utils.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/generate_cli.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/rpc/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/rpc/rpc_base.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/rpc/rpc_register.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/rpc/rpc_widget_handler.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/cli/server.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/general_app/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/general_app/general_app.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/general_app/general_app.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/general_app/web_links.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/tests/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/tests/utils.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_connector.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_designer.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_dispatcher.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_plugin_helper.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_signal_proxy.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_table.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/bec_widget.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/collapsible_panel_manager.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/colors.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/compact_popup.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/container_utils.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/entry_validator.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/error_popups.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/expandable_frame.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/filter_io.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/forms_from_types/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/forms_from_types/forms.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/forms_from_types/items.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/fps_counter.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/generate_designer_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/layout_manager.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/linear_region_selector.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/name_utils.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/ophyd_kind_util.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/palette_viewer.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/plot_indicator_items.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/plugin_templates/register.template +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/plugin_utils.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/redis_message_waiter.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/reference_utils.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/round_frame.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/rpc_decorator.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/rpc_server.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/serialization.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/settings_dialog.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/side_panel.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/thread_checker.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/toolbar.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/ui_loader.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/validator_delegate.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/widget_io.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/widget_state_manager.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/utils/yaml_dialog.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/auto_update/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/auto_update/auto_updates.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/dock/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/dock/dock.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/dock/dock_area.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/dock/dock_area.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/dock/dock_area_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/dock/register_dock_area.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/layout_manager/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/layout_manager/layout_manager.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/main_window/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/main_window/addons/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/main_window/addons/web_links.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/containers/main_window/main_window.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_abort/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_abort/abort_button.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_abort/abort_button_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_abort/button_abort.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_abort/register_abort_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_reset/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_reset/button_reset.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_reset/register_reset_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_reset/reset_button.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_reset/reset_button_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_resume/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_resume/button_resume.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_resume/register_resume_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_resume/resume_button.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/button_resume/resume_button_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/stop_button/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/stop_button/register_stop_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/stop_button/stop_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/stop_button/stop_button.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/buttons/stop_button/stop_button_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/position_indicator/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/position_indicator/register_position_indicator.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/_base/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/_base/positioner_box_base.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/register_positioner_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box2_d.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box2_d_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/register_positioner_box2_d.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/register_positioner_control_line.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_group/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_control/positioner_group/register_positioner_group.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/base_classes/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_combobox/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_combobox/register_device_combo_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_line_edit/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_combobox/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combo_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_line_edit/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/scan_control/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/scan_control/register_scan_control.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/scan_control/scan_control.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/scan_control/scan_control.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/scan_control/scan_control_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/control/scan_control/scan_group_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/dap_combo_box/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/console/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/console/console.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/console/console.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/console/console_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/console/register_console.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/dict_backed_table.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/jupyter_console/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/jupyter_console/jupyter_console.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/scan_metadata/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/scan_metadata/_util.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/scan_metadata/register_scan_metadata.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/scan_metadata/scan_metadata.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/scan_metadata/scan_metadata.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/scan_metadata/scan_metadata_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/text_box/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/text_box/register_text_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/text_box/text_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/text_box/text_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/text_box/text_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/vscode/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/vscode/register_vs_code_editor.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/vscode/vs_code_editor.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/vscode/vs_code_editor_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/vscode/vscode.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/web_console/register_web_console.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/web_console/web_console.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/web_console/web_console.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/web_console/web_console_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/website/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/website/register_website_widget.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/website/website.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/website/website_widget.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/editors/website/website_widget_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/games/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/games/minesweeper.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/games/minesweeper.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/games/minesweeper_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/games/register_minesweeper.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/image.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/image_item.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/image_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/image_processor.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/image_roi_plot.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/register_image.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/setting_widgets/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/setting_widgets/image_roi_tree.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/toolbar_bundles/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/toolbar_bundles/image_selection.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/image/toolbar_bundles/processing.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/motor_map.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/motor_map.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/motor_map_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/register_motor_map.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/settings/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/settings/motor_map_settings.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/settings/motor_map_settings.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/toolbar_bundles/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/motor_map/toolbar_bundles/motor_selection.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/multi_waveform.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/register_multi_waveform.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/settings/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/settings/control_panel.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/settings/multi_waveform_controls.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/toolbar_bundles/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/toolbar_bundles/monitor_selection.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/roi/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/roi/image_roi.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/register_scatter_waveform.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/settings/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_setting.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_settings_horizontal.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_settings_vertical.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/setting_menus/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/toolbar_bundles/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/toolbar_bundles/mouse_interactions.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/toolbar_bundles/plot_export.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/toolbar_bundles/roi_bundle.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/toolbar_bundles/save_state.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/curve.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/register_waveform.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/settings/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/settings/curve_settings/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_setting.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_tree.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/utils/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/utils/roi_manager.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/waveform.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/waveform/waveform_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/bec_progressbar/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/bec_progressbar/register_bec_progress_bar.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/ring_progress_bar/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/ring_progress_bar/register_ring_progress_bar.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/ring_progress_bar/ring.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_queue/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_queue/bec_queue.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_queue/bec_queue.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_queue/bec_queue_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_queue/register_bec_queue.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_status_box/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_status_box/bec_status_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_status_box/bec_status_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_status_box/bec_status_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_status_box/register_bec_status_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/bec_status_box/status_item.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/device_browser.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/device_browser.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/device_browser.ui +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/device_browser_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/device_item/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/device_item/device_item.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/services/device_browser/register_device_browser.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/logpanel/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/logpanel/_util.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/logpanel/log_panel.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/logpanel/log_panel_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/logpanel/logpanel.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/logpanel/register_log_panel.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinbox/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinbox/bec_spin_box.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinbox/bec_spin_box_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinbox/decimal_spinbox.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinbox/register_bec_spin_box.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinner/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinner/register_spinner_widget.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinner/spinner.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinner/spinner_widget.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/spinner/spinner_widget_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/toggle/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/toggle/register_toggle_switch.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/toggle/toggle.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/toggle/toggle_switch.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/toggle/toggle_switch_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button/color_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button/color_button.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button/register_color_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button_native/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button_native/color_button_native.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button_native/color_button_native.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button_native/color_button_native_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/color_button_native/register_color_button_native.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_selector/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_selector/register_colormap_selector.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_widget/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/colormap_widget/register_bec_color_map_widget.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/dark_mode_button/__init__.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py +0 -0
- {bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py +0 -0
@@ -1,6 +1,15 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
+
## v2.8.4 (2025-05-30)
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
- **crosshair**: Label decimal precision is dynamically scaled with the plot zoom; API of all
|
9
|
+
affected widgets adjusted; option added to PlotBase; closes #637
|
10
|
+
([`c8128fa`](https://github.com/bec-project/bec_widgets/commit/c8128faf79c43487921aada9dbf1869ef5bda93c))
|
11
|
+
|
12
|
+
|
4
13
|
## v2.8.3 (2025-05-30)
|
5
14
|
|
6
15
|
### Bug Fixes
|
@@ -1221,6 +1221,20 @@ class Image(RPCBase):
|
|
1221
1221
|
Set auto range for the y-axis.
|
1222
1222
|
"""
|
1223
1223
|
|
1224
|
+
@property
|
1225
|
+
@rpc_call
|
1226
|
+
def minimal_crosshair_precision(self) -> "int":
|
1227
|
+
"""
|
1228
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
1229
|
+
"""
|
1230
|
+
|
1231
|
+
@minimal_crosshair_precision.setter
|
1232
|
+
@rpc_call
|
1233
|
+
def minimal_crosshair_precision(self) -> "int":
|
1234
|
+
"""
|
1235
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
1236
|
+
"""
|
1237
|
+
|
1224
1238
|
@property
|
1225
1239
|
@rpc_call
|
1226
1240
|
def color_map(self) -> "str":
|
@@ -2350,6 +2364,20 @@ class MultiWaveform(RPCBase):
|
|
2350
2364
|
The font size of the legend font.
|
2351
2365
|
"""
|
2352
2366
|
|
2367
|
+
@property
|
2368
|
+
@rpc_call
|
2369
|
+
def minimal_crosshair_precision(self) -> "int":
|
2370
|
+
"""
|
2371
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
2372
|
+
"""
|
2373
|
+
|
2374
|
+
@minimal_crosshair_precision.setter
|
2375
|
+
@rpc_call
|
2376
|
+
def minimal_crosshair_precision(self) -> "int":
|
2377
|
+
"""
|
2378
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
2379
|
+
"""
|
2380
|
+
|
2353
2381
|
@property
|
2354
2382
|
@rpc_call
|
2355
2383
|
def highlighted_index(self):
|
@@ -3315,6 +3343,20 @@ class ScatterWaveform(RPCBase):
|
|
3315
3343
|
The font size of the legend font.
|
3316
3344
|
"""
|
3317
3345
|
|
3346
|
+
@property
|
3347
|
+
@rpc_call
|
3348
|
+
def minimal_crosshair_precision(self) -> "int":
|
3349
|
+
"""
|
3350
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
3351
|
+
"""
|
3352
|
+
|
3353
|
+
@minimal_crosshair_precision.setter
|
3354
|
+
@rpc_call
|
3355
|
+
def minimal_crosshair_precision(self) -> "int":
|
3356
|
+
"""
|
3357
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
3358
|
+
"""
|
3359
|
+
|
3318
3360
|
@property
|
3319
3361
|
@rpc_call
|
3320
3362
|
def main_curve(self) -> "ScatterCurve":
|
@@ -3789,6 +3831,20 @@ class Waveform(RPCBase):
|
|
3789
3831
|
The font size of the legend font.
|
3790
3832
|
"""
|
3791
3833
|
|
3834
|
+
@property
|
3835
|
+
@rpc_call
|
3836
|
+
def minimal_crosshair_precision(self) -> "int":
|
3837
|
+
"""
|
3838
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
3839
|
+
"""
|
3840
|
+
|
3841
|
+
@minimal_crosshair_precision.setter
|
3842
|
+
@rpc_call
|
3843
|
+
def minimal_crosshair_precision(self) -> "int":
|
3844
|
+
"""
|
3845
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
3846
|
+
"""
|
3847
|
+
|
3792
3848
|
@property
|
3793
3849
|
@rpc_call
|
3794
3850
|
def curves(self) -> "list[Curve]":
|
@@ -34,13 +34,21 @@ class Crosshair(QObject):
|
|
34
34
|
coordinatesChanged2D = Signal(tuple)
|
35
35
|
coordinatesClicked2D = Signal(tuple)
|
36
36
|
|
37
|
-
def __init__(
|
37
|
+
def __init__(
|
38
|
+
self,
|
39
|
+
plot_item: pg.PlotItem,
|
40
|
+
precision: int | None = None,
|
41
|
+
*,
|
42
|
+
min_precision: int = 2,
|
43
|
+
parent=None,
|
44
|
+
):
|
38
45
|
"""
|
39
46
|
Crosshair for 1D and 2D plots.
|
40
47
|
|
41
48
|
Args:
|
42
49
|
plot_item (pyqtgraph.PlotItem): The plot item to which the crosshair will be attached.
|
43
|
-
precision (int, optional):
|
50
|
+
precision (int | None, optional): Fixed number of decimal places to display. If *None*, precision is chosen dynamically from the current view range.
|
51
|
+
min_precision (int, optional): The lower bound (in decimal places) used when dynamic precision is enabled. Defaults to 2.
|
44
52
|
parent (QObject, optional): Parent object for the QObject. Defaults to None.
|
45
53
|
"""
|
46
54
|
super().__init__(parent)
|
@@ -48,7 +56,9 @@ class Crosshair(QObject):
|
|
48
56
|
self.is_log_x = None
|
49
57
|
self.is_derivative = None
|
50
58
|
self.plot_item = plot_item
|
51
|
-
self.
|
59
|
+
self._precision = precision
|
60
|
+
self._min_precision = max(0, int(min_precision)) # ensure non‑negative
|
61
|
+
|
52
62
|
self.v_line = pg.InfiniteLine(angle=90, movable=False)
|
53
63
|
self.v_line.skip_auto_range = True
|
54
64
|
self.h_line = pg.InfiniteLine(angle=0, movable=False)
|
@@ -93,6 +103,56 @@ class Crosshair(QObject):
|
|
93
103
|
|
94
104
|
self._connect_to_theme_change()
|
95
105
|
|
106
|
+
@property
|
107
|
+
def precision(self) -> int | None:
|
108
|
+
"""Fixed number of decimals; ``None`` enables dynamic mode."""
|
109
|
+
return self._precision
|
110
|
+
|
111
|
+
@precision.setter
|
112
|
+
def precision(self, value: int | None):
|
113
|
+
"""
|
114
|
+
Set the fixed number of decimals to display.
|
115
|
+
|
116
|
+
Args:
|
117
|
+
value(int | None): The number of decimals to display. If `None`, dynamic precision is used based on the view range.
|
118
|
+
"""
|
119
|
+
self._precision = value
|
120
|
+
|
121
|
+
@property
|
122
|
+
def min_precision(self) -> int:
|
123
|
+
"""Lower bound on decimals when dynamic precision is used."""
|
124
|
+
return self._min_precision
|
125
|
+
|
126
|
+
@min_precision.setter
|
127
|
+
def min_precision(self, value: int):
|
128
|
+
"""
|
129
|
+
Set the lower bound on decimals when dynamic precision is used.
|
130
|
+
|
131
|
+
Args:
|
132
|
+
value(int): The minimum number of decimals to display. Must be non-negative.
|
133
|
+
"""
|
134
|
+
self._min_precision = max(0, int(value))
|
135
|
+
|
136
|
+
def _current_precision(self) -> int:
|
137
|
+
"""
|
138
|
+
Get the current precision based on the view range or fixed precision.
|
139
|
+
"""
|
140
|
+
if self._precision is not None:
|
141
|
+
return self._precision
|
142
|
+
|
143
|
+
# Dynamically choose precision from the smaller visible span
|
144
|
+
view_range = self.plot_item.vb.viewRange()
|
145
|
+
x_span = abs(view_range[0][1] - view_range[0][0])
|
146
|
+
y_span = abs(view_range[1][1] - view_range[1][0])
|
147
|
+
|
148
|
+
# Ignore zero spans that can appear during initialisation
|
149
|
+
spans = [s for s in (x_span, y_span) if s > 0]
|
150
|
+
span = min(spans) if spans else 1.0
|
151
|
+
|
152
|
+
exponent = np.floor(np.log10(span)) # order of magnitude
|
153
|
+
decimals = max(0, int(-exponent) + 1)
|
154
|
+
return max(self._min_precision, decimals)
|
155
|
+
|
96
156
|
def _connect_to_theme_change(self):
|
97
157
|
"""Connect to the theme change signal."""
|
98
158
|
qapp = QApplication.instance()
|
@@ -324,6 +384,7 @@ class Crosshair(QObject):
|
|
324
384
|
# not sure how we got here, but just to be safe...
|
325
385
|
return
|
326
386
|
|
387
|
+
precision = self._current_precision()
|
327
388
|
for item in self.items:
|
328
389
|
if isinstance(item, pg.PlotDataItem):
|
329
390
|
name = item.name() or str(id(item))
|
@@ -334,8 +395,8 @@ class Crosshair(QObject):
|
|
334
395
|
x_snapped_scaled, y_snapped_scaled = self.scale_emitted_coordinates(x, y)
|
335
396
|
coordinate_to_emit = (
|
336
397
|
name,
|
337
|
-
round(x_snapped_scaled,
|
338
|
-
round(y_snapped_scaled,
|
398
|
+
round(x_snapped_scaled, precision),
|
399
|
+
round(y_snapped_scaled, precision),
|
339
400
|
)
|
340
401
|
self.coordinatesChanged1D.emit(coordinate_to_emit)
|
341
402
|
elif isinstance(item, pg.ImageItem):
|
@@ -380,6 +441,7 @@ class Crosshair(QObject):
|
|
380
441
|
# not sure how we got here, but just to be safe...
|
381
442
|
return
|
382
443
|
|
444
|
+
precision = self._current_precision()
|
383
445
|
for item in self.items:
|
384
446
|
if isinstance(item, pg.PlotDataItem):
|
385
447
|
name = item.name() or str(id(item))
|
@@ -391,8 +453,8 @@ class Crosshair(QObject):
|
|
391
453
|
x_snapped_scaled, y_snapped_scaled = self.scale_emitted_coordinates(x, y)
|
392
454
|
coordinate_to_emit = (
|
393
455
|
name,
|
394
|
-
round(x_snapped_scaled,
|
395
|
-
round(y_snapped_scaled,
|
456
|
+
round(x_snapped_scaled, precision),
|
457
|
+
round(y_snapped_scaled, precision),
|
396
458
|
)
|
397
459
|
self.coordinatesClicked1D.emit(coordinate_to_emit)
|
398
460
|
elif isinstance(item, pg.ImageItem):
|
@@ -443,7 +505,8 @@ class Crosshair(QObject):
|
|
443
505
|
"""
|
444
506
|
x, y = pos
|
445
507
|
x_scaled, y_scaled = self.scale_emitted_coordinates(x, y)
|
446
|
-
|
508
|
+
precision = self._current_precision()
|
509
|
+
text = f"({x_scaled:.{precision}f}, {y_scaled:.{precision}f})"
|
447
510
|
for item in self.items:
|
448
511
|
if isinstance(item, pg.ImageItem):
|
449
512
|
image = item.image
|
@@ -452,7 +515,7 @@ class Crosshair(QObject):
|
|
452
515
|
ix = int(np.clip(x, 0, image.shape[0] - 1))
|
453
516
|
iy = int(np.clip(y, 0, image.shape[1] - 1))
|
454
517
|
intensity = image[ix, iy]
|
455
|
-
text += f"\nIntensity: {intensity:.{
|
518
|
+
text += f"\nIntensity: {intensity:.{precision}f}"
|
456
519
|
break
|
457
520
|
# Update coordinate label
|
458
521
|
self.coord_label.setText(text)
|
{bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/multi_waveform/multi_waveform.py
RENAMED
@@ -91,6 +91,8 @@ class MultiWaveform(PlotBase):
|
|
91
91
|
"y_log.setter",
|
92
92
|
"legend_label_size",
|
93
93
|
"legend_label_size.setter",
|
94
|
+
"minimal_crosshair_precision",
|
95
|
+
"minimal_crosshair_precision.setter",
|
94
96
|
# MultiWaveform Specific RPC Access
|
95
97
|
"highlighted_index",
|
96
98
|
"highlighted_index.setter",
|
@@ -116,6 +116,7 @@ class PlotBase(BECWidget, QWidget):
|
|
116
116
|
self._user_y_label = ""
|
117
117
|
self._y_label_suffix = ""
|
118
118
|
self._y_axis_units = ""
|
119
|
+
self._minimal_crosshair_precision = 3
|
119
120
|
|
120
121
|
# Plot Indicator Items
|
121
122
|
self.tick_item = BECTickItem(parent=self, plot_item=self.plot_item)
|
@@ -978,7 +979,9 @@ class PlotBase(BECWidget, QWidget):
|
|
978
979
|
def hook_crosshair(self) -> None:
|
979
980
|
"""Hook the crosshair to all plots."""
|
980
981
|
if self.crosshair is None:
|
981
|
-
self.crosshair = Crosshair(
|
982
|
+
self.crosshair = Crosshair(
|
983
|
+
self.plot_item, min_precision=self._minimal_crosshair_precision
|
984
|
+
)
|
982
985
|
self.crosshair.crosshairChanged.connect(self.crosshair_position_changed)
|
983
986
|
self.crosshair.crosshairClicked.connect(self.crosshair_position_clicked)
|
984
987
|
self.crosshair.coordinatesChanged1D.connect(self.crosshair_coordinates_changed)
|
@@ -1006,6 +1009,29 @@ class PlotBase(BECWidget, QWidget):
|
|
1006
1009
|
|
1007
1010
|
self.unhook_crosshair()
|
1008
1011
|
|
1012
|
+
@SafeProperty(
|
1013
|
+
int, doc="Minimum decimal places for crosshair when dynamic precision is enabled."
|
1014
|
+
)
|
1015
|
+
def minimal_crosshair_precision(self) -> int:
|
1016
|
+
"""
|
1017
|
+
Minimum decimal places for crosshair when dynamic precision is enabled.
|
1018
|
+
"""
|
1019
|
+
return self._minimal_crosshair_precision
|
1020
|
+
|
1021
|
+
@minimal_crosshair_precision.setter
|
1022
|
+
def minimal_crosshair_precision(self, value: int):
|
1023
|
+
"""
|
1024
|
+
Set the minimum decimal places for crosshair when dynamic precision is enabled.
|
1025
|
+
|
1026
|
+
Args:
|
1027
|
+
value(int): The minimum decimal places to set.
|
1028
|
+
"""
|
1029
|
+
value_int = max(0, int(value))
|
1030
|
+
self._minimal_crosshair_precision = value_int
|
1031
|
+
if self.crosshair is not None:
|
1032
|
+
self.crosshair.min_precision = value_int
|
1033
|
+
self.property_changed.emit("minimal_crosshair_precision", value_int)
|
1034
|
+
|
1009
1035
|
@SafeSlot()
|
1010
1036
|
def reset(self) -> None:
|
1011
1037
|
"""Reset the plot widget."""
|
{bec_widgets-2.8.3 → bec_widgets-2.8.4}/bec_widgets/widgets/plots/setting_menus/axis_settings.py
RENAMED
@@ -60,6 +60,7 @@ class AxisSettings(SettingWidget):
|
|
60
60
|
self.ui.y_grid,
|
61
61
|
self.ui.inner_axes,
|
62
62
|
self.ui.outer_axes,
|
63
|
+
self.ui.minimal_crosshair_precision,
|
63
64
|
]:
|
64
65
|
WidgetIO.connect_widget_change_signal(widget, self.set_property)
|
65
66
|
|
@@ -121,6 +122,7 @@ class AxisSettings(SettingWidget):
|
|
121
122
|
self.ui.y_max,
|
122
123
|
self.ui.y_log,
|
123
124
|
self.ui.y_grid,
|
125
|
+
self.ui.minimal_crosshair_precision,
|
124
126
|
]:
|
125
127
|
property_name = widget.objectName()
|
126
128
|
value = getattr(self.target_widget, property_name)
|
@@ -144,6 +146,7 @@ class AxisSettings(SettingWidget):
|
|
144
146
|
self.ui.y_grid,
|
145
147
|
self.ui.outer_axes,
|
146
148
|
self.ui.inner_axes,
|
149
|
+
self.ui.minimal_crosshair_precision,
|
147
150
|
]:
|
148
151
|
property_name = widget.objectName()
|
149
152
|
value = WidgetIO.get_value(widget)
|
@@ -14,21 +14,78 @@
|
|
14
14
|
<string>Form</string>
|
15
15
|
</property>
|
16
16
|
<layout class="QGridLayout" name="gridLayout">
|
17
|
-
<item row="
|
18
|
-
<widget class="
|
19
|
-
<property name="
|
20
|
-
<string>
|
21
|
-
</property>
|
22
|
-
</widget>
|
23
|
-
</item>
|
24
|
-
<item row="1" column="1">
|
25
|
-
<widget class="ToggleSwitch" name="inner_axes"/>
|
26
|
-
</item>
|
27
|
-
<item row="1" column="2">
|
28
|
-
<widget class="QLabel" name="label_outer_axes">
|
29
|
-
<property name="text">
|
30
|
-
<string>Outer Axes</string>
|
17
|
+
<item row="2" column="2" colspan="2">
|
18
|
+
<widget class="QGroupBox" name="y_axis_box">
|
19
|
+
<property name="title">
|
20
|
+
<string>Y Axis</string>
|
31
21
|
</property>
|
22
|
+
<layout class="QGridLayout" name="gridLayout_5">
|
23
|
+
<item row="1" column="0" colspan="2">
|
24
|
+
<widget class="QLabel" name="y_min_label">
|
25
|
+
<property name="text">
|
26
|
+
<string>Min</string>
|
27
|
+
</property>
|
28
|
+
</widget>
|
29
|
+
</item>
|
30
|
+
<item row="0" column="2">
|
31
|
+
<widget class="QLineEdit" name="y_label"/>
|
32
|
+
</item>
|
33
|
+
<item row="3" column="0">
|
34
|
+
<widget class="QLabel" name="y_scale_label">
|
35
|
+
<property name="text">
|
36
|
+
<string>Log</string>
|
37
|
+
</property>
|
38
|
+
</widget>
|
39
|
+
</item>
|
40
|
+
<item row="0" column="0">
|
41
|
+
<widget class="QLabel" name="y_label_label">
|
42
|
+
<property name="text">
|
43
|
+
<string>Label</string>
|
44
|
+
</property>
|
45
|
+
</widget>
|
46
|
+
</item>
|
47
|
+
<item row="2" column="0">
|
48
|
+
<widget class="QLabel" name="y_max_label">
|
49
|
+
<property name="text">
|
50
|
+
<string>Max</string>
|
51
|
+
</property>
|
52
|
+
</widget>
|
53
|
+
</item>
|
54
|
+
<item row="4" column="0">
|
55
|
+
<widget class="QLabel" name="y_grid_label">
|
56
|
+
<property name="text">
|
57
|
+
<string>Grid</string>
|
58
|
+
</property>
|
59
|
+
</widget>
|
60
|
+
</item>
|
61
|
+
<item row="3" column="2">
|
62
|
+
<widget class="ToggleSwitch" name="y_log">
|
63
|
+
<property name="checked" stdset="0">
|
64
|
+
<bool>false</bool>
|
65
|
+
</property>
|
66
|
+
</widget>
|
67
|
+
</item>
|
68
|
+
<item row="4" column="2">
|
69
|
+
<widget class="ToggleSwitch" name="y_grid">
|
70
|
+
<property name="checked" stdset="0">
|
71
|
+
<bool>false</bool>
|
72
|
+
</property>
|
73
|
+
</widget>
|
74
|
+
</item>
|
75
|
+
<item row="1" column="2">
|
76
|
+
<widget class="BECSpinBox" name="y_min">
|
77
|
+
<property name="alignment">
|
78
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
79
|
+
</property>
|
80
|
+
<property name="buttonSymbols">
|
81
|
+
<enum>QAbstractSpinBox::ButtonSymbols::UpDownArrows</enum>
|
82
|
+
</property>
|
83
|
+
</widget>
|
84
|
+
</item>
|
85
|
+
<item row="2" column="2">
|
86
|
+
<widget class="BECSpinBox" name="y_max"/>
|
87
|
+
</item>
|
88
|
+
</layout>
|
32
89
|
</widget>
|
33
90
|
</item>
|
34
91
|
<item row="1" column="3">
|
@@ -38,6 +95,13 @@
|
|
38
95
|
</property>
|
39
96
|
</widget>
|
40
97
|
</item>
|
98
|
+
<item row="1" column="0">
|
99
|
+
<widget class="QLabel" name="label">
|
100
|
+
<property name="text">
|
101
|
+
<string>Inner Axes</string>
|
102
|
+
</property>
|
103
|
+
</widget>
|
104
|
+
</item>
|
41
105
|
<item row="2" column="0" colspan="2">
|
42
106
|
<widget class="QGroupBox" name="x_axis_box">
|
43
107
|
<property name="title">
|
@@ -105,80 +169,6 @@
|
|
105
169
|
</layout>
|
106
170
|
</widget>
|
107
171
|
</item>
|
108
|
-
<item row="2" column="2" colspan="2">
|
109
|
-
<widget class="QGroupBox" name="y_axis_box">
|
110
|
-
<property name="title">
|
111
|
-
<string>Y Axis</string>
|
112
|
-
</property>
|
113
|
-
<layout class="QGridLayout" name="gridLayout_5">
|
114
|
-
<item row="1" column="0" colspan="2">
|
115
|
-
<widget class="QLabel" name="y_min_label">
|
116
|
-
<property name="text">
|
117
|
-
<string>Min</string>
|
118
|
-
</property>
|
119
|
-
</widget>
|
120
|
-
</item>
|
121
|
-
<item row="0" column="2">
|
122
|
-
<widget class="QLineEdit" name="y_label"/>
|
123
|
-
</item>
|
124
|
-
<item row="3" column="0">
|
125
|
-
<widget class="QLabel" name="y_scale_label">
|
126
|
-
<property name="text">
|
127
|
-
<string>Log</string>
|
128
|
-
</property>
|
129
|
-
</widget>
|
130
|
-
</item>
|
131
|
-
<item row="0" column="0">
|
132
|
-
<widget class="QLabel" name="y_label_label">
|
133
|
-
<property name="text">
|
134
|
-
<string>Label</string>
|
135
|
-
</property>
|
136
|
-
</widget>
|
137
|
-
</item>
|
138
|
-
<item row="2" column="0">
|
139
|
-
<widget class="QLabel" name="y_max_label">
|
140
|
-
<property name="text">
|
141
|
-
<string>Max</string>
|
142
|
-
</property>
|
143
|
-
</widget>
|
144
|
-
</item>
|
145
|
-
<item row="4" column="0">
|
146
|
-
<widget class="QLabel" name="y_grid_label">
|
147
|
-
<property name="text">
|
148
|
-
<string>Grid</string>
|
149
|
-
</property>
|
150
|
-
</widget>
|
151
|
-
</item>
|
152
|
-
<item row="3" column="2">
|
153
|
-
<widget class="ToggleSwitch" name="y_log">
|
154
|
-
<property name="checked" stdset="0">
|
155
|
-
<bool>false</bool>
|
156
|
-
</property>
|
157
|
-
</widget>
|
158
|
-
</item>
|
159
|
-
<item row="4" column="2">
|
160
|
-
<widget class="ToggleSwitch" name="y_grid">
|
161
|
-
<property name="checked" stdset="0">
|
162
|
-
<bool>false</bool>
|
163
|
-
</property>
|
164
|
-
</widget>
|
165
|
-
</item>
|
166
|
-
<item row="1" column="2">
|
167
|
-
<widget class="BECSpinBox" name="y_min">
|
168
|
-
<property name="alignment">
|
169
|
-
<set>Qt::AlignmentFlag::AlignCenter</set>
|
170
|
-
</property>
|
171
|
-
<property name="buttonSymbols">
|
172
|
-
<enum>QAbstractSpinBox::ButtonSymbols::UpDownArrows</enum>
|
173
|
-
</property>
|
174
|
-
</widget>
|
175
|
-
</item>
|
176
|
-
<item row="2" column="2">
|
177
|
-
<widget class="BECSpinBox" name="y_max"/>
|
178
|
-
</item>
|
179
|
-
</layout>
|
180
|
-
</widget>
|
181
|
-
</item>
|
182
172
|
<item row="0" column="0" colspan="4">
|
183
173
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
184
174
|
<item>
|
@@ -191,8 +181,41 @@
|
|
191
181
|
<item>
|
192
182
|
<widget class="QLineEdit" name="title"/>
|
193
183
|
</item>
|
184
|
+
<item>
|
185
|
+
<widget class="QLabel" name="label_2">
|
186
|
+
<property name="text">
|
187
|
+
<string>Precision</string>
|
188
|
+
</property>
|
189
|
+
</widget>
|
190
|
+
</item>
|
191
|
+
<item>
|
192
|
+
<widget class="QSpinBox" name="minimal_crosshair_precision">
|
193
|
+
<property name="toolTip">
|
194
|
+
<string>Minimal Crosshair Precision</string>
|
195
|
+
</property>
|
196
|
+
<property name="alignment">
|
197
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
198
|
+
</property>
|
199
|
+
<property name="maximum">
|
200
|
+
<number>20</number>
|
201
|
+
</property>
|
202
|
+
<property name="value">
|
203
|
+
<number>3</number>
|
204
|
+
</property>
|
205
|
+
</widget>
|
206
|
+
</item>
|
194
207
|
</layout>
|
195
208
|
</item>
|
209
|
+
<item row="1" column="2">
|
210
|
+
<widget class="QLabel" name="label_outer_axes">
|
211
|
+
<property name="text">
|
212
|
+
<string>Outer Axes</string>
|
213
|
+
</property>
|
214
|
+
</widget>
|
215
|
+
</item>
|
216
|
+
<item row="1" column="1">
|
217
|
+
<widget class="ToggleSwitch" name="inner_axes"/>
|
218
|
+
</item>
|
196
219
|
</layout>
|
197
220
|
</widget>
|
198
221
|
<customwidgets>
|