bec-widgets 0.94.6__tar.gz → 0.95.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-0.94.6 → bec_widgets-0.95.0}/CHANGELOG.md +36 -40
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/PKG-INFO +1 -1
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/client.py +19 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/client_utils.py +1 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/server.py +5 -5
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser.py +107 -0
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser.pyproject +1 -0
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser.ui +44 -0
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser_plugin.py +54 -0
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_item/__init__.py +1 -0
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_item/device_item.py +53 -0
- bec_widgets-0.95.0/bec_widgets/widgets/device_browser/register_device_browser.py +15 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/_static/custom.css +10 -10
- bec_widgets-0.95.0/docs/assets/widget_screenshots/buttons.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/device_box.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/device_browser.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/device_inputs.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/dock_area.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/figure.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/image_widget.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/motor_map_widget.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/position_indicator.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/queue.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/scan_controller.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/spinner.gif +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/status_box.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/text_box.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/toggle.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/waveform_widget.png +0 -0
- bec_widgets-0.95.0/docs/assets/widget_screenshots/website.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/conf.py +1 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/developer/developer.md +2 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/index.md +4 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/requirements.txt +1 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/user.md +4 -0
- bec_widgets-0.95.0/docs/user/widgets/bec_figure/bec_figure.md +105 -0
- bec_widgets-0.95.0/docs/user/widgets/bec_status_box/bec_status_box.md +38 -0
- bec_widgets-0.95.0/docs/user/widgets/buttons/buttons.md +50 -0
- bec_widgets-0.95.0/docs/user/widgets/device_browser/device_browser.md +36 -0
- bec_widgets-0.95.0/docs/user/widgets/device_browser/device_browser.png +0 -0
- bec_widgets-0.95.0/docs/user/widgets/device_input/device_input.md +100 -0
- bec_widgets-0.95.0/docs/user/widgets/dock_area/BECDockArea.png +0 -0
- bec_widgets-0.95.0/docs/user/widgets/dock_area/bec_dock_area.md +107 -0
- bec_widgets-0.95.0/docs/user/widgets/image/image_widget.md +84 -0
- bec_widgets-0.95.0/docs/user/widgets/motor_map/motor_map.md +80 -0
- bec_widgets-0.95.0/docs/user/widgets/position_indicator/position_indicator.md +76 -0
- bec_widgets-0.95.0/docs/user/widgets/positioner_box/positioner_box.md +63 -0
- bec_widgets-0.95.0/docs/user/widgets/progress_bar/ring_progress_bar.md +103 -0
- bec_widgets-0.95.0/docs/user/widgets/queue/queue.md +41 -0
- bec_widgets-0.95.0/docs/user/widgets/scan_control/scan_control.md +46 -0
- bec_widgets-0.95.0/docs/user/widgets/spinner/spinner.md +75 -0
- bec_widgets-0.95.0/docs/user/widgets/text_box/text_box.md +74 -0
- bec_widgets-0.95.0/docs/user/widgets/toggle/toggle.md +66 -0
- bec_widgets-0.95.0/docs/user/widgets/waveform/waveform_widget.md +132 -0
- bec_widgets-0.95.0/docs/user/widgets/website/website.md +69 -0
- bec_widgets-0.95.0/docs/user/widgets/widgets.md +220 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/pyproject.toml +1 -1
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/client_mocks.py +14 -0
- bec_widgets-0.95.0/tests/unit_tests/test_device_browser.py +83 -0
- bec_widgets-0.95.0/tests/unit_tests/test_msgs/__init__.py +0 -0
- bec_widgets-0.94.6/docs/user/widgets/bec_figure.md +0 -146
- bec_widgets-0.94.6/docs/user/widgets/bec_status_box.md +0 -30
- bec_widgets-0.94.6/docs/user/widgets/buttons.md +0 -37
- bec_widgets-0.94.6/docs/user/widgets/ring_progress_bar.md +0 -54
- bec_widgets-0.94.6/docs/user/widgets/scan_control.md +0 -35
- bec_widgets-0.94.6/docs/user/widgets/text_box.md +0 -33
- bec_widgets-0.94.6/docs/user/widgets/website.md +0 -21
- bec_widgets-0.94.6/docs/user/widgets/widgets.md +0 -20
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.git_hooks/pre-commit +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.gitignore +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.gitlab/issue_templates/bug_report_template.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.gitlab/issue_templates/documentation_update_template.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.gitlab/issue_templates/feature_request_template.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.gitlab/merge_request_templates/default.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.gitlab-ci.yml +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.pylintrc +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/.readthedocs.yaml +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/LICENSE +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/README.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/app_icons/BEC-Dark.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/app_icons/terminal_icon.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/code.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/color_button.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/device_combo_box.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/device_line_edit.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/dock_area.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/games.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/image.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/motor_map.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/position_indicator.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/positioner_box.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/queue.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/ring_progress.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/scan_control.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/spinner.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/status.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/stop.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/text.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/toggle.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/waveform.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/web.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/error.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/not_connected.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/refresh.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/running.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/warning.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/add.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/attach_all.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/auto_range.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/compare.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/connection.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/device_line_edit.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/export.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/fft.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/fitting_parameters.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/history.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/image.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/image_autorange.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/import.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/line_axis.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/line_curve.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/lock_aspect_ratio.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/log_scale.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/motor_map.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/photo_library.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/positioner_box.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/progress.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/queue.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/rectangle_mode.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/remove.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/reset_settings.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/restore_state.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/ring_progress.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/rotate_left.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/rotate_right.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/save.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/save_state.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/scan_control.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/settings.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/status.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/terminal.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/transform.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/waveform.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/auto_updates.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/generate_cli.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/rpc_register.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/general_app.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/general_app.ui +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/web_links.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/qt_utils/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/qt_utils/error_popups.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/qt_utils/settings_dialog.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/qt_utils/toolbar.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/bec_connector.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/bec_designer.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/bec_dispatcher.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/bec_table.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/bec_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/colors.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/container_utils.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/crosshair.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/entry_validator.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/generate_designer_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/layout_manager.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/plugin_templates/register.template +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/plugin_utils.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/reference_utils.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/rpc_decorator.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/thread_checker.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/ui_loader.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/validator_delegate.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/widget_io.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/utils/yaml_dialog.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/base_classes/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/base_classes/device_input_base.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/bec_queue.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/bec_queue.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/bec_queue_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/register_bec_queue.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/bec_status_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/bec_status_box.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/register_bec_status_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/status_item.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/color_button.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/color_button.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/color_button_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/register_color_button.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/colormap_selector.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/colormap_selector.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/register_colormap_selector.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/console/console.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/device_combobox → bec_widgets-0.95.0/bec_widgets/widgets/device_browser}/__init__.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/device_line_edit → bec_widgets-0.95.0/bec_widgets/widgets/device_combobox}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/device_combo_box.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/device_combobox.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/register_device_combo_box.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/figure/plots → bec_widgets-0.95.0/bec_widgets/widgets/device_line_edit}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/device_line_edit.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/register_device_line_edit.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock_area.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock_area.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock_area_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/register_dock_area.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/figure.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/figure/plots/image → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/axis_settings.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/axis_settings.ui +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/figure/plots/motor_map → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots/image}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/figure/plots/waveform → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots/motor_map}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/plot_base.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/image → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots/waveform}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/jupyter_console → bec_widgets-0.95.0/bec_widgets/widgets/image}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/image/bec_image_widget.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/image/bec_image_widget_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/image/image_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/image/register_bec_image_widget.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/motor_map → bec_widgets-0.95.0/bec_widgets/widgets/jupyter_console}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/motor_map/motor_map_dialog → bec_widgets-0.95.0/bec_widgets/widgets/motor_map}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/position_indicator → bec_widgets-0.95.0/bec_widgets/widgets/motor_map/motor_map_dialog}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/motor_map_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/positioner_box → bec_widgets-0.95.0/bec_widgets/widgets/position_indicator}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/position_indicator.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/position_indicator.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/position_indicator_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/register_position_indicator.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/spinner → bec_widgets-0.95.0/bec_widgets/widgets/positioner_box}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box.ui +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line.ui +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/register_positioner_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/register_positioner_control_line.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/register_ring_progress_bar.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/register_scan_control.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_control.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_control_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_group_box.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/stop_button → bec_widgets-0.95.0/bec_widgets/widgets/spinner}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/register_spinner_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/spinner.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/spinner_widget.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/spinner_widget_plugin.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/text_box → bec_widgets-0.95.0/bec_widgets/widgets/stop_button}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/register_stop_button.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/stop_button.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/stop_button.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/stop_button_plugin.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/toggle → bec_widgets-0.95.0/bec_widgets/widgets/text_box}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/register_text_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/text_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/text_box.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/text_box_plugin.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/vscode → bec_widgets-0.95.0/bec_widgets/widgets/toggle}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/register_toggle_switch.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/toggle.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/toggle_switch.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/toggle_switch_plugin.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/waveform → bec_widgets-0.95.0/bec_widgets/widgets/vscode}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/register_vs_code_editor.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/vs_code_editor.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/vs_code_editor_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/vscode.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/waveform/waveform_popups → bec_widgets-0.95.0/bec_widgets/widgets/waveform}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/bec_waveform_widget.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/register_bec_waveform_widget.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/waveform/waveform_popups/curve_dialog → bec_widgets-0.95.0/bec_widgets/widgets/waveform/waveform_popups}/__init__.py +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog → bec_widgets-0.95.0/bec_widgets/widgets/waveform/waveform_popups/curve_dialog}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
- {bec_widgets-0.94.6/bec_widgets/widgets/website → bec_widgets-0.95.0/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary.ui +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_widget.py +0 -0
- {bec_widgets-0.94.6/tests → bec_widgets-0.95.0/bec_widgets/widgets/website}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/website/register_website_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/website/website.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/website/website_widget.pyproject +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/bec_widgets/widgets/website/website_widget_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/Makefile +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/_templates/custom-class-template.rst +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/_templates/custom-module-template.rst +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/api_reference/api_reference.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/apps_48dp.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/display_settings_48dp.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/index_api.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/index_contribute.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/index_getting_started.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/index_user_guide.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/assets/rocket_launch_48dp.svg +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/developer/introduction/concepts.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/developer/introduction/contributing.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/developer/introduction/introduction.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/developer/widget_development/widget_development.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/introduction/introduction.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/make.bat +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/api_reference/api_reference.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/applications/applications.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/customisation.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/BECDockArea.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/auto_updates.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/getting_started.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/gui_complex_gui.gif +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/installation.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/quick_start.md +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/docs/user/getting_started/video_tutorials.md +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/bec_figure}/BECFigure.png +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/bec_status_box}/bec_status_box.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/image}/image_plot.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/motor_map}/motor.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/progress_bar}/progress_bar.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/scan_control}/scan_control.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/waveform}/bec_figure_dap.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/waveform}/scatter_2D.gif +0 -0
- {bec_widgets-0.94.6/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/waveform}/w1D.gif +0 -0
- {bec_widgets-0.94.6/tests/end-2-end → bec_widgets-0.95.0/tests}/__init__.py +0 -0
- {bec_widgets-0.94.6/tests/unit_tests → bec_widgets-0.95.0/tests/end-2-end}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/end-2-end/conftest.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/end-2-end/test_scan_control_e2e.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
- {bec_widgets-0.94.6/tests/unit_tests/test_msgs → bec_widgets-0.95.0/tests/unit_tests}/__init__.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/conftest.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_connector.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_dispatcher.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_dock.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_figure.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_image.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_image_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_motor_map.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_queue.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_status_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_client_utils.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_color_map_selector.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_color_validation.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_configs/config_device.yaml +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_crosshair.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_device_input_base.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_device_input_widgets.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_error_utils.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_generate_cli_client.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_generate_plugin.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_motor_map_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_plot_base.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_plugin_utils.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_positioner_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_ring_progress_bar.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_rpc_register.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_rpc_server.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_rpc_widget_handler.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_scan_control.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_scan_control_group_box.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_setting_dialog.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_spinner.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_stop_button.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_text_box_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_toggle.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_vscode_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_waveform1d.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_waveform_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_website_widget.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_widget_io.py +0 -0
- {bec_widgets-0.94.6 → bec_widgets-0.95.0}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -1,5 +1,41 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.95.0 (2024-08-21)
|
4
|
+
|
5
|
+
### Documentation
|
6
|
+
|
7
|
+
* docs(device_browser): added user docs ([`2c31cc9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2c31cc90ae751f14a653cbbdd6c353d6359aaafe))
|
8
|
+
|
9
|
+
* docs(user): widget gallery with documentation added ([`7357f3d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7357f3d2a189f9f04954a027f39ce07c394d57ec))
|
10
|
+
|
11
|
+
* docs: added sphinx-inline-tabs as sphinx dependency ([`e9ecd26`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e9ecd268c602ea9572df0e8d508e49ee62d0c170))
|
12
|
+
|
13
|
+
* docs(cards): changed index cards to custom css class instead of overwriting the default sd-card theme ([`91ba30e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/91ba30e8d054a9c7f6c6d98b21113a5d0b1bbbbb))
|
14
|
+
|
15
|
+
### Feature
|
16
|
+
|
17
|
+
* feat(cli): added device_browser to cli ([`196504b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/196504b533367a899c19b88af4ccd5b39dc46aac))
|
18
|
+
|
19
|
+
* feat(widgets): added device_browser widget ([`73f5a2f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/73f5a2f085b289ac18fa8a918b6ad7cfed595fb4))
|
20
|
+
|
21
|
+
### Fix
|
22
|
+
|
23
|
+
* fix(device_browser): fixed plugin assignment for designer ([`6500393`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/650039303aae9bbec62c676285938416fff146ce))
|
24
|
+
|
25
|
+
### Refactor
|
26
|
+
|
27
|
+
* refactor(docs): review response ([`4790afd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4790afde3d61fc9beb073c2775c339d4f80779e3))
|
28
|
+
|
29
|
+
### Test
|
30
|
+
|
31
|
+
* test: added test for device browser ([`e870e5b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e870e5ba083c61df581c9c0305adabe72967f997))
|
32
|
+
|
33
|
+
## v0.94.7 (2024-08-20)
|
34
|
+
|
35
|
+
### Fix
|
36
|
+
|
37
|
+
* fix: formatting of stdout, stderr captured text for logger ([`939f834`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/939f834a26ddbac0bdead0b60b1cdf52014f182f))
|
38
|
+
|
3
39
|
## v0.94.6 (2024-08-14)
|
4
40
|
|
5
41
|
### Fix
|
@@ -115,43 +151,3 @@ Terminating client connections has to be done at the application level ([`198c1d
|
|
115
151
|
* test: ensure all toplevelwidgets are closed ([`f9e5897`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f9e58979009cf632feea529700ad191401dd7eb8))
|
116
152
|
|
117
153
|
## v0.93.2 (2024-08-07)
|
118
|
-
|
119
|
-
### Fix
|
120
|
-
|
121
|
-
* fix(scan_group_box): Scan Spinboxes limits increased to max allowed values; setting dialog for step size and decimal precision for ScanDoubleSpinBox on right click ([`a372925`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a372925fffa787c686198ae7cb3f9c15b459c109))
|
122
|
-
|
123
|
-
## v0.93.1 (2024-08-06)
|
124
|
-
|
125
|
-
### Documentation
|
126
|
-
|
127
|
-
* docs: added video tutorial section with BSEG YT video ([`302ae90`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/302ae90139f6a88e2401fe29fe312387486e27a9))
|
128
|
-
|
129
|
-
### Fix
|
130
|
-
|
131
|
-
* fix(dock): docks have more recognizable red icon for closing docks ([`af86860`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/af86860bf35474805fb1a7bc3725cf8835ed4cc7))
|
132
|
-
|
133
|
-
## v0.93.0 (2024-08-05)
|
134
|
-
|
135
|
-
### Feature
|
136
|
-
|
137
|
-
* feat(themes): moved themes to bec_qthemes
|
138
|
-
|
139
|
-
This reverts commit fd6ae91993a23a7b8dbb2cf3c4b7c3eda6d2b0f6 ([`5aad401`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5aad401ef8774c7330784f72cd3b9d8c253e2b6a))
|
140
|
-
|
141
|
-
## v0.92.5 (2024-08-05)
|
142
|
-
|
143
|
-
### Fix
|
144
|
-
|
145
|
-
* fix(spinner): stop timer on close event ([`30fef92`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/30fef929cf6fb4b73f48151c92a0ee54c734031d))
|
146
|
-
|
147
|
-
* fix(status_box): fix cleanup of status box ([`1f30dd7`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1f30dd73a9c1e3135087a5eef92c7329f54a604e))
|
148
|
-
|
149
|
-
### Refactor
|
150
|
-
|
151
|
-
* refactor(queue): refactored bec queue to inherit only from qwidget ([`7616ca0`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7616ca0e145e233ccb48029a8c0b54b54b5b4194))
|
152
|
-
|
153
|
-
### Test
|
154
|
-
|
155
|
-
* test: register all widgets with qtbot and close them ([`73cd11e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/73cd11e47277e4437554b785a9551b28a572094f))
|
156
|
-
|
157
|
-
## v0.92.4 (2024-07-31)
|
@@ -21,6 +21,7 @@ class Widgets(str, enum.Enum):
|
|
21
21
|
BECQueue = "BECQueue"
|
22
22
|
BECStatusBox = "BECStatusBox"
|
23
23
|
BECWaveformWidget = "BECWaveformWidget"
|
24
|
+
DeviceBrowser = "DeviceBrowser"
|
24
25
|
DeviceComboBox = "DeviceComboBox"
|
25
26
|
DeviceLineEdit = "DeviceLineEdit"
|
26
27
|
PositionerBox = "PositionerBox"
|
@@ -2288,6 +2289,24 @@ class BECWaveformWidget(RPCBase):
|
|
2288
2289
|
"""
|
2289
2290
|
|
2290
2291
|
|
2292
|
+
class DeviceBrowser(RPCBase):
|
2293
|
+
@property
|
2294
|
+
@rpc_call
|
2295
|
+
def _config_dict(self) -> "dict":
|
2296
|
+
"""
|
2297
|
+
Get the configuration of the widget.
|
2298
|
+
|
2299
|
+
Returns:
|
2300
|
+
dict: The configuration of the widget.
|
2301
|
+
"""
|
2302
|
+
|
2303
|
+
@rpc_call
|
2304
|
+
def _get_all_rpc(self) -> "dict":
|
2305
|
+
"""
|
2306
|
+
Get all registered RPC objects.
|
2307
|
+
"""
|
2308
|
+
|
2309
|
+
|
2291
2310
|
class DeviceComboBox(RPCBase):
|
2292
2311
|
@property
|
2293
2312
|
@rpc_call
|
@@ -100,6 +100,7 @@ def _start_plot_process(gui_id: str, gui_class: type, config: dict | str, logger
|
|
100
100
|
|
101
101
|
env_dict = os.environ.copy()
|
102
102
|
env_dict["PYTHONUNBUFFERED"] = "1"
|
103
|
+
|
103
104
|
if logger is None:
|
104
105
|
stdout_redirect = subprocess.DEVNULL
|
105
106
|
stderr_redirect = subprocess.DEVNULL
|
@@ -130,15 +130,15 @@ class BECWidgetsCLIServer:
|
|
130
130
|
class SimpleFileLikeFromLogOutputFunc:
|
131
131
|
def __init__(self, log_func):
|
132
132
|
self._log_func = log_func
|
133
|
+
self._buffer = []
|
133
134
|
|
134
135
|
def write(self, buffer):
|
135
|
-
|
136
|
-
line = line.rstrip()
|
137
|
-
if line:
|
138
|
-
self._log_func(line)
|
136
|
+
self._buffer.append(buffer)
|
139
137
|
|
140
138
|
def flush(self):
|
141
|
-
|
139
|
+
lines, _, remaining = "".join(self._buffer).rpartition("\n")
|
140
|
+
self._log_func(lines)
|
141
|
+
self._buffer = [remaining]
|
142
142
|
|
143
143
|
def close(self):
|
144
144
|
return
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import os
|
2
|
+
import re
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from bec_lib.callback_handler import EventType
|
6
|
+
from pyqtgraph import SignalProxy
|
7
|
+
from qtpy.QtCore import Signal, Slot
|
8
|
+
from qtpy.QtWidgets import QLineEdit, QListWidgetItem, QVBoxLayout, QWidget
|
9
|
+
|
10
|
+
from bec_widgets.utils.bec_widget import BECWidget
|
11
|
+
from bec_widgets.utils.ui_loader import UILoader
|
12
|
+
from bec_widgets.widgets.device_browser.device_item import DeviceItem
|
13
|
+
|
14
|
+
|
15
|
+
class DeviceBrowser(BECWidget, QWidget):
|
16
|
+
device_update: Signal = Signal()
|
17
|
+
|
18
|
+
def __init__(
|
19
|
+
self,
|
20
|
+
parent: Optional[QWidget] = None,
|
21
|
+
config=None,
|
22
|
+
client=None,
|
23
|
+
gui_id: Optional[str] = None,
|
24
|
+
) -> None:
|
25
|
+
super().__init__(client=client, config=config, gui_id=gui_id)
|
26
|
+
QWidget.__init__(self, parent)
|
27
|
+
|
28
|
+
self.get_bec_shortcuts()
|
29
|
+
self.ui = None
|
30
|
+
self.ini_ui()
|
31
|
+
|
32
|
+
self.proxy_device_update = SignalProxy(
|
33
|
+
self.ui.filter_input.textChanged, rateLimit=500, slot=self.update_device_list
|
34
|
+
)
|
35
|
+
self.bec_dispatcher.client.callbacks.register(
|
36
|
+
EventType.DEVICE_UPDATE, self.on_device_update
|
37
|
+
)
|
38
|
+
self.device_update.connect(self.update_device_list)
|
39
|
+
|
40
|
+
self.update_device_list()
|
41
|
+
|
42
|
+
def ini_ui(self) -> None:
|
43
|
+
"""
|
44
|
+
Initialize the UI by loading the UI file and setting the layout.
|
45
|
+
"""
|
46
|
+
layout = QVBoxLayout()
|
47
|
+
layout.setContentsMargins(0, 0, 0, 0)
|
48
|
+
|
49
|
+
ui_file_path = os.path.join(os.path.dirname(__file__), "device_browser.ui")
|
50
|
+
self.ui = UILoader(self).loader(ui_file_path)
|
51
|
+
layout.addWidget(self.ui)
|
52
|
+
self.setLayout(layout)
|
53
|
+
|
54
|
+
def on_device_update(self, action: str, content: dict) -> None:
|
55
|
+
"""
|
56
|
+
Callback for device update events. Triggers the device_update signal.
|
57
|
+
|
58
|
+
Args:
|
59
|
+
action (str): The action that triggered the event.
|
60
|
+
content (dict): The content of the config update.
|
61
|
+
"""
|
62
|
+
if action in ["add", "remove", "reload"]:
|
63
|
+
self.device_update.emit()
|
64
|
+
|
65
|
+
@Slot()
|
66
|
+
def update_device_list(self) -> None:
|
67
|
+
"""
|
68
|
+
Update the device list based on the filter input.
|
69
|
+
There are two ways to trigger this function:
|
70
|
+
1. By changing the text in the filter input.
|
71
|
+
2. By emitting the device_update signal.
|
72
|
+
|
73
|
+
Either way, the function will filter the devices based on the filter input text and update the device list.
|
74
|
+
"""
|
75
|
+
filter_text = self.ui.filter_input.text()
|
76
|
+
try:
|
77
|
+
regex = re.compile(filter_text, re.IGNORECASE)
|
78
|
+
except re.error:
|
79
|
+
regex = None # Invalid regex, disable filtering
|
80
|
+
|
81
|
+
dev_list = self.ui.device_list
|
82
|
+
dev_list.clear()
|
83
|
+
for device in self.dev:
|
84
|
+
if regex is None or regex.search(device):
|
85
|
+
item = QListWidgetItem(dev_list)
|
86
|
+
device_item = DeviceItem(device)
|
87
|
+
|
88
|
+
# pylint: disable=protected-access
|
89
|
+
tooltip = self.dev[device]._config.get("description", "")
|
90
|
+
device_item.setToolTip(tooltip)
|
91
|
+
item.setSizeHint(device_item.sizeHint())
|
92
|
+
dev_list.setItemWidget(item, device_item)
|
93
|
+
dev_list.addItem(item)
|
94
|
+
|
95
|
+
|
96
|
+
if __name__ == "__main__": # pragma: no cover
|
97
|
+
import sys
|
98
|
+
|
99
|
+
from qtpy.QtWidgets import QApplication
|
100
|
+
|
101
|
+
from bec_widgets.utils.colors import apply_theme
|
102
|
+
|
103
|
+
app = QApplication(sys.argv)
|
104
|
+
apply_theme("light")
|
105
|
+
widget = DeviceBrowser()
|
106
|
+
widget.show()
|
107
|
+
sys.exit(app.exec_())
|
@@ -0,0 +1 @@
|
|
1
|
+
{'files': ['device_browser.py']}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ui version="4.0">
|
3
|
+
<class>Form</class>
|
4
|
+
<widget class="QWidget" name="Form">
|
5
|
+
<property name="geometry">
|
6
|
+
<rect>
|
7
|
+
<x>0</x>
|
8
|
+
<y>0</y>
|
9
|
+
<width>406</width>
|
10
|
+
<height>500</height>
|
11
|
+
</rect>
|
12
|
+
</property>
|
13
|
+
<property name="windowTitle">
|
14
|
+
<string>Form</string>
|
15
|
+
</property>
|
16
|
+
<layout class="QVBoxLayout" name="verticalLayout">
|
17
|
+
<item>
|
18
|
+
<widget class="QGroupBox" name="browser_group_box">
|
19
|
+
<property name="title">
|
20
|
+
<string>Device Browser</string>
|
21
|
+
</property>
|
22
|
+
<layout class="QVBoxLayout" name="verticalLayout_2">
|
23
|
+
<item>
|
24
|
+
<layout class="QHBoxLayout" name="filter_layout">
|
25
|
+
<item>
|
26
|
+
<widget class="QLineEdit" name="filter_input">
|
27
|
+
<property name="placeholderText">
|
28
|
+
<string>Filter</string>
|
29
|
+
</property>
|
30
|
+
</widget>
|
31
|
+
</item>
|
32
|
+
</layout>
|
33
|
+
</item>
|
34
|
+
<item>
|
35
|
+
<widget class="QListWidget" name="device_list"/>
|
36
|
+
</item>
|
37
|
+
</layout>
|
38
|
+
</widget>
|
39
|
+
</item>
|
40
|
+
</layout>
|
41
|
+
</widget>
|
42
|
+
<resources/>
|
43
|
+
<connections/>
|
44
|
+
</ui>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Copyright (C) 2022 The Qt Company Ltd.
|
2
|
+
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
3
|
+
|
4
|
+
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
5
|
+
from qtpy.QtGui import QIcon
|
6
|
+
|
7
|
+
from bec_widgets.widgets.device_browser.device_browser import DeviceBrowser
|
8
|
+
|
9
|
+
DOM_XML = """
|
10
|
+
<ui language='c++'>
|
11
|
+
<widget class='DeviceBrowser' name='device_browser'>
|
12
|
+
</widget>
|
13
|
+
</ui>
|
14
|
+
"""
|
15
|
+
|
16
|
+
|
17
|
+
class DeviceBrowserPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
18
|
+
def __init__(self):
|
19
|
+
super().__init__()
|
20
|
+
self._form_editor = None
|
21
|
+
|
22
|
+
def createWidget(self, parent):
|
23
|
+
t = DeviceBrowser(parent)
|
24
|
+
return t
|
25
|
+
|
26
|
+
def domXml(self):
|
27
|
+
return DOM_XML
|
28
|
+
|
29
|
+
def group(self):
|
30
|
+
return "BEC Services"
|
31
|
+
|
32
|
+
def icon(self):
|
33
|
+
return QIcon()
|
34
|
+
|
35
|
+
def includeFile(self):
|
36
|
+
return "device_browser"
|
37
|
+
|
38
|
+
def initialize(self, form_editor):
|
39
|
+
self._form_editor = form_editor
|
40
|
+
|
41
|
+
def isContainer(self):
|
42
|
+
return False
|
43
|
+
|
44
|
+
def isInitialized(self):
|
45
|
+
return self._form_editor is not None
|
46
|
+
|
47
|
+
def name(self):
|
48
|
+
return "DeviceBrowser"
|
49
|
+
|
50
|
+
def toolTip(self):
|
51
|
+
return "DeviceBrowser"
|
52
|
+
|
53
|
+
def whatsThis(self):
|
54
|
+
return self.toolTip()
|
@@ -0,0 +1 @@
|
|
1
|
+
from .device_item import DeviceItem
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from typing import TYPE_CHECKING
|
4
|
+
|
5
|
+
from qtpy.QtCore import QMimeData, Qt
|
6
|
+
from qtpy.QtGui import QDrag
|
7
|
+
from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget
|
8
|
+
|
9
|
+
if TYPE_CHECKING:
|
10
|
+
from qtpy.QtGui import QMouseEvent
|
11
|
+
|
12
|
+
|
13
|
+
class DeviceItem(QWidget):
|
14
|
+
def __init__(self, device: str) -> None:
|
15
|
+
super().__init__()
|
16
|
+
self.device = device
|
17
|
+
layout = QHBoxLayout()
|
18
|
+
layout.setContentsMargins(10, 2, 10, 2)
|
19
|
+
self.label = QLabel(device)
|
20
|
+
layout.addWidget(self.label)
|
21
|
+
self.setLayout(layout)
|
22
|
+
|
23
|
+
self.setStyleSheet(
|
24
|
+
"""
|
25
|
+
border: 1px solid #ddd;
|
26
|
+
border-radius: 5px;
|
27
|
+
padding: 10px;
|
28
|
+
"""
|
29
|
+
)
|
30
|
+
|
31
|
+
def mousePressEvent(self, event: QMouseEvent) -> None:
|
32
|
+
if event.button() == Qt.LeftButton:
|
33
|
+
drag = QDrag(self)
|
34
|
+
mime_data = QMimeData()
|
35
|
+
mime_data.setText(self.device)
|
36
|
+
drag.setMimeData(mime_data)
|
37
|
+
drag.exec_(Qt.MoveAction)
|
38
|
+
|
39
|
+
def mouseDoubleClickEvent(self, event: QMouseEvent) -> None:
|
40
|
+
print("Double Clicked")
|
41
|
+
# TODO: Implement double click action for opening the device properties dialog
|
42
|
+
return super().mouseDoubleClickEvent(event)
|
43
|
+
|
44
|
+
|
45
|
+
if __name__ == "__main__": # pragma: no cover
|
46
|
+
import sys
|
47
|
+
|
48
|
+
from qtpy.QtWidgets import QApplication
|
49
|
+
|
50
|
+
app = QApplication(sys.argv)
|
51
|
+
widget = DeviceItem("Device")
|
52
|
+
widget.show()
|
53
|
+
sys.exit(app.exec_())
|
@@ -0,0 +1,15 @@
|
|
1
|
+
def main(): # pragma: no cover
|
2
|
+
from qtpy import PYSIDE6
|
3
|
+
|
4
|
+
if not PYSIDE6:
|
5
|
+
print("PYSIDE6 is not available in the environment. Cannot patch designer.")
|
6
|
+
return
|
7
|
+
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
8
|
+
|
9
|
+
from bec_widgets.widgets.device_browser.device_browser_plugin import DeviceBrowserPlugin
|
10
|
+
|
11
|
+
QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceBrowserPlugin())
|
12
|
+
|
13
|
+
|
14
|
+
if __name__ == "__main__": # pragma: no cover
|
15
|
+
main()
|
@@ -59,29 +59,29 @@
|
|
59
59
|
|
60
60
|
/* Main index page overview cards */
|
61
61
|
|
62
|
-
.sd-card {
|
62
|
+
.index-card .sd-card {
|
63
63
|
background: #fff;
|
64
64
|
border-radius: 0;
|
65
65
|
padding: 30px 10px 20px 10px;
|
66
66
|
margin: 10px 0px;
|
67
67
|
}
|
68
68
|
|
69
|
-
.
|
69
|
+
.index-card .sd-card-header {
|
70
70
|
text-align: center;
|
71
71
|
}
|
72
72
|
|
73
|
-
.
|
73
|
+
.index-card .sd-card-header .sd-card-text {
|
74
74
|
margin: 0px;
|
75
75
|
}
|
76
76
|
|
77
|
-
.
|
77
|
+
.index-card .sd-card-img-top {
|
78
78
|
height: 52px;
|
79
79
|
width: 52px;
|
80
80
|
margin-left: auto;
|
81
81
|
margin-right: auto;
|
82
82
|
}
|
83
83
|
|
84
|
-
.
|
84
|
+
.index-card .sd-card-header {
|
85
85
|
border: none;
|
86
86
|
background-color:white;
|
87
87
|
color: #150458 !important;
|
@@ -91,13 +91,13 @@
|
|
91
91
|
border-bottom: none !important;
|
92
92
|
}
|
93
93
|
|
94
|
-
.
|
94
|
+
.index-card .sd-card-footer {
|
95
95
|
border: none;
|
96
96
|
background-color:white;
|
97
97
|
border-top: none !important;
|
98
98
|
}
|
99
99
|
|
100
|
-
.
|
100
|
+
.index-card .sd-card-footer .sd-card-text{
|
101
101
|
max-width: 220px;
|
102
102
|
margin-left: auto;
|
103
103
|
margin-right: auto;
|
@@ -143,7 +143,7 @@
|
|
143
143
|
|
144
144
|
/* Main index page overview cards */
|
145
145
|
|
146
|
-
html[data-theme=dark] .sd-card {
|
146
|
+
html[data-theme=dark] .index-card .sd-card {
|
147
147
|
background-color:var(--pst-color-background);
|
148
148
|
border: none
|
149
149
|
}
|
@@ -152,12 +152,12 @@
|
|
152
152
|
box-shadow: 0 .1rem 0.5rem rgba(250, 250, 250, .2) !important
|
153
153
|
}
|
154
154
|
|
155
|
-
html[data-theme=dark] .
|
155
|
+
html[data-theme=dark] .index-card .sd-card-header {
|
156
156
|
background-color:var(--pst-color-background);
|
157
157
|
color: #150458 !important;
|
158
158
|
}
|
159
159
|
|
160
|
-
html[data-theme=dark] .
|
160
|
+
html[data-theme=dark] .index-card .sd-card-footer {
|
161
161
|
background-color:var(--pst-color-background);
|
162
162
|
}
|
163
163
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -27,6 +27,7 @@ api_reference/api_reference.md
|
|
27
27
|
:link-type: ref
|
28
28
|
:img-top: /assets/rocket_launch_48dp.svg
|
29
29
|
:text-align: center
|
30
|
+
:class-item: index-card
|
30
31
|
|
31
32
|
## Introduction
|
32
33
|
|
@@ -38,6 +39,7 @@ An introduction into the single-resposibility principle and the modular design o
|
|
38
39
|
:link-type: ref
|
39
40
|
:img-top: /assets/apps_48dp.svg
|
40
41
|
:text-align: center
|
42
|
+
:class-item: index-card
|
41
43
|
|
42
44
|
## Widget Development
|
43
45
|
|
@@ -14,6 +14,7 @@ A flexible and extensible framework for building graphical user interfaces in Py
|
|
14
14
|
:link-type: ref
|
15
15
|
:img-top: /assets/index_getting_started.svg
|
16
16
|
:text-align: center
|
17
|
+
:class-item: index-card
|
17
18
|
|
18
19
|
## Introduction
|
19
20
|
|
@@ -25,6 +26,7 @@ General information about BEC Widgets.
|
|
25
26
|
:link-type: ref
|
26
27
|
:img-top: /assets/index_user_guide.svg
|
27
28
|
:text-align: center
|
29
|
+
:class-item: index-card
|
28
30
|
|
29
31
|
## User guide
|
30
32
|
|
@@ -36,6 +38,7 @@ Information for users of BEC Widgets.
|
|
36
38
|
:link-type: ref
|
37
39
|
:img-top: /assets/index_contribute.svg
|
38
40
|
:text-align: center
|
41
|
+
:class-item: index-card
|
39
42
|
|
40
43
|
## Developer guide
|
41
44
|
|
@@ -47,6 +50,7 @@ Information for developers of BEC Widgets.
|
|
47
50
|
:link-type: ref
|
48
51
|
:img-top: /assets/index_api.svg
|
49
52
|
:text-align: center
|
53
|
+
:class-item: index-card
|
50
54
|
|
51
55
|
## API reference
|
52
56
|
|
@@ -25,6 +25,7 @@ api_reference/api_reference.md
|
|
25
25
|
:link-type: ref
|
26
26
|
:img-top: /assets/rocket_launch_48dp.svg
|
27
27
|
:text-align: center
|
28
|
+
:class-item: index-card
|
28
29
|
|
29
30
|
## Getting Started
|
30
31
|
|
@@ -36,6 +37,7 @@ Learn how to install BEC Widgets and get started with the framework.
|
|
36
37
|
:link-type: ref
|
37
38
|
:img-top: /assets/display_settings_48dp.svg
|
38
39
|
:text-align: center
|
40
|
+
:class-item: index-card
|
39
41
|
|
40
42
|
## Applications
|
41
43
|
|
@@ -48,6 +50,7 @@ Learn how to use BEC Widgets Applications, to modify and create new applications
|
|
48
50
|
:link-type: ref
|
49
51
|
:img-top: /assets/apps_48dp.svg
|
50
52
|
:text-align: center
|
53
|
+
:class-item: index-card
|
51
54
|
|
52
55
|
## Widgets
|
53
56
|
|
@@ -59,6 +62,7 @@ Learn about the building blocks of larger applications: widgets.
|
|
59
62
|
:link-type: ref
|
60
63
|
:img-top: /assets/index_api.svg
|
61
64
|
:text-align: center
|
65
|
+
:class-item: index-card
|
62
66
|
|
63
67
|
## API reference
|
64
68
|
|