bec-widgets 1.6.0__tar.gz → 1.8.0__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-1.6.0 → bec_widgets-1.8.0}/CHANGELOG.md +61 -59
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/PKG-INFO +1 -1
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/client.py +7 -1
- bec_widgets-1.8.0/bec_widgets/qt_utils/round_frame.py +177 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/toolbar.py +94 -6
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/console/console.py +140 -5
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/pyproject.toml +1 -1
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.git_hooks/pre-commit +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.gitignore +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.gitlab/issue_templates/bug_report_template.md +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.gitlab/issue_templates/documentation_update_template.md +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.gitlab/issue_templates/feature_request_template.md +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.gitlab/merge_request_templates/default.md +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.gitlab-ci.yml +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.pylintrc +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/.readthedocs.yaml +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/LICENSE +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/README.md +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/applications/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/applications/alignment/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/applications/alignment/alignment_1d/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/applications/bec_app.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/assets/app_icons/BEC-General-App.png +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/assets/app_icons/alignment_1d.png +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/auto_updates.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/client_utils.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/generate_cli.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/rpc_register.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/cli/server.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/general_app/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/general_app/general_app.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/general_app/general_app.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/general_app/web_links.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/compact_popup.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/error_popups.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/palette_viewer.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/qt_utils/settings_dialog.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/tests/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/tests/utils.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/bec_connector.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/bec_designer.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/bec_dispatcher.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/bec_signal_proxy.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/bec_table.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/bec_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/colors.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/container_utils.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/crosshair.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/entry_validator.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/filter_io.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/fps_counter.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/generate_designer_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/layout_manager.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/linear_region_selector.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/ophyd_kind_util.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/plot_indicator_items.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/plugin_templates/register.template +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/plugin_utils.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/reference_utils.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/rpc_decorator.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/thread_checker.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/ui_loader.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/validator_delegate.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/widget_io.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/utils/yaml_dialog.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/dock/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/dock/dock.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/dock/dock_area.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/dock/dock_area.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/dock/dock_area_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/dock/register_dock_area.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/figure.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/axis_settings.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/axis_settings.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/image/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/image/image.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/image/image_item.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/image/image_processor.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/motor_map/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/motor_map/motor_map.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/multi_waveform/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/multi_waveform/multi_waveform.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/plot_base.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/waveform/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/waveform/waveform.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/main_window/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/containers/main_window/main_window.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_abort/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_abort/abort_button.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_abort/abort_button_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_abort/button_abort.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_abort/register_abort_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_reset/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_reset/button_reset.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_reset/register_reset_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_reset/reset_button.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_reset/reset_button_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_resume/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_resume/button_resume.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_resume/register_resume_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_resume/resume_button.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/button_resume/resume_button_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/stop_button/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/stop_button/register_stop_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/stop_button/stop_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/stop_button/stop_button.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/buttons/stop_button/stop_button_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/position_indicator/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/position_indicator/register_position_indicator.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_group/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_control/positioner_group/register_positioner_group.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/base_classes/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_combobox/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_combobox/register_device_combo_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_line_edit/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_combobox/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combobox.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_line_edit/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/scan_control/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/scan_control/register_scan_control.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/scan_control/scan_control.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/scan_control/scan_control.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/scan_control/scan_control_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/control/scan_control/scan_group_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/dap_combo_box/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/console/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/console/console.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/console/console_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/console/register_console.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/jupyter_console/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/jupyter_console/jupyter_console.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/text_box/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/text_box/register_text_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/text_box/text_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/text_box/text_box.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/text_box/text_box_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/vscode/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/vscode/register_vs_code_editor.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/vscode/vs_code_editor.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/vscode/vs_code_editor_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/vscode/vscode.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/website/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/website/register_website_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/website/website.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/website/website_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/editors/website/website_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/image/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/image/bec_image_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/image/bec_image_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/image/image_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/image/register_bec_image_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/motor_map_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/motor_map/register_bec_motor_map_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/multi_waveform/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_controls.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/multi_waveform/register_bec_multi_waveform_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/bec_waveform_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/bec_waveform_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/register_bec_waveform_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_popups/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/plots/waveform/waveform_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/bec_progressbar/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/bec_progressbar/register_bec_progress_bar.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/ring_progress_bar/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/ring_progress_bar/register_ring_progress_bar.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/ring_progress_bar/ring.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_queue/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_queue/bec_queue.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_queue/bec_queue.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_queue/bec_queue_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_queue/register_bec_queue.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_status_box/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_status_box/bec_status_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_status_box/bec_status_box.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_status_box/bec_status_box_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_status_box/register_bec_status_box.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/bec_status_box/status_item.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/device_browser.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/device_browser.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/device_browser.ui +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/device_browser_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/device_item/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/device_item/device_item.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/services/device_browser/register_device_browser.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/spinner/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/spinner/register_spinner_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/spinner/spinner.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/spinner/spinner_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/spinner/spinner_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/toggle/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/toggle/register_toggle_switch.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/toggle/toggle.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/toggle/toggle_switch.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/toggle/toggle_switch_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/color_button/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/color_button/color_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/color_button/color_button.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/color_button/register_color_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_selector/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_selector/register_colormap_selector.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_widget/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/colormap_widget/register_bec_color_map_widget.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/dark_mode_button/__init__.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py +0 -0
- {bec_widgets-1.6.0 → bec_widgets-1.8.0}/bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py +0 -0
@@ -1,14 +1,51 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
-
## v1.
|
4
|
+
## v1.8.0 (2024-12-10)
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
- **modular_toolbar**: Material icons can be added/removed/hide/show/update dynamically
|
9
|
+
([`a55134c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a55134c3bfcbda6dc2d33a17cf5a83df8be3fa7f))
|
10
|
+
|
11
|
+
- **modular_toolbar**: Orientation setting
|
12
|
+
([`5fdb232`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5fdb2325ae970a7ecf4e2f4960710029891ab943))
|
13
|
+
|
14
|
+
- **round_frame**: Rounded frame for plot widgets and contrast adjustments
|
15
|
+
([`6a36ca5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6a36ca512d88f2b4fe916ac991e4f17ae0baffab))
|
16
|
+
|
17
|
+
### Testing
|
18
|
+
|
19
|
+
- **modular_toolbar**: Tests added
|
20
|
+
([`9370351`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9370351abbd7a151065ea9300c500d5bea8ee4f6))
|
21
|
+
|
22
|
+
|
23
|
+
## v1.7.0 (2024-12-02)
|
5
24
|
|
6
25
|
### Bug Fixes
|
7
26
|
|
8
|
-
- **tests**:
|
9
|
-
([`
|
27
|
+
- **tests**: Add test for Console widget
|
28
|
+
([`da579b6`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/da579b6d213bcdf28c40c1a9e4e2535fdde824fb))
|
10
29
|
|
11
|
-
|
30
|
+
### Features
|
31
|
+
|
32
|
+
- **console**: Add "prompt" signal to inform when shell is at prompt
|
33
|
+
([`3aeb0b6`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3aeb0b66fbeb03d3d0ee60e108cc6b98fd9aa9b9))
|
34
|
+
|
35
|
+
- **console**: Add 'terminate' and 'send_ctrl_c' methods to Console
|
36
|
+
([`02086ae`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/02086aeae09233ec4e6ccc0e6a17f2b078d500b8))
|
37
|
+
|
38
|
+
.terminate() ends the started process, sending SIGTERM signal. If process is not dead after optional
|
39
|
+
timeout, SIGKILL is sent. .send_ctrl_c() sends SIGINT to the child process, and waits for prompt
|
40
|
+
until optional timeout is reached. Timeouts raise 'TimeoutError' exception.
|
41
|
+
|
42
|
+
|
43
|
+
## v1.6.0 (2024-11-27)
|
44
|
+
|
45
|
+
### Bug Fixes
|
46
|
+
|
47
|
+
- Add back accidentally removed variables
|
48
|
+
([`e998352`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e9983521ed2a1c04af048a55ece70a1943a84313))
|
12
49
|
|
13
50
|
- Differentiate click and drag for DeviceItem, adapt tests accordingly
|
14
51
|
([`cffcdf2`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/cffcdf292363249bcc7efa9d130431d0bc727fda))
|
@@ -17,12 +54,6 @@ This fixes the blocking "QDrag.exec_()" on Linux, indeed before the drag'n'drop
|
|
17
54
|
started with a simple click and it was waiting for drop forever. Now there are 2 different cases,
|
18
55
|
click or drag'n'drop - the drag'n'drop test actually moves the mouse and releases the button.
|
19
56
|
|
20
|
-
- **server**: Use dock area by default
|
21
|
-
([`2fe7f5e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2fe7f5e1510a5ea72676045e6ea3485e6b11c220))
|
22
|
-
|
23
|
-
- **rpc**: Gui hide/show also hide/show all floating docks
|
24
|
-
([`c27d058`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c27d058b01fe604eccec76454e39360122e48515))
|
25
|
-
|
26
57
|
- Do not quit automatically when last window is "closed"
|
27
58
|
([`96e255e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/96e255e4ef394eb79006a66d13e06775ae235667))
|
28
59
|
|
@@ -31,8 +62,16 @@ Qt confuses closed and hidden
|
|
31
62
|
- No need to call inspect.signature - it can fail on methods coming from C (like Qt methods)
|
32
63
|
([`6029246`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/60292465e9e52d3248ae681c68c07298b9b3ce14))
|
33
64
|
|
34
|
-
-
|
35
|
-
([`
|
65
|
+
- **rpc**: Gui hide/show also hide/show all floating docks
|
66
|
+
([`c27d058`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c27d058b01fe604eccec76454e39360122e48515))
|
67
|
+
|
68
|
+
- **server**: Use dock area by default
|
69
|
+
([`2fe7f5e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2fe7f5e1510a5ea72676045e6ea3485e6b11c220))
|
70
|
+
|
71
|
+
- **tests**: Make use of BECDockArea with client mixin to start server and use it in tests
|
72
|
+
([`da18c2c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/da18c2ceecf9aeaf0e0ea9b78f4c867b27b9c314))
|
73
|
+
|
74
|
+
Depending on the test, auto-updates are enabled or not.
|
36
75
|
|
37
76
|
### Features
|
38
77
|
|
@@ -40,26 +79,26 @@ Qt confuses closed and hidden
|
|
40
79
|
BECDockArea
|
41
80
|
([`31d8703`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/31d87036c9801e639a7ca6fc003c90e0c4edb19d))
|
42
81
|
|
43
|
-
- Add
|
44
|
-
([`
|
45
|
-
|
46
|
-
- **client**: Add show()/hide() methods to "gui" object
|
47
|
-
([`e68e2b5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e68e2b5978339475b97555c3e20795807932fbc9))
|
48
|
-
|
49
|
-
- **server**: Add main window, with proper gui_id derived from given id
|
50
|
-
([`daf6ea0`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/daf6ea0159c9ffc7b53bb7ae6b9abc16a302972c))
|
82
|
+
- Add '--hide' argument to BEC GUI server
|
83
|
+
([`1f60fec`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1f60fec7201ed252d7e49bf16f2166ee7f6bed6a))
|
51
84
|
|
52
85
|
- Add main window container widget
|
53
86
|
([`f80ec33`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f80ec33ae5a261dbcab901ae30f4cc802316e554))
|
54
87
|
|
88
|
+
- Add rpc_id member to client objects
|
89
|
+
([`3ba0b1d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3ba0b1daf5b83da840e90fbbc063ed7b86ebe99b))
|
90
|
+
|
55
91
|
- Asynchronous .start() for GUI
|
56
92
|
([`2047e48`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2047e484d5a4b2f5ea494a1e49035b35b1bbde35))
|
57
93
|
|
58
94
|
- Do not take focus when GUI is loaded
|
59
95
|
([`1f71d8e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1f71d8e5eded9952f9b34bfc427e2ff44cf5fc18))
|
60
96
|
|
61
|
-
- Add
|
62
|
-
([`
|
97
|
+
- **client**: Add show()/hide() methods to "gui" object
|
98
|
+
([`e68e2b5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e68e2b5978339475b97555c3e20795807932fbc9))
|
99
|
+
|
100
|
+
- **server**: Add main window, with proper gui_id derived from given id
|
101
|
+
([`daf6ea0`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/daf6ea0159c9ffc7b53bb7ae6b9abc16a302972c))
|
63
102
|
|
64
103
|
|
65
104
|
## v1.5.3 (2024-11-21)
|
@@ -171,40 +210,3 @@ Qt confuses closed and hidden
|
|
171
210
|
|
172
211
|
- Pyside6 version fixed 6.7.2
|
173
212
|
([`c6e48ec`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c6e48ec1fe5aaee6a7c7a6f930f1520cd439cdb2))
|
174
|
-
|
175
|
-
|
176
|
-
## v1.3.1 (2024-10-31)
|
177
|
-
|
178
|
-
### Bug Fixes
|
179
|
-
|
180
|
-
- **ophyd_kind_util**: Kind enums are imported from the bec widget util class
|
181
|
-
([`940ee65`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/940ee6552c1ee8d9b4e4a74c62351f2e133ab678))
|
182
|
-
|
183
|
-
|
184
|
-
## v1.3.0 (2024-10-30)
|
185
|
-
|
186
|
-
### Bug Fixes
|
187
|
-
|
188
|
-
- **colors**: Extend color map validation for matplotlib and colorcet maps (if available)
|
189
|
-
([`14dd8c5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/14dd8c5b2947c92f6643b888d71975e4e8d4ee88))
|
190
|
-
|
191
|
-
### Features
|
192
|
-
|
193
|
-
- **colormap_button**: Colormap button with menu to select colormap filtered by the colormap type
|
194
|
-
([`b039933`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b039933405e2fbe92bd81bd0748e79e8d443a741))
|
195
|
-
|
196
|
-
|
197
|
-
## v1.2.0 (2024-10-25)
|
198
|
-
|
199
|
-
### Features
|
200
|
-
|
201
|
-
- **colors**: Evenly spaced color generation + new golden ratio calculation
|
202
|
-
([`40c9fea`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/40c9fea35f869ef52e05948dd1989bcd99f602e0))
|
203
|
-
|
204
|
-
### Refactoring
|
205
|
-
|
206
|
-
- Add bec_lib version to statusbox
|
207
|
-
([`5d4b86e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5d4b86e1c6e1800051afce4f991153e370767fa6))
|
208
|
-
|
209
|
-
|
210
|
-
## v1.1.0 (2024-10-25)
|
@@ -19,7 +19,6 @@ class Widgets(str, enum.Enum):
|
|
19
19
|
BECColorMapWidget = "BECColorMapWidget"
|
20
20
|
BECDockArea = "BECDockArea"
|
21
21
|
BECImageWidget = "BECImageWidget"
|
22
|
-
BECMainWindow = "BECMainWindow"
|
23
22
|
BECMotorMapWidget = "BECMotorMapWidget"
|
24
23
|
BECMultiWaveformWidget = "BECMultiWaveformWidget"
|
25
24
|
BECProgressBar = "BECProgressBar"
|
@@ -64,6 +63,13 @@ class AbortButton(RPCBase):
|
|
64
63
|
Get all registered RPC objects.
|
65
64
|
"""
|
66
65
|
|
66
|
+
@property
|
67
|
+
@rpc_call
|
68
|
+
def _rpc_id(self) -> "str":
|
69
|
+
"""
|
70
|
+
Get the RPC ID of the widget.
|
71
|
+
"""
|
72
|
+
|
67
73
|
|
68
74
|
class BECColorMapWidget(RPCBase):
|
69
75
|
@property
|
@@ -0,0 +1,177 @@
|
|
1
|
+
import pyqtgraph as pg
|
2
|
+
from qtpy.QtCore import Property
|
3
|
+
from qtpy.QtWidgets import QApplication, QFrame, QVBoxLayout, QWidget
|
4
|
+
|
5
|
+
from bec_widgets.utils.bec_widget import BECWidget
|
6
|
+
from bec_widgets.widgets.utility.visual.dark_mode_button.dark_mode_button import DarkModeButton
|
7
|
+
|
8
|
+
|
9
|
+
class RoundedFrame(BECWidget, QFrame):
|
10
|
+
"""
|
11
|
+
A custom QFrame with rounded corners and optional theme updates.
|
12
|
+
The frame can contain any QWidget, however it is mainly designed to wrap PlotWidgets to provide a consistent look and feel with other BEC Widgets.
|
13
|
+
"""
|
14
|
+
|
15
|
+
def __init__(
|
16
|
+
self,
|
17
|
+
parent=None,
|
18
|
+
content_widget: QWidget = None,
|
19
|
+
background_color: str = None,
|
20
|
+
theme_update: bool = True,
|
21
|
+
radius: int = 10,
|
22
|
+
**kwargs,
|
23
|
+
):
|
24
|
+
super().__init__(**kwargs)
|
25
|
+
QFrame.__init__(self, parent)
|
26
|
+
|
27
|
+
self.background_color = background_color
|
28
|
+
self.theme_update = theme_update if background_color is None else False
|
29
|
+
self._radius = radius
|
30
|
+
|
31
|
+
# Apply rounded frame styling
|
32
|
+
self.setObjectName("roundedFrame")
|
33
|
+
self.update_style()
|
34
|
+
|
35
|
+
# Create a layout for the frame
|
36
|
+
layout = QVBoxLayout(self)
|
37
|
+
layout.setContentsMargins(5, 5, 5, 5) # Set 5px margin
|
38
|
+
|
39
|
+
# Add the content widget to the layout
|
40
|
+
if content_widget:
|
41
|
+
layout.addWidget(content_widget)
|
42
|
+
|
43
|
+
# Store reference to the content widget
|
44
|
+
self.content_widget = content_widget
|
45
|
+
|
46
|
+
# Automatically apply initial styles to the PlotWidget if applicable
|
47
|
+
if isinstance(content_widget, pg.PlotWidget):
|
48
|
+
self.apply_plot_widget_style()
|
49
|
+
|
50
|
+
self._connect_to_theme_change()
|
51
|
+
|
52
|
+
def apply_theme(self, theme: str):
|
53
|
+
"""
|
54
|
+
Apply the theme to the frame and its content if theme updates are enabled.
|
55
|
+
"""
|
56
|
+
if not self.theme_update:
|
57
|
+
return
|
58
|
+
|
59
|
+
# Update background color based on the theme
|
60
|
+
if theme == "light":
|
61
|
+
self.background_color = "#e9ecef" # Subtle contrast for light mode
|
62
|
+
else:
|
63
|
+
self.background_color = "#141414" # Dark mode
|
64
|
+
|
65
|
+
self.update_style()
|
66
|
+
|
67
|
+
# Update PlotWidget's background color and axis styles if applicable
|
68
|
+
if isinstance(self.content_widget, pg.PlotWidget):
|
69
|
+
self.apply_plot_widget_style()
|
70
|
+
|
71
|
+
@Property(int)
|
72
|
+
def radius(self):
|
73
|
+
"""Radius of the rounded corners."""
|
74
|
+
return self._radius
|
75
|
+
|
76
|
+
@radius.setter
|
77
|
+
def radius(self, value: int):
|
78
|
+
self._radius = value
|
79
|
+
self.update_style()
|
80
|
+
|
81
|
+
def update_style(self):
|
82
|
+
"""
|
83
|
+
Update the style of the frame based on the background color.
|
84
|
+
"""
|
85
|
+
if self.background_color:
|
86
|
+
self.setStyleSheet(
|
87
|
+
f"""
|
88
|
+
QFrame#roundedFrame {{
|
89
|
+
background-color: {self.background_color};
|
90
|
+
border-radius: {self._radius}; /* Rounded corners */
|
91
|
+
}}
|
92
|
+
"""
|
93
|
+
)
|
94
|
+
|
95
|
+
def apply_plot_widget_style(self, border: str = "none"):
|
96
|
+
"""
|
97
|
+
Automatically apply background, border, and axis styles to the PlotWidget.
|
98
|
+
|
99
|
+
Args:
|
100
|
+
border (str): Border style (e.g., 'none', '1px solid red').
|
101
|
+
"""
|
102
|
+
if isinstance(self.content_widget, pg.PlotWidget):
|
103
|
+
# Sync PlotWidget's background color with the RoundedFrame's background color
|
104
|
+
self.content_widget.setBackground(self.background_color)
|
105
|
+
|
106
|
+
# Calculate contrast-optimized axis and label colors
|
107
|
+
if self.background_color == "#e9ecef": # Light mode
|
108
|
+
label_color = "#000000"
|
109
|
+
axis_color = "#666666"
|
110
|
+
else: # Dark mode
|
111
|
+
label_color = "#FFFFFF"
|
112
|
+
axis_color = "#CCCCCC"
|
113
|
+
|
114
|
+
# Apply axis label and tick colors
|
115
|
+
plot_item = self.content_widget.getPlotItem()
|
116
|
+
plot_item.getAxis("left").setPen(pg.mkPen(color=axis_color))
|
117
|
+
plot_item.getAxis("bottom").setPen(pg.mkPen(color=axis_color))
|
118
|
+
plot_item.getAxis("left").setTextPen(pg.mkPen(color=label_color))
|
119
|
+
plot_item.getAxis("bottom").setTextPen(pg.mkPen(color=label_color))
|
120
|
+
|
121
|
+
# Apply border style via stylesheet
|
122
|
+
self.content_widget.setStyleSheet(
|
123
|
+
f"""
|
124
|
+
PlotWidget {{
|
125
|
+
border: {border}; /* Explicitly set the border */
|
126
|
+
}}
|
127
|
+
"""
|
128
|
+
)
|
129
|
+
|
130
|
+
|
131
|
+
class ExampleApp(QWidget): # pragma: no cover
|
132
|
+
def __init__(self):
|
133
|
+
super().__init__()
|
134
|
+
self.setWindowTitle("Rounded Plots Example")
|
135
|
+
|
136
|
+
# Main layout
|
137
|
+
layout = QVBoxLayout(self)
|
138
|
+
|
139
|
+
dark_button = DarkModeButton()
|
140
|
+
|
141
|
+
# Create PlotWidgets
|
142
|
+
plot1 = pg.PlotWidget()
|
143
|
+
plot1.plot([1, 3, 2, 4, 6, 5], pen="r")
|
144
|
+
|
145
|
+
plot2 = pg.PlotWidget()
|
146
|
+
plot2.plot([1, 2, 4, 8, 16, 32], pen="r")
|
147
|
+
|
148
|
+
# Wrap PlotWidgets in RoundedFrame
|
149
|
+
rounded_plot1 = RoundedFrame(content_widget=plot1, theme_update=True)
|
150
|
+
rounded_plot2 = RoundedFrame(content_widget=plot2, theme_update=True)
|
151
|
+
round = RoundedFrame()
|
152
|
+
|
153
|
+
# Add to layout
|
154
|
+
layout.addWidget(dark_button)
|
155
|
+
layout.addWidget(rounded_plot1)
|
156
|
+
layout.addWidget(rounded_plot2)
|
157
|
+
layout.addWidget(round)
|
158
|
+
|
159
|
+
self.setLayout(layout)
|
160
|
+
|
161
|
+
# Simulate theme change after 2 seconds
|
162
|
+
from qtpy.QtCore import QTimer
|
163
|
+
|
164
|
+
def change_theme():
|
165
|
+
rounded_plot1.apply_theme("light")
|
166
|
+
rounded_plot2.apply_theme("dark")
|
167
|
+
|
168
|
+
QTimer.singleShot(100, change_theme)
|
169
|
+
|
170
|
+
|
171
|
+
if __name__ == "__main__": # pragma: no cover
|
172
|
+
app = QApplication([])
|
173
|
+
|
174
|
+
window = ExampleApp()
|
175
|
+
window.show()
|
176
|
+
|
177
|
+
app.exec()
|
@@ -261,17 +261,31 @@ class ExpandableMenuAction(ToolBarAction):
|
|
261
261
|
|
262
262
|
class ModularToolBar(QToolBar):
|
263
263
|
"""Modular toolbar with optional automatic initialization.
|
264
|
+
|
264
265
|
Args:
|
265
266
|
parent (QWidget, optional): The parent widget of the toolbar. Defaults to None.
|
266
|
-
actions (
|
267
|
+
actions (dict, optional): A dictionary of action creators to populate the toolbar. Defaults to None.
|
267
268
|
target_widget (QWidget, optional): The widget that the actions will target. Defaults to None.
|
269
|
+
orientation (Literal["horizontal", "vertical"], optional): The initial orientation of the toolbar. Defaults to "horizontal".
|
270
|
+
background_color (str, optional): The background color of the toolbar. Defaults to "rgba(0, 0, 0, 0)" - transparent background.
|
268
271
|
"""
|
269
272
|
|
270
|
-
def __init__(
|
273
|
+
def __init__(
|
274
|
+
self,
|
275
|
+
parent=None,
|
276
|
+
actions: dict | None = None,
|
277
|
+
target_widget=None,
|
278
|
+
orientation: Literal["horizontal", "vertical"] = "horizontal",
|
279
|
+
background_color: str = "rgba(0, 0, 0, 0)",
|
280
|
+
):
|
271
281
|
super().__init__(parent)
|
272
282
|
|
273
283
|
self.widgets = defaultdict(dict)
|
274
|
-
self.
|
284
|
+
self.background_color = background_color
|
285
|
+
self.set_background_color(self.background_color)
|
286
|
+
|
287
|
+
# Set the initial orientation
|
288
|
+
self.set_orientation(orientation)
|
275
289
|
|
276
290
|
if actions is not None and target_widget is not None:
|
277
291
|
self.populate_toolbar(actions, target_widget)
|
@@ -280,7 +294,7 @@ class ModularToolBar(QToolBar):
|
|
280
294
|
"""Populates the toolbar with a set of actions.
|
281
295
|
|
282
296
|
Args:
|
283
|
-
actions (
|
297
|
+
actions (dict): A dictionary of action creators to populate the toolbar.
|
284
298
|
target_widget (QWidget): The widget that the actions will target.
|
285
299
|
"""
|
286
300
|
self.clear()
|
@@ -288,9 +302,83 @@ class ModularToolBar(QToolBar):
|
|
288
302
|
action.add_to_toolbar(self, target_widget)
|
289
303
|
self.widgets[action_id] = action
|
290
304
|
|
291
|
-
def set_background_color(self):
|
305
|
+
def set_background_color(self, color: str = "rgba(0, 0, 0, 0)"):
|
306
|
+
"""
|
307
|
+
Sets the background color and other appearance settings.
|
308
|
+
|
309
|
+
Args:
|
310
|
+
color(str): The background color of the toolbar.
|
311
|
+
"""
|
292
312
|
self.setIconSize(QSize(20, 20))
|
293
313
|
self.setMovable(False)
|
294
314
|
self.setFloatable(False)
|
295
315
|
self.setContentsMargins(0, 0, 0, 0)
|
296
|
-
self.
|
316
|
+
self.background_color = color
|
317
|
+
self.setStyleSheet(f"QToolBar {{ background-color: {color}; border: none; }}")
|
318
|
+
|
319
|
+
def set_orientation(self, orientation: Literal["horizontal", "vertical"]):
|
320
|
+
"""Sets the orientation of the toolbar.
|
321
|
+
|
322
|
+
Args:
|
323
|
+
orientation (Literal["horizontal", "vertical"]): The desired orientation of the toolbar.
|
324
|
+
"""
|
325
|
+
if orientation == "horizontal":
|
326
|
+
self.setOrientation(Qt.Horizontal)
|
327
|
+
elif orientation == "vertical":
|
328
|
+
self.setOrientation(Qt.Vertical)
|
329
|
+
else:
|
330
|
+
raise ValueError("Orientation must be 'horizontal' or 'vertical'.")
|
331
|
+
|
332
|
+
def update_material_icon_colors(self, new_color: str | tuple | QColor):
|
333
|
+
"""
|
334
|
+
Updates the color of all MaterialIconAction icons in the toolbar.
|
335
|
+
|
336
|
+
Args:
|
337
|
+
new_color (str | tuple | QColor): The new color for the icons.
|
338
|
+
"""
|
339
|
+
for action in self.widgets.values():
|
340
|
+
if isinstance(action, MaterialIconAction):
|
341
|
+
action.color = new_color
|
342
|
+
# Refresh the icon
|
343
|
+
updated_icon = action.get_icon()
|
344
|
+
action.action.setIcon(updated_icon)
|
345
|
+
|
346
|
+
def add_action(self, action_id: str, action: ToolBarAction, target_widget: QWidget):
|
347
|
+
"""
|
348
|
+
Adds a new action to the toolbar dynamically.
|
349
|
+
|
350
|
+
Args:
|
351
|
+
action_id (str): Unique identifier for the action.
|
352
|
+
action (ToolBarAction): The action to add to the toolbar.
|
353
|
+
target_widget (QWidget): The target widget for the action.
|
354
|
+
"""
|
355
|
+
if action_id in self.widgets:
|
356
|
+
raise ValueError(f"Action with ID '{action_id}' already exists.")
|
357
|
+
action.add_to_toolbar(self, target_widget)
|
358
|
+
self.widgets[action_id] = action
|
359
|
+
|
360
|
+
def hide_action(self, action_id: str):
|
361
|
+
"""
|
362
|
+
Hides a specific action on the toolbar.
|
363
|
+
|
364
|
+
Args:
|
365
|
+
action_id (str): Unique identifier for the action to hide.
|
366
|
+
"""
|
367
|
+
if action_id not in self.widgets:
|
368
|
+
raise ValueError(f"Action with ID '{action_id}' does not exist.")
|
369
|
+
action = self.widgets[action_id]
|
370
|
+
if hasattr(action, "action") and isinstance(action.action, QAction):
|
371
|
+
action.action.setVisible(False)
|
372
|
+
|
373
|
+
def show_action(self, action_id: str):
|
374
|
+
"""
|
375
|
+
Shows a specific action on the toolbar.
|
376
|
+
|
377
|
+
Args:
|
378
|
+
action_id (str): Unique identifier for the action to show.
|
379
|
+
"""
|
380
|
+
if action_id not in self.widgets:
|
381
|
+
raise ValueError(f"Action with ID '{action_id}' does not exist.")
|
382
|
+
action = self.widgets[action_id]
|
383
|
+
if hasattr(action, "action") and isinstance(action.action, QAction):
|
384
|
+
action.action.setVisible(True)
|