bec-widgets 1.8.0__tar.gz → 1.9.1__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.
Files changed (317) hide show
  1. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/CHANGELOG.md +21 -23
  2. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/PKG-INFO +1 -1
  3. bec_widgets-1.9.1/bec_widgets/qt_utils/side_panel.py +386 -0
  4. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/bec_designer.py +12 -5
  5. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/pyproject.toml +1 -1
  6. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.git_hooks/pre-commit +0 -0
  7. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.gitignore +0 -0
  8. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.gitlab/issue_templates/bug_report_template.md +0 -0
  9. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  10. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.gitlab/issue_templates/feature_request_template.md +0 -0
  11. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.gitlab/merge_request_templates/default.md +0 -0
  12. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.gitlab-ci.yml +0 -0
  13. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.pylintrc +0 -0
  14. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/.readthedocs.yaml +0 -0
  15. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/LICENSE +0 -0
  16. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/README.md +0 -0
  17. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/__init__.py +0 -0
  18. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/applications/__init__.py +0 -0
  19. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/applications/alignment/__init__.py +0 -0
  20. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/applications/alignment/alignment_1d/__init__.py +0 -0
  21. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.py +0 -0
  22. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui +0 -0
  23. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/applications/bec_app.py +0 -0
  24. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/assets/app_icons/BEC-General-App.png +0 -0
  25. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/assets/app_icons/alignment_1d.png +0 -0
  26. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  27. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/__init__.py +0 -0
  28. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/auto_updates.py +0 -0
  29. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/client.py +0 -0
  30. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/client_utils.py +0 -0
  31. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/generate_cli.py +0 -0
  32. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/rpc_register.py +0 -0
  33. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
  34. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/cli/server.py +0 -0
  35. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/__init__.py +0 -0
  36. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/general_app/__init__.py +0 -0
  37. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/general_app/general_app.py +0 -0
  38. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/general_app/general_app.ui +0 -0
  39. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/general_app/web_links.py +0 -0
  40. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  41. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  42. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  43. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  44. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  45. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  46. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  47. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  48. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  49. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/__init__.py +0 -0
  50. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/compact_popup.py +0 -0
  51. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/error_popups.py +0 -0
  52. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/palette_viewer.py +0 -0
  53. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
  54. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/round_frame.py +0 -0
  55. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/settings_dialog.py +0 -0
  56. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/qt_utils/toolbar.py +0 -0
  57. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/tests/__init__.py +0 -0
  58. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/tests/utils.py +0 -0
  59. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/__init__.py +0 -0
  60. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/bec_connector.py +0 -0
  61. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/bec_dispatcher.py +0 -0
  62. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/bec_signal_proxy.py +0 -0
  63. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/bec_table.py +0 -0
  64. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/bec_widget.py +0 -0
  65. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/colors.py +0 -0
  66. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/container_utils.py +0 -0
  67. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/crosshair.py +0 -0
  68. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/entry_validator.py +0 -0
  69. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/filter_io.py +0 -0
  70. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/fps_counter.py +0 -0
  71. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  72. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/layout_manager.py +0 -0
  73. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/linear_region_selector.py +0 -0
  74. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/ophyd_kind_util.py +0 -0
  75. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/plot_indicator_items.py +0 -0
  76. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
  77. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/plugin_templates/register.template +0 -0
  78. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/plugin_utils.py +0 -0
  79. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/reference_utils.py +0 -0
  80. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/rpc_decorator.py +0 -0
  81. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/thread_checker.py +0 -0
  82. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/ui_loader.py +0 -0
  83. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/validator_delegate.py +0 -0
  84. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/widget_io.py +0 -0
  85. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/utils/yaml_dialog.py +0 -0
  86. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/__init__.py +0 -0
  87. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/__init__.py +0 -0
  88. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/dock/__init__.py +0 -0
  89. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/dock/dock.py +0 -0
  90. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/dock/dock_area.py +0 -0
  91. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/dock/dock_area.pyproject +0 -0
  92. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/dock/dock_area_plugin.py +0 -0
  93. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/dock/register_dock_area.py +0 -0
  94. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/__init__.py +0 -0
  95. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/figure.py +0 -0
  96. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/__init__.py +0 -0
  97. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/axis_settings.py +0 -0
  98. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/axis_settings.ui +0 -0
  99. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/image/__init__.py +0 -0
  100. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/image/image.py +0 -0
  101. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/image/image_item.py +0 -0
  102. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/image/image_processor.py +0 -0
  103. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/motor_map/__init__.py +0 -0
  104. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/motor_map/motor_map.py +0 -0
  105. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/multi_waveform/__init__.py +0 -0
  106. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/multi_waveform/multi_waveform.py +0 -0
  107. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/plot_base.py +0 -0
  108. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/waveform/__init__.py +0 -0
  109. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/waveform/waveform.py +0 -0
  110. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py +0 -0
  111. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/main_window/__init__.py +0 -0
  112. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/containers/main_window/main_window.py +0 -0
  113. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/__init__.py +0 -0
  114. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/__init__.py +0 -0
  115. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_abort/__init__.py +0 -0
  116. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_abort/abort_button.pyproject +0 -0
  117. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_abort/abort_button_plugin.py +0 -0
  118. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_abort/button_abort.py +0 -0
  119. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_abort/register_abort_button.py +0 -0
  120. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_reset/__init__.py +0 -0
  121. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_reset/button_reset.py +0 -0
  122. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_reset/register_reset_button.py +0 -0
  123. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_reset/reset_button.pyproject +0 -0
  124. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_reset/reset_button_plugin.py +0 -0
  125. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_resume/__init__.py +0 -0
  126. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_resume/button_resume.py +0 -0
  127. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_resume/register_resume_button.py +0 -0
  128. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_resume/resume_button.pyproject +0 -0
  129. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/button_resume/resume_button_plugin.py +0 -0
  130. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/stop_button/__init__.py +0 -0
  131. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/stop_button/register_stop_button.py +0 -0
  132. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button.py +0 -0
  133. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button.pyproject +0 -0
  134. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button_plugin.py +0 -0
  135. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/__init__.py +0 -0
  136. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/position_indicator/__init__.py +0 -0
  137. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +0 -0
  138. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.pyproject +0 -0
  139. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator_plugin.py +0 -0
  140. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/position_indicator/register_position_indicator.py +0 -0
  141. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/__init__.py +0 -0
  142. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py +0 -0
  143. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.pyproject +0 -0
  144. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.ui +0 -0
  145. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py +0 -0
  146. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py +0 -0
  147. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.pyproject +0 -0
  148. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.ui +0 -0
  149. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py +0 -0
  150. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_box.py +0 -0
  151. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py +0 -0
  152. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_group/__init__.py +0 -0
  153. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +0 -0
  154. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.pyproject +0 -0
  155. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group_plugin.py +0 -0
  156. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_control/positioner_group/register_positioner_group.py +0 -0
  157. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/__init__.py +0 -0
  158. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/base_classes/__init__.py +0 -0
  159. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +0 -0
  160. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +0 -0
  161. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_combobox/__init__.py +0 -0
  162. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box.pyproject +0 -0
  163. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box_plugin.py +0 -0
  164. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +0 -0
  165. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_combobox/register_device_combo_box.py +0 -0
  166. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_line_edit/__init__.py +0 -0
  167. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +0 -0
  168. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pyproject +0 -0
  169. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py +0 -0
  170. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py +0 -0
  171. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_combobox/__init__.py +0 -0
  172. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combobox.py +0 -0
  173. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +0 -0
  174. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.pyproject +0 -0
  175. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox_plugin.py +0 -0
  176. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_line_edit/__init__.py +0 -0
  177. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py +0 -0
  178. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +0 -0
  179. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject +0 -0
  180. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +0 -0
  181. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/scan_control/__init__.py +0 -0
  182. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/scan_control/register_scan_control.py +0 -0
  183. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/scan_control/scan_control.py +0 -0
  184. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/scan_control/scan_control.pyproject +0 -0
  185. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/scan_control/scan_control_plugin.py +0 -0
  186. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/control/scan_control/scan_group_box.py +0 -0
  187. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/__init__.py +0 -0
  188. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/dap_combo_box/__init__.py +0 -0
  189. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +0 -0
  190. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.pyproject +0 -0
  191. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box_plugin.py +0 -0
  192. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py +0 -0
  193. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/__init__.py +0 -0
  194. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject +0 -0
  195. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py +0 -0
  196. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +0 -0
  197. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui +0 -0
  198. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +0 -0
  199. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py +0 -0
  200. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/__init__.py +0 -0
  201. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/console/__init__.py +0 -0
  202. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/console/console.py +0 -0
  203. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/console/console.pyproject +0 -0
  204. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/console/console_plugin.py +0 -0
  205. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/console/register_console.py +0 -0
  206. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/jupyter_console/__init__.py +0 -0
  207. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/jupyter_console/jupyter_console.py +0 -0
  208. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/text_box/__init__.py +0 -0
  209. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/text_box/register_text_box.py +0 -0
  210. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/text_box/text_box.py +0 -0
  211. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/text_box/text_box.pyproject +0 -0
  212. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/text_box/text_box_plugin.py +0 -0
  213. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/vscode/__init__.py +0 -0
  214. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/vscode/register_vs_code_editor.py +0 -0
  215. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/vscode/vs_code_editor.pyproject +0 -0
  216. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/vscode/vs_code_editor_plugin.py +0 -0
  217. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/vscode/vscode.py +0 -0
  218. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/website/__init__.py +0 -0
  219. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/website/register_website_widget.py +0 -0
  220. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/website/website.py +0 -0
  221. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/website/website_widget.pyproject +0 -0
  222. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/editors/website/website_widget_plugin.py +0 -0
  223. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/__init__.py +0 -0
  224. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/image/__init__.py +0 -0
  225. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/image/bec_image_widget.pyproject +0 -0
  226. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/image/bec_image_widget_plugin.py +0 -0
  227. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/image/image_widget.py +0 -0
  228. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/image/register_bec_image_widget.py +0 -0
  229. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/__init__.py +0 -0
  230. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget.pyproject +0 -0
  231. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget_plugin.py +0 -0
  232. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/__init__.py +0 -0
  233. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
  234. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
  235. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/motor_map_widget.py +0 -0
  236. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/motor_map/register_bec_motor_map_widget.py +0 -0
  237. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/multi_waveform/__init__.py +0 -0
  238. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget.pyproject +0 -0
  239. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget_plugin.py +0 -0
  240. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_controls.ui +0 -0
  241. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_widget.py +0 -0
  242. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/multi_waveform/register_bec_multi_waveform_widget.py +0 -0
  243. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/__init__.py +0 -0
  244. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/bec_waveform_widget.pyproject +0 -0
  245. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/bec_waveform_widget_plugin.py +0 -0
  246. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/register_bec_waveform_widget.py +0 -0
  247. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_popups/__init__.py +0 -0
  248. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/__init__.py +0 -0
  249. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
  250. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
  251. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/__init__.py +0 -0
  252. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
  253. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/plots/waveform/waveform_widget.py +0 -0
  254. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/__init__.py +0 -0
  255. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/bec_progressbar/__init__.py +0 -0
  256. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject +0 -0
  257. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar_plugin.py +0 -0
  258. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +0 -0
  259. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/bec_progressbar/register_bec_progress_bar.py +0 -0
  260. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/ring_progress_bar/__init__.py +0 -0
  261. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/ring_progress_bar/register_ring_progress_bar.py +0 -0
  262. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/ring_progress_bar/ring.py +0 -0
  263. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +0 -0
  264. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.pyproject +0 -0
  265. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
  266. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/__init__.py +0 -0
  267. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_queue/__init__.py +0 -0
  268. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_queue/bec_queue.py +0 -0
  269. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_queue/bec_queue.pyproject +0 -0
  270. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_queue/bec_queue_plugin.py +0 -0
  271. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_queue/register_bec_queue.py +0 -0
  272. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_status_box/__init__.py +0 -0
  273. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box.py +0 -0
  274. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box.pyproject +0 -0
  275. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box_plugin.py +0 -0
  276. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_status_box/register_bec_status_box.py +0 -0
  277. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/bec_status_box/status_item.py +0 -0
  278. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/__init__.py +0 -0
  279. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/device_browser.py +0 -0
  280. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/device_browser.pyproject +0 -0
  281. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/device_browser.ui +0 -0
  282. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/device_browser_plugin.py +0 -0
  283. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/device_item/__init__.py +0 -0
  284. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/device_item/device_item.py +0 -0
  285. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/services/device_browser/register_device_browser.py +0 -0
  286. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/__init__.py +0 -0
  287. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/spinner/__init__.py +0 -0
  288. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/spinner/register_spinner_widget.py +0 -0
  289. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/spinner/spinner.py +0 -0
  290. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/spinner/spinner_widget.pyproject +0 -0
  291. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/spinner/spinner_widget_plugin.py +0 -0
  292. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/toggle/__init__.py +0 -0
  293. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/toggle/register_toggle_switch.py +0 -0
  294. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/toggle/toggle.py +0 -0
  295. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/toggle/toggle_switch.pyproject +0 -0
  296. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/toggle/toggle_switch_plugin.py +0 -0
  297. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/__init__.py +0 -0
  298. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/color_button/__init__.py +0 -0
  299. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/color_button/color_button.py +0 -0
  300. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/color_button/color_button.pyproject +0 -0
  301. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py +0 -0
  302. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/color_button/register_color_button.py +0 -0
  303. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_selector/__init__.py +0 -0
  304. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.py +0 -0
  305. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.pyproject +0 -0
  306. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector_plugin.py +0 -0
  307. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_selector/register_colormap_selector.py +0 -0
  308. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_widget/__init__.py +0 -0
  309. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget.pyproject +0 -0
  310. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget_plugin.py +0 -0
  311. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +0 -0
  312. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/colormap_widget/register_bec_color_map_widget.py +0 -0
  313. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/dark_mode_button/__init__.py +0 -0
  314. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +0 -0
  315. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject +0 -0
  316. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py +0 -0
  317. {bec_widgets-1.8.0 → bec_widgets-1.9.1}/bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py +0 -0
@@ -1,6 +1,27 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v1.9.1 (2024-12-10)
5
+
6
+ ### Bug Fixes
7
+
8
+ - **designer**: General way to find python lib on linux
9
+ ([`6563abf`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6563abfddc9fc9baba6769022d6925545decdba9))
10
+
11
+
12
+ ## v1.9.0 (2024-12-10)
13
+
14
+ ### Features
15
+
16
+ - **side_menu**: Side menu with stack widget added
17
+ ([`c7d7c6d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c7d7c6d9ed7c2dcc42b33fcd590f1f27499322c1))
18
+
19
+ ### Testing
20
+
21
+ - **side_panel**: Tests added
22
+ ([`9b95b5d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9b95b5d6164ff42673dbbc3031e5b1f45fbcde0a))
23
+
24
+
4
25
  ## v1.8.0 (2024-12-10)
5
26
 
6
27
  ### Features
@@ -187,26 +208,3 @@ Depending on the test, auto-updates are enabled or not.
187
208
 
188
209
 
189
210
  ## v1.3.3 (2024-11-07)
190
-
191
- ### Bug Fixes
192
-
193
- - **scan_control**: Devicelineedit kwargs readings changed to get name of the positioner
194
- ([`5fabd4b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5fabd4bea95bafd2352102686357cc1db80813fd))
195
-
196
- ### Documentation
197
-
198
- - Update outdated text in docs
199
- ([`4f0693c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4f0693cae34b391d75884837e1ae6353a0501868))
200
-
201
-
202
- ## v1.3.2 (2024-11-05)
203
-
204
- ### Bug Fixes
205
-
206
- - **plot_base**: Legend text color is changed when changing dark-light theme
207
- ([`2304c9f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2304c9f8497c1ab1492f3e6690bb79b0464c0df8))
208
-
209
- ### Build System
210
-
211
- - Pyside6 version fixed 6.7.2
212
- ([`c6e48ec`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c6e48ec1fe5aaee6a7c7a6f930f1520cd439cdb2))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 1.8.0
3
+ Version: 1.9.1
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -0,0 +1,386 @@
1
+ import sys
2
+ from typing import Literal, Optional
3
+
4
+ from qtpy.QtCore import Property, QEasingCurve, QPropertyAnimation
5
+ from qtpy.QtGui import QAction
6
+ from qtpy.QtWidgets import (
7
+ QApplication,
8
+ QHBoxLayout,
9
+ QLabel,
10
+ QMainWindow,
11
+ QSizePolicy,
12
+ QSpacerItem,
13
+ QStackedWidget,
14
+ QVBoxLayout,
15
+ QWidget,
16
+ )
17
+
18
+ from bec_widgets.qt_utils.toolbar import MaterialIconAction, ModularToolBar
19
+ from bec_widgets.widgets.plots.waveform.waveform_widget import BECWaveformWidget
20
+
21
+
22
+ class SidePanel(QWidget):
23
+ """
24
+ Side panel widget that can be placed on the left, right, top, or bottom of the main widget.
25
+ """
26
+
27
+ def __init__(
28
+ self,
29
+ parent=None,
30
+ orientation: Literal["left", "right", "top", "bottom"] = "left",
31
+ panel_max_width: int = 200,
32
+ animation_duration: int = 200,
33
+ animations_enabled: bool = True,
34
+ ):
35
+ super().__init__(parent=parent)
36
+
37
+ self._orientation = orientation
38
+ self._panel_max_width = panel_max_width
39
+ self._animation_duration = animation_duration
40
+ self._animations_enabled = animations_enabled
41
+ self._orientation = orientation
42
+
43
+ self._panel_width = 0
44
+ self._panel_height = 0
45
+ self.panel_visible = False
46
+ self.current_action: Optional[QAction] = None
47
+ self.current_index: Optional[int] = None
48
+ self.switching_actions = False
49
+
50
+ self._init_ui()
51
+
52
+ def _init_ui(self):
53
+ """
54
+ Initialize the UI elements.
55
+ """
56
+ if self._orientation in ("left", "right"):
57
+ self.main_layout = QHBoxLayout(self)
58
+ self.main_layout.setContentsMargins(0, 0, 0, 0)
59
+ self.main_layout.setSpacing(0)
60
+
61
+ self.toolbar = ModularToolBar(target_widget=self, orientation="vertical")
62
+
63
+ self.container = QWidget()
64
+ self.container.layout = QVBoxLayout(self.container)
65
+ self.container.layout.setContentsMargins(0, 0, 0, 0)
66
+ self.container.layout.setSpacing(0)
67
+
68
+ self.stack_widget = QStackedWidget()
69
+ self.stack_widget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)
70
+ self.stack_widget.setMinimumWidth(5)
71
+
72
+ if self._orientation == "left":
73
+ self.main_layout.addWidget(self.toolbar)
74
+ self.main_layout.addWidget(self.container)
75
+ else:
76
+ self.main_layout.addWidget(self.container)
77
+ self.main_layout.addWidget(self.toolbar)
78
+
79
+ self.container.layout.addWidget(self.stack_widget)
80
+ self.stack_widget.setMaximumWidth(self._panel_max_width)
81
+
82
+ else:
83
+ self.main_layout = QVBoxLayout(self)
84
+ self.main_layout.setContentsMargins(0, 0, 0, 0)
85
+ self.main_layout.setSpacing(0)
86
+
87
+ self.toolbar = ModularToolBar(target_widget=self, orientation="horizontal")
88
+
89
+ self.container = QWidget()
90
+ self.container.layout = QVBoxLayout(self.container)
91
+ self.container.layout.setContentsMargins(0, 0, 0, 0)
92
+ self.container.layout.setSpacing(0)
93
+
94
+ self.stack_widget = QStackedWidget()
95
+ self.stack_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
96
+ self.stack_widget.setMinimumHeight(5)
97
+
98
+ if self._orientation == "top":
99
+ self.main_layout.addWidget(self.toolbar)
100
+ self.main_layout.addWidget(self.container)
101
+ else:
102
+ self.main_layout.addWidget(self.container)
103
+ self.main_layout.addWidget(self.toolbar)
104
+
105
+ self.container.layout.addWidget(self.stack_widget)
106
+ self.stack_widget.setMaximumHeight(self._panel_max_width)
107
+
108
+ if self._orientation in ("left", "right"):
109
+ self.menu_anim = QPropertyAnimation(self, b"panel_width")
110
+ else:
111
+ self.menu_anim = QPropertyAnimation(self, b"panel_height")
112
+
113
+ self.menu_anim.setDuration(self._animation_duration)
114
+ self.menu_anim.setEasingCurve(QEasingCurve.InOutQuad)
115
+
116
+ if self._orientation in ("left", "right"):
117
+ self.panel_width = 0
118
+ else:
119
+ self.panel_height = 0
120
+
121
+ @Property(int)
122
+ def panel_width(self):
123
+ """
124
+ Get the panel width.
125
+ """
126
+ return self._panel_width
127
+
128
+ @panel_width.setter
129
+ def panel_width(self, width: int):
130
+ """
131
+ Set the panel width.
132
+
133
+ Args:
134
+ width(int): The width of the panel.
135
+ """
136
+ self._panel_width = width
137
+ if self._orientation in ("left", "right"):
138
+ self.stack_widget.setFixedWidth(width)
139
+
140
+ @Property(int)
141
+ def panel_height(self):
142
+ """
143
+ Get the panel height.
144
+ """
145
+ return self._panel_height
146
+
147
+ @panel_height.setter
148
+ def panel_height(self, height: int):
149
+ """
150
+ Set the panel height.
151
+
152
+ Args:
153
+ height(int): The height of the panel.
154
+ """
155
+ self._panel_height = height
156
+ if self._orientation in ("top", "bottom"):
157
+ self.stack_widget.setFixedHeight(height)
158
+
159
+ @Property(int)
160
+ def panel_max_width(self):
161
+ """
162
+ Get the maximum width of the panel.
163
+ """
164
+ return self._panel_max_width
165
+
166
+ @panel_max_width.setter
167
+ def panel_max_width(self, size: int):
168
+ """
169
+ Set the maximum width of the panel.
170
+
171
+ Args:
172
+ size(int): The maximum width of the panel.
173
+ """
174
+ self._panel_max_width = size
175
+ if self._orientation in ("left", "right"):
176
+ self.stack_widget.setMaximumWidth(self._panel_max_width)
177
+ else:
178
+ self.stack_widget.setMaximumHeight(self._panel_max_width)
179
+
180
+ @Property(int)
181
+ def animation_duration(self):
182
+ """
183
+ Get the duration of the animation.
184
+ """
185
+ return self._animation_duration
186
+
187
+ @animation_duration.setter
188
+ def animation_duration(self, duration: int):
189
+ """
190
+ Set the duration of the animation.
191
+
192
+ Args:
193
+ duration(int): The duration of the animation.
194
+ """
195
+ self._animation_duration = duration
196
+ self.menu_anim.setDuration(duration)
197
+
198
+ @Property(bool)
199
+ def animations_enabled(self):
200
+ """
201
+ Get the status of the animations.
202
+ """
203
+ return self._animations_enabled
204
+
205
+ @animations_enabled.setter
206
+ def animations_enabled(self, enabled: bool):
207
+ """
208
+ Set the status of the animations.
209
+
210
+ Args:
211
+ enabled(bool): The status of the animations.
212
+ """
213
+ self._animations_enabled = enabled
214
+
215
+ def show_panel(self, idx: int):
216
+ """
217
+ Show the side panel with animation and switch to idx.
218
+
219
+ Args:
220
+ idx(int): The index of the panel to show.
221
+ """
222
+ self.stack_widget.setCurrentIndex(idx)
223
+ self.panel_visible = True
224
+ self.current_index = idx
225
+
226
+ if self._orientation in ("left", "right"):
227
+ start_val, end_val = 0, self._panel_max_width
228
+ else:
229
+ start_val, end_val = 0, self._panel_max_width
230
+
231
+ if self._animations_enabled:
232
+ self.menu_anim.stop()
233
+ self.menu_anim.setStartValue(start_val)
234
+ self.menu_anim.setEndValue(end_val)
235
+ self.menu_anim.start()
236
+ else:
237
+ if self._orientation in ("left", "right"):
238
+ self.panel_width = end_val
239
+ else:
240
+ self.panel_height = end_val
241
+
242
+ def hide_panel(self):
243
+ """
244
+ Hide the side panel with animation.
245
+ """
246
+ self.panel_visible = False
247
+ self.current_index = None
248
+
249
+ if self._orientation in ("left", "right"):
250
+ start_val, end_val = self._panel_max_width, 0
251
+ else:
252
+ start_val, end_val = self._panel_max_width, 0
253
+
254
+ if self._animations_enabled:
255
+ self.menu_anim.stop()
256
+ self.menu_anim.setStartValue(start_val)
257
+ self.menu_anim.setEndValue(end_val)
258
+ self.menu_anim.start()
259
+ else:
260
+ if self._orientation in ("left", "right"):
261
+ self.panel_width = end_val
262
+ else:
263
+ self.panel_height = end_val
264
+
265
+ def switch_to(self, idx: int):
266
+ """
267
+ Switch to the specified index without animation.
268
+
269
+ Args:
270
+ idx(int): The index of the panel to switch to.
271
+ """
272
+ if self.current_index != idx:
273
+ self.stack_widget.setCurrentIndex(idx)
274
+ self.current_index = idx
275
+
276
+ def add_menu(self, action_id: str, icon_name: str, tooltip: str, widget: QWidget, title: str):
277
+ """
278
+ Add a menu to the side panel.
279
+
280
+ Args:
281
+ action_id(str): The ID of the action.
282
+ icon_name(str): The name of the icon.
283
+ tooltip(str): The tooltip for the action.
284
+ widget(QWidget): The widget to add to the panel.
285
+ title(str): The title of the panel.
286
+ """
287
+ container_widget = QWidget()
288
+ container_layout = QVBoxLayout(container_widget)
289
+ container_widget.setStyleSheet("background-color: rgba(0,0,0,0);")
290
+ title_label = QLabel(f"<b>{title}</b>")
291
+ title_label.setStyleSheet("font-size: 16px;")
292
+ spacer = QSpacerItem(0, 0, QSizePolicy.Minimum, QSizePolicy.Expanding)
293
+ container_layout.addWidget(title_label)
294
+ container_layout.addWidget(widget)
295
+ container_layout.addItem(spacer)
296
+ container_layout.setContentsMargins(5, 5, 5, 5)
297
+ container_layout.setSpacing(5)
298
+
299
+ index = self.stack_widget.count()
300
+ self.stack_widget.addWidget(container_widget)
301
+
302
+ action = MaterialIconAction(icon_name=icon_name, tooltip=tooltip, checkable=True)
303
+ self.toolbar.add_action(action_id, action, target_widget=self)
304
+
305
+ def on_action_toggled(checked: bool):
306
+ if self.switching_actions:
307
+ return
308
+
309
+ if checked:
310
+ if self.current_action and self.current_action != action.action:
311
+ self.switching_actions = True
312
+ self.current_action.setChecked(False)
313
+ self.switching_actions = False
314
+
315
+ self.current_action = action.action
316
+
317
+ if not self.panel_visible:
318
+ self.show_panel(index)
319
+ else:
320
+ self.switch_to(index)
321
+ else:
322
+ if self.current_action == action.action:
323
+ self.current_action = None
324
+ self.hide_panel()
325
+
326
+ action.action.toggled.connect(on_action_toggled)
327
+
328
+
329
+ class ExampleApp(QMainWindow): # pragma: no cover
330
+ def __init__(self):
331
+ super().__init__()
332
+ self.setWindowTitle("Side Panel Example")
333
+
334
+ central_widget = QWidget()
335
+ self.setCentralWidget(central_widget)
336
+
337
+ self.side_panel = SidePanel(self, orientation="left")
338
+
339
+ self.layout = QHBoxLayout(central_widget)
340
+
341
+ self.layout.addWidget(self.side_panel)
342
+ self.plot = BECWaveformWidget()
343
+ self.layout.addWidget(self.plot)
344
+ self.add_side_menus()
345
+
346
+ def add_side_menus(self):
347
+ widget1 = QWidget()
348
+ widget1_layout = QVBoxLayout(widget1)
349
+ widget1_layout.addWidget(QLabel("This is Widget 1"))
350
+ self.side_panel.add_menu(
351
+ action_id="widget1",
352
+ icon_name="counter_1",
353
+ tooltip="Show Widget 1",
354
+ widget=widget1,
355
+ title="Widget 1 Panel",
356
+ )
357
+
358
+ widget2 = QWidget()
359
+ widget2_layout = QVBoxLayout(widget2)
360
+ widget2_layout.addWidget(QLabel("This is Widget 2"))
361
+ self.side_panel.add_menu(
362
+ action_id="widget2",
363
+ icon_name="counter_2",
364
+ tooltip="Show Widget 2",
365
+ widget=widget2,
366
+ title="Widget 2 Panel",
367
+ )
368
+
369
+ widget3 = QWidget()
370
+ widget3_layout = QVBoxLayout(widget3)
371
+ widget3_layout.addWidget(QLabel("This is Widget 3"))
372
+ self.side_panel.add_menu(
373
+ action_id="widget3",
374
+ icon_name="counter_3",
375
+ tooltip="Show Widget 3",
376
+ widget=widget3,
377
+ title="Widget 3 Panel",
378
+ )
379
+
380
+
381
+ if __name__ == "__main__": # pragma: no cover
382
+ app = QApplication(sys.argv)
383
+ window = ExampleApp()
384
+ window.resize(800, 600)
385
+ window.show()
386
+ sys.exit(app.exec())
@@ -93,17 +93,24 @@ def patch_designer(): # pragma: no cover
93
93
  _extend_path_var("PATH", os.fspath(Path(sys._base_executable).parent), True)
94
94
  else:
95
95
  if sys.platform == "linux":
96
- suffix = f"{sys.abiflags}.so"
97
96
  env_var = "LD_PRELOAD"
97
+ current_pid = os.getpid()
98
+ with open(f"/proc/{current_pid}/maps", "rt") as f:
99
+ for line in f:
100
+ if "libpython" in line:
101
+ lib_path = line.split()[-1]
102
+ os.environ[env_var] = lib_path
103
+ break
104
+
98
105
  elif sys.platform == "darwin":
99
106
  suffix = ".dylib"
100
107
  env_var = "DYLD_INSERT_LIBRARIES"
108
+ version = f"{major_version}.{minor_version}"
109
+ library_name = f"libpython{version}{suffix}"
110
+ lib_path = str(Path(sysconfig.get_config_var("LIBDIR")) / library_name)
111
+ os.environ[env_var] = lib_path
101
112
  else:
102
113
  raise RuntimeError(f"Unsupported platform: {sys.platform}")
103
- version = f"{major_version}.{minor_version}"
104
- library_name = f"libpython{version}{suffix}"
105
- lib_path = str(Path(sysconfig.get_config_var("LIBDIR")) / library_name)
106
- os.environ[env_var] = lib_path
107
114
 
108
115
  if is_pyenv_python() or is_virtual_env():
109
116
  # append all editable packages to the PYTHONPATH
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "1.8.0"
7
+ version = "1.9.1"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
File without changes
File without changes
File without changes
File without changes
File without changes