bec-widgets 2.0.3__tar.gz → 2.1.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 (379) hide show
  1. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.gitlab-ci.yml +2 -2
  2. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/CHANGELOG.md +46 -0
  3. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/PKG-INFO +3 -2
  4. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/applications/launch_window.py +4 -4
  5. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/client.py +1 -0
  6. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/generate_cli.py +1 -0
  7. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_designer.py +9 -5
  8. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_plugin_helper.py +1 -1
  9. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_signal_proxy.py +2 -2
  10. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/container_utils.py +35 -3
  11. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/error_popups.py +21 -7
  12. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/linear_region_selector.py +2 -2
  13. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/dock/dock.py +1 -5
  14. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/dock/dock_area.py +2 -5
  15. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +1 -1
  16. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +1 -1
  17. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/console/console.py +12 -12
  18. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_status_box/status_item.py +1 -1
  19. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/logpanel/_util.py +1 -1
  20. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +19 -1
  21. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/pyproject.toml +3 -2
  22. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.git_hooks/pre-commit +0 -0
  23. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.gitignore +0 -0
  24. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.gitlab/issue_templates/bug_report_template.md +0 -0
  25. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  26. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.gitlab/issue_templates/feature_request_template.md +0 -0
  27. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.gitlab/merge_request_templates/default.md +0 -0
  28. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.pylintrc +0 -0
  29. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/.readthedocs.yaml +0 -0
  30. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/LICENSE +0 -0
  31. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/README.md +0 -0
  32. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/__init__.py +0 -0
  33. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/applications/__init__.py +0 -0
  34. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/applications/bw_launch.py +0 -0
  35. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/assets/app_icons/BEC-General-App.png +0 -0
  36. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/assets/app_icons/alignment_1d.png +0 -0
  37. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/assets/app_icons/auto_update.png +0 -0
  38. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  39. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/assets/app_icons/ui_loader_tile.png +0 -0
  40. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/__init__.py +0 -0
  41. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/client_utils.py +0 -0
  42. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/rpc/__init__.py +0 -0
  43. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/rpc/rpc_base.py +0 -0
  44. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/rpc/rpc_register.py +0 -0
  45. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/rpc/rpc_widget_handler.py +0 -0
  46. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/cli/server.py +0 -0
  47. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/__init__.py +0 -0
  48. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/general_app/__init__.py +0 -0
  49. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/general_app/general_app.py +0 -0
  50. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/general_app/general_app.ui +0 -0
  51. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/general_app/web_links.py +0 -0
  52. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  53. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  54. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  55. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  56. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  57. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  58. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  59. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  60. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  61. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/tests/__init__.py +0 -0
  62. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/tests/utils.py +0 -0
  63. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/__init__.py +0 -0
  64. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_connector.py +0 -0
  65. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_dispatcher.py +0 -0
  66. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_table.py +0 -0
  67. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/bec_widget.py +0 -0
  68. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/collapsible_panel_manager.py +0 -0
  69. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/colors.py +0 -0
  70. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/compact_popup.py +0 -0
  71. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/crosshair.py +0 -0
  72. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/entry_validator.py +0 -0
  73. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/expandable_frame.py +0 -0
  74. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/filter_io.py +0 -0
  75. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/forms_from_types/__init__.py +0 -0
  76. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/forms_from_types/forms.py +0 -0
  77. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/forms_from_types/items.py +0 -0
  78. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/fps_counter.py +0 -0
  79. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  80. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/layout_manager.py +0 -0
  81. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/name_utils.py +0 -0
  82. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/ophyd_kind_util.py +0 -0
  83. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/palette_viewer.py +0 -0
  84. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/plot_indicator_items.py +0 -0
  85. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
  86. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/plugin_templates/register.template +0 -0
  87. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/plugin_utils.py +0 -0
  88. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/redis_message_waiter.py +0 -0
  89. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/reference_utils.py +0 -0
  90. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/round_frame.py +0 -0
  91. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/rpc_decorator.py +0 -0
  92. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/rpc_server.py +0 -0
  93. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/serialization.py +0 -0
  94. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/settings_dialog.py +0 -0
  95. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/side_panel.py +0 -0
  96. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/thread_checker.py +0 -0
  97. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/toolbar.py +0 -0
  98. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/ui_loader.py +0 -0
  99. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/validator_delegate.py +0 -0
  100. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/widget_io.py +0 -0
  101. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/widget_state_manager.py +0 -0
  102. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/utils/yaml_dialog.py +0 -0
  103. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/__init__.py +0 -0
  104. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/__init__.py +0 -0
  105. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/auto_update/__init__.py +0 -0
  106. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/auto_update/auto_updates.py +0 -0
  107. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/dock/__init__.py +0 -0
  108. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/dock/dock_area.pyproject +0 -0
  109. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/dock/dock_area_plugin.py +0 -0
  110. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/dock/register_dock_area.py +0 -0
  111. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/layout_manager/__init__.py +0 -0
  112. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/layout_manager/layout_manager.py +0 -0
  113. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/main_window/__init__.py +0 -0
  114. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/main_window/addons/__init__.py +0 -0
  115. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/main_window/addons/web_links.py +0 -0
  116. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/containers/main_window/main_window.py +0 -0
  117. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/__init__.py +0 -0
  118. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/__init__.py +0 -0
  119. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_abort/__init__.py +0 -0
  120. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_abort/abort_button.pyproject +0 -0
  121. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_abort/abort_button_plugin.py +0 -0
  122. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_abort/button_abort.py +0 -0
  123. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_abort/register_abort_button.py +0 -0
  124. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_reset/__init__.py +0 -0
  125. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_reset/button_reset.py +0 -0
  126. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_reset/register_reset_button.py +0 -0
  127. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_reset/reset_button.pyproject +0 -0
  128. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_reset/reset_button_plugin.py +0 -0
  129. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_resume/__init__.py +0 -0
  130. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_resume/button_resume.py +0 -0
  131. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_resume/register_resume_button.py +0 -0
  132. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_resume/resume_button.pyproject +0 -0
  133. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/button_resume/resume_button_plugin.py +0 -0
  134. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/stop_button/__init__.py +0 -0
  135. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/stop_button/register_stop_button.py +0 -0
  136. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button.py +0 -0
  137. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button.pyproject +0 -0
  138. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button_plugin.py +0 -0
  139. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/__init__.py +0 -0
  140. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/position_indicator/__init__.py +0 -0
  141. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +0 -0
  142. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.pyproject +0 -0
  143. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator_plugin.py +0 -0
  144. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/position_indicator/register_position_indicator.py +0 -0
  145. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/__init__.py +0 -0
  146. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/_base/__init__.py +0 -0
  147. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/_base/positioner_box_base.py +0 -0
  148. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/__init__.py +0 -0
  149. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py +0 -0
  150. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.pyproject +0 -0
  151. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.ui +0 -0
  152. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box_plugin.py +0 -0
  153. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/register_positioner_box.py +0 -0
  154. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/__init__.py +0 -0
  155. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box2_d.pyproject +0 -0
  156. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box2_d_plugin.py +0 -0
  157. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py +0 -0
  158. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.ui +0 -0
  159. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/register_positioner_box2_d.py +0 -0
  160. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.py +0 -0
  161. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.pyproject +0 -0
  162. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.ui +0 -0
  163. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line_plugin.py +0 -0
  164. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/register_positioner_control_line.py +0 -0
  165. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_group/__init__.py +0 -0
  166. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.pyproject +0 -0
  167. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group_plugin.py +0 -0
  168. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_control/positioner_group/register_positioner_group.py +0 -0
  169. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/__init__.py +0 -0
  170. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/base_classes/__init__.py +0 -0
  171. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +0 -0
  172. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +0 -0
  173. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_combobox/__init__.py +0 -0
  174. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box.pyproject +0 -0
  175. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box_plugin.py +0 -0
  176. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +0 -0
  177. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_combobox/register_device_combo_box.py +0 -0
  178. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_line_edit/__init__.py +0 -0
  179. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +0 -0
  180. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pyproject +0 -0
  181. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py +0 -0
  182. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py +0 -0
  183. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_combobox/__init__.py +0 -0
  184. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combo_box.py +0 -0
  185. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box.pyproject +0 -0
  186. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box_plugin.py +0 -0
  187. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +0 -0
  188. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_line_edit/__init__.py +0 -0
  189. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py +0 -0
  190. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +0 -0
  191. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject +0 -0
  192. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +0 -0
  193. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/scan_control/__init__.py +0 -0
  194. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/scan_control/register_scan_control.py +0 -0
  195. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/scan_control/scan_control.py +0 -0
  196. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/scan_control/scan_control.pyproject +0 -0
  197. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/scan_control/scan_control_plugin.py +0 -0
  198. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/control/scan_control/scan_group_box.py +0 -0
  199. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/__init__.py +0 -0
  200. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/dap_combo_box/__init__.py +0 -0
  201. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.pyproject +0 -0
  202. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box_plugin.py +0 -0
  203. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py +0 -0
  204. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/__init__.py +0 -0
  205. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject +0 -0
  206. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py +0 -0
  207. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +0 -0
  208. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui +0 -0
  209. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +0 -0
  210. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py +0 -0
  211. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/__init__.py +0 -0
  212. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/console/__init__.py +0 -0
  213. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/console/console.pyproject +0 -0
  214. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/console/console_plugin.py +0 -0
  215. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/console/register_console.py +0 -0
  216. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/dict_backed_table.py +0 -0
  217. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/jupyter_console/__init__.py +0 -0
  218. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/jupyter_console/jupyter_console.py +0 -0
  219. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/scan_metadata/__init__.py +0 -0
  220. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/scan_metadata/_util.py +0 -0
  221. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/scan_metadata/register_scan_metadata.py +0 -0
  222. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/scan_metadata/scan_metadata.py +0 -0
  223. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/scan_metadata/scan_metadata.pyproject +0 -0
  224. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/scan_metadata/scan_metadata_plugin.py +0 -0
  225. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/text_box/__init__.py +0 -0
  226. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/text_box/register_text_box.py +0 -0
  227. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/text_box/text_box.py +0 -0
  228. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/text_box/text_box.pyproject +0 -0
  229. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/text_box/text_box_plugin.py +0 -0
  230. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/vscode/__init__.py +0 -0
  231. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/vscode/register_vs_code_editor.py +0 -0
  232. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/vscode/vs_code_editor.pyproject +0 -0
  233. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/vscode/vs_code_editor_plugin.py +0 -0
  234. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/vscode/vscode.py +0 -0
  235. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/website/__init__.py +0 -0
  236. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/website/register_website_widget.py +0 -0
  237. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/website/website.py +0 -0
  238. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/website/website_widget.pyproject +0 -0
  239. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/editors/website/website_widget_plugin.py +0 -0
  240. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/games/__init__.py +0 -0
  241. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/games/minesweeper.py +0 -0
  242. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/games/minesweeper.pyproject +0 -0
  243. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/games/minesweeper_plugin.py +0 -0
  244. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/games/register_minesweeper.py +0 -0
  245. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/__init__.py +0 -0
  246. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/__init__.py +0 -0
  247. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/image.py +0 -0
  248. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/image.pyproject +0 -0
  249. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/image_item.py +0 -0
  250. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/image_plugin.py +0 -0
  251. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/image_processor.py +0 -0
  252. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/register_image.py +0 -0
  253. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/toolbar_bundles/__init__.py +0 -0
  254. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/toolbar_bundles/image_selection.py +0 -0
  255. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/image/toolbar_bundles/processing.py +0 -0
  256. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/__init__.py +0 -0
  257. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/motor_map.py +0 -0
  258. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/motor_map.pyproject +0 -0
  259. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/motor_map_plugin.py +0 -0
  260. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/register_motor_map.py +0 -0
  261. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/settings/__init__.py +0 -0
  262. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/settings/motor_map_settings.py +0 -0
  263. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/settings/motor_map_settings.ui +0 -0
  264. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/toolbar_bundles/__init__.py +0 -0
  265. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/motor_map/toolbar_bundles/motor_selection.py +0 -0
  266. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/__init__.py +0 -0
  267. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform.py +0 -0
  268. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform.pyproject +0 -0
  269. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_plugin.py +0 -0
  270. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/register_multi_waveform.py +0 -0
  271. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/settings/__init__.py +0 -0
  272. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/settings/control_panel.py +0 -0
  273. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/settings/multi_waveform_controls.ui +0 -0
  274. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/toolbar_bundles/__init__.py +0 -0
  275. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/multi_waveform/toolbar_bundles/monitor_selection.py +0 -0
  276. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/plot_base.py +0 -0
  277. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/__init__.py +0 -0
  278. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/register_scatter_waveform.py +0 -0
  279. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/scatter_curve.py +0 -0
  280. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.py +0 -0
  281. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform.pyproject +0 -0
  282. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/scatter_waveform_plugin.py +0 -0
  283. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/settings/__init__.py +0 -0
  284. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_setting.py +0 -0
  285. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_settings_horizontal.ui +0 -0
  286. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/scatter_waveform/settings/scatter_curve_settings_vertical.ui +0 -0
  287. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/setting_menus/__init__.py +0 -0
  288. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/setting_menus/axis_settings.py +0 -0
  289. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/setting_menus/axis_settings_horizontal.ui +0 -0
  290. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/setting_menus/axis_settings_vertical.ui +0 -0
  291. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/toolbar_bundles/__init__.py +0 -0
  292. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/toolbar_bundles/mouse_interactions.py +0 -0
  293. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/toolbar_bundles/plot_export.py +0 -0
  294. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/toolbar_bundles/roi_bundle.py +0 -0
  295. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/toolbar_bundles/save_state.py +0 -0
  296. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/__init__.py +0 -0
  297. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/curve.py +0 -0
  298. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/register_waveform.py +0 -0
  299. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/settings/__init__.py +0 -0
  300. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/settings/curve_settings/__init__.py +0 -0
  301. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_setting.py +0 -0
  302. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_tree.py +0 -0
  303. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/utils/__init__.py +0 -0
  304. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/utils/roi_manager.py +0 -0
  305. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/waveform.py +0 -0
  306. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/waveform.pyproject +0 -0
  307. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/plots/waveform/waveform_plugin.py +0 -0
  308. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/__init__.py +0 -0
  309. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/bec_progressbar/__init__.py +0 -0
  310. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject +0 -0
  311. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar_plugin.py +0 -0
  312. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +0 -0
  313. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/bec_progressbar/register_bec_progress_bar.py +0 -0
  314. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/ring_progress_bar/__init__.py +0 -0
  315. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/ring_progress_bar/register_ring_progress_bar.py +0 -0
  316. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/ring_progress_bar/ring.py +0 -0
  317. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +0 -0
  318. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.pyproject +0 -0
  319. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
  320. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/__init__.py +0 -0
  321. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_queue/__init__.py +0 -0
  322. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_queue/bec_queue.py +0 -0
  323. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_queue/bec_queue.pyproject +0 -0
  324. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_queue/bec_queue_plugin.py +0 -0
  325. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_queue/register_bec_queue.py +0 -0
  326. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_status_box/__init__.py +0 -0
  327. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box.py +0 -0
  328. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box.pyproject +0 -0
  329. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box_plugin.py +0 -0
  330. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/bec_status_box/register_bec_status_box.py +0 -0
  331. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/__init__.py +0 -0
  332. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/device_browser.py +0 -0
  333. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/device_browser.pyproject +0 -0
  334. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/device_browser.ui +0 -0
  335. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/device_browser_plugin.py +0 -0
  336. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/device_item/__init__.py +0 -0
  337. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/device_item/device_item.py +0 -0
  338. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/services/device_browser/register_device_browser.py +0 -0
  339. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/__init__.py +0 -0
  340. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/logpanel/__init__.py +0 -0
  341. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/logpanel/log_panel.pyproject +0 -0
  342. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/logpanel/log_panel_plugin.py +0 -0
  343. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/logpanel/logpanel.py +0 -0
  344. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/logpanel/register_log_panel.py +0 -0
  345. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinbox/__init__.py +0 -0
  346. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinbox/bec_spin_box.pyproject +0 -0
  347. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinbox/bec_spin_box_plugin.py +0 -0
  348. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinbox/decimal_spinbox.py +0 -0
  349. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinbox/register_bec_spin_box.py +0 -0
  350. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinner/__init__.py +0 -0
  351. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinner/register_spinner_widget.py +0 -0
  352. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinner/spinner.py +0 -0
  353. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinner/spinner_widget.pyproject +0 -0
  354. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/spinner/spinner_widget_plugin.py +0 -0
  355. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/toggle/__init__.py +0 -0
  356. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/toggle/register_toggle_switch.py +0 -0
  357. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/toggle/toggle.py +0 -0
  358. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/toggle/toggle_switch.pyproject +0 -0
  359. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/toggle/toggle_switch_plugin.py +0 -0
  360. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/__init__.py +0 -0
  361. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/color_button/__init__.py +0 -0
  362. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/color_button/color_button.py +0 -0
  363. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/color_button/color_button.pyproject +0 -0
  364. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py +0 -0
  365. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/color_button/register_color_button.py +0 -0
  366. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_selector/__init__.py +0 -0
  367. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.py +0 -0
  368. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.pyproject +0 -0
  369. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector_plugin.py +0 -0
  370. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_selector/register_colormap_selector.py +0 -0
  371. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_widget/__init__.py +0 -0
  372. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget.pyproject +0 -0
  373. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget_plugin.py +0 -0
  374. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/colormap_widget/register_bec_color_map_widget.py +0 -0
  375. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/dark_mode_button/__init__.py +0 -0
  376. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +0 -0
  377. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject +0 -0
  378. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py +0 -0
  379. {bec_widgets-2.0.3 → bec_widgets-2.1.1}/bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py +0 -0
@@ -77,7 +77,7 @@ formatter:
77
77
  stage: Formatter
78
78
  needs: []
79
79
  script:
80
- - pip install bec_lib[dev]
80
+ - pip install -e ./[dev]
81
81
  - isort --check --diff --line-length=100 --profile=black --multi-line=3 --trailing-comma ./
82
82
  - black --check --diff --color --line-length=100 --skip-magic-trailing-comma ./
83
83
  rules:
@@ -203,7 +203,7 @@ test-matrix:
203
203
  end-2-end-conda:
204
204
  stage: End2End
205
205
  needs: []
206
- image: continuumio/miniconda3
206
+ image: continuumio/miniconda3:25.1.1-2
207
207
  allow_failure: false
208
208
  variables:
209
209
  QT_QPA_PLATFORM: "offscreen"
@@ -1,6 +1,52 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v2.1.1 (2025-05-06)
5
+
6
+ ### Bug Fixes
7
+
8
+ - Import add operator in client
9
+ ([`55f7efc`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/55f7efc4f586128dfb66fc6a8eb5d3a9f32bf61e))
10
+
11
+ ### Refactoring
12
+
13
+ - Supply bec designer filename to function
14
+ ([`be72c9f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/be72c9f2708c93dab24d4383f5622e38cf1dc8a2))
15
+
16
+
17
+ ## v2.1.0 (2025-05-05)
18
+
19
+ ### Bug Fixes
20
+
21
+ - Ensure rpc object do not collide with protected names
22
+ ([`94463af`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/94463afdba11fe2da5958a371ef49572889b8622))
23
+
24
+ ### Chores
25
+
26
+ - **formatter**: Upgrade to black v25
27
+ ([`452124b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/452124b528c41db14d1e34ab98db95f6f7230ad6))
28
+
29
+ ### Continuous Integration
30
+
31
+ - Install dev dependencies for formatter
32
+ ([`fff4af2`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fff4af2489bdea0cf4f6f8db68db59fba411c25e))
33
+
34
+ ### Features
35
+
36
+ - **SafeSlot**: Slot parameters can be overridden with kwarg; add option to raise
37
+ ([`9387275`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/93872758517177503b1f868376a6095670131844))
38
+
39
+ ### Refactoring
40
+
41
+ - **colormap_widget**: Widget is rounded
42
+ ([`02563b1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/02563b10f3c90bddc069446dfe4137aa5a9727cb))
43
+
44
+ ### Testing
45
+
46
+ - **Dock**: Add validation for new dock creation with invalid name
47
+ ([`c16b9dc`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c16b9dce9ce629b794d731cd7f3282a59f8b8c59))
48
+
49
+
4
50
  ## v2.0.3 (2025-05-02)
5
51
 
6
52
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bec_widgets
3
- Version: 2.0.3
3
+ Version: 2.1.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
@@ -12,7 +12,7 @@ Requires-Python: >=3.10
12
12
  Requires-Dist: bec-ipython-client<=4.0,>=2.21.4
13
13
  Requires-Dist: bec-lib<=4.0,>=3.29
14
14
  Requires-Dist: bec-qthemes>=0.7,~=0.7
15
- Requires-Dist: black~=24.0
15
+ Requires-Dist: black~=25.0
16
16
  Requires-Dist: isort>=5.13.2,~=5.13
17
17
  Requires-Dist: pydantic~=2.0
18
18
  Requires-Dist: pyqtgraph~=0.13
@@ -23,6 +23,7 @@ Requires-Dist: qtpy~=2.4
23
23
  Provides-Extra: dev
24
24
  Requires-Dist: coverage~=7.0; extra == 'dev'
25
25
  Requires-Dist: fakeredis>=2.23.2,~=2.23; extra == 'dev'
26
+ Requires-Dist: isort>=5.13.2,~=5.13; extra == 'dev'
26
27
  Requires-Dist: pytest-bec-e2e<=4.0,>=2.21.4; extra == 'dev'
27
28
  Requires-Dist: pytest-qt~=4.4; extra == 'dev'
28
29
  Requires-Dist: pytest-random-order~=1.1; extra == 'dev'
@@ -235,10 +235,8 @@ class LaunchWindow(BECMainWindow):
235
235
  raise ValueError(
236
236
  f"Name {name} must be unique for dock areas, but already exists: {existing_dock_areas}."
237
237
  )
238
- if not WidgetContainerUtils.has_name_valid_chars(name):
239
- raise ValueError(
240
- f"Name {name} contains invalid characters. Only alphanumeric characters, underscores, and dashes are allowed."
241
- )
238
+ WidgetContainerUtils.raise_for_invalid_name(name)
239
+
242
240
  else:
243
241
  name = "dock_area"
244
242
  name = WidgetContainerUtils.generate_unique_name(name, existing_dock_areas)
@@ -284,6 +282,8 @@ class LaunchWindow(BECMainWindow):
284
282
  raise ValueError("UI file must be provided for custom UI file launch.")
285
283
  filename = os.path.basename(ui_file).split(".")[0]
286
284
 
285
+ WidgetContainerUtils.raise_for_invalid_name(filename)
286
+
287
287
  tree = ET.parse(ui_file)
288
288
  root = tree.getroot()
289
289
  # Check if the top-level widget is a QMainWindow
@@ -7,6 +7,7 @@ import enum
7
7
  import inspect
8
8
  import traceback
9
9
  from functools import reduce
10
+ from operator import add
10
11
  from typing import Literal, Optional
11
12
 
12
13
  from bec_lib.logger import bec_logger
@@ -41,6 +41,7 @@ class ClientGenerator:
41
41
  import inspect
42
42
  import traceback
43
43
  from functools import reduce
44
+ from operator import add
44
45
  from typing import Literal, Optional
45
46
  """
46
47
  if self._base
@@ -16,9 +16,9 @@ if PYSIDE6:
16
16
  from PySide6.scripts.pyside_tool import (
17
17
  _extend_path_var,
18
18
  init_virtual_env,
19
- qt_tool_wrapper,
20
19
  is_pyenv_python,
21
20
  is_virtual_env,
21
+ qt_tool_wrapper,
22
22
  ui_tool_binary,
23
23
  )
24
24
 
@@ -78,7 +78,7 @@ def list_editable_packages() -> set[str]:
78
78
  return editable_packages
79
79
 
80
80
 
81
- def patch_designer(): # pragma: no cover
81
+ def patch_designer(cmd_args: list[str] = []): # pragma: no cover
82
82
  if not PYSIDE6:
83
83
  print("PYSIDE6 is not available in the environment. Cannot patch designer.")
84
84
  return
@@ -119,7 +119,7 @@ def patch_designer(): # pragma: no cover
119
119
  editable_packages = list_editable_packages()
120
120
  for pckg in editable_packages:
121
121
  _extend_path_var("PYTHONPATH", pckg, True)
122
- qt_tool_wrapper(ui_tool_binary("designer"), sys.argv[1:])
122
+ qt_tool_wrapper(ui_tool_binary("designer"), cmd_args)
123
123
 
124
124
 
125
125
  def find_plugin_paths(base_path: Path):
@@ -147,7 +147,7 @@ def set_plugin_environment_variable(plugin_paths):
147
147
 
148
148
 
149
149
  # Patch the designer function
150
- def main(): # pragma: no cover
150
+ def open_designer(cmd_args: list[str] = []): # pragma: no cover
151
151
  if not PYSIDE6:
152
152
  print("PYSIDE6 is not available in the environment. Exiting...")
153
153
  return
@@ -160,7 +160,11 @@ def main(): # pragma: no cover
160
160
 
161
161
  set_plugin_environment_variable(plugin_paths)
162
162
 
163
- patch_designer()
163
+ patch_designer(cmd_args)
164
+
165
+
166
+ def main():
167
+ open_designer(sys.argv[1:])
164
168
 
165
169
 
166
170
  if __name__ == "__main__": # pragma: no cover
@@ -21,7 +21,7 @@ def _submodule_specs(module: ModuleType) -> tuple[ModuleSpec | None, ...]:
21
21
 
22
22
 
23
23
  def _loaded_submodules_from_specs(
24
- submodule_specs: tuple[ModuleSpec | None, ...]
24
+ submodule_specs: tuple[ModuleSpec | None, ...],
25
25
  ) -> Generator[ModuleType, None, None]:
26
26
  """Load all submodules from the given specs."""
27
27
  for submodule in (
@@ -1,6 +1,6 @@
1
- """ This custom class is a thin wrapper around the SignalProxy class to allow signal calls to be blocked.
1
+ """This custom class is a thin wrapper around the SignalProxy class to allow signal calls to be blocked.
2
2
  Unblocking the proxy needs to be done through the slot unblock_proxy. The most likely use case for this class is
3
- when the callback function is potentially initiating a slower progress, i.e. requesting a data analysis routine to
3
+ when the callback function is potentially initiating a slower progress, i.e. requesting a data analysis routine to
4
4
  analyse data. Requesting a new fit may lead to request piling up and an overall slow done of performance. This proxy
5
5
  will allow you to decide by yourself when to unblock and execute the callback again."""
6
6
 
@@ -1,11 +1,10 @@
1
1
  from __future__ import annotations
2
2
 
3
- import itertools
4
- from typing import Literal, Type
3
+ from typing import Any, Type
5
4
 
6
5
  from qtpy.QtWidgets import QWidget
7
6
 
8
- from bec_widgets.cli.rpc.rpc_register import RPCRegister
7
+ from bec_widgets.cli.client_utils import BECGuiClient
9
8
 
10
9
 
11
10
  class WidgetContainerUtils:
@@ -73,3 +72,36 @@ class WidgetContainerUtils:
73
72
  return None
74
73
  else:
75
74
  raise ValueError(f"No widget of class {widget_class} found.")
75
+
76
+ @staticmethod
77
+ def name_is_protected(name: str, container: Any = None) -> bool:
78
+ """
79
+ Check if the name is not protected.
80
+
81
+ Args:
82
+ name(str): The name to be checked.
83
+
84
+ Returns:
85
+ bool: True if the name is not protected, False otherwise.
86
+ """
87
+ if container is None:
88
+ container = BECGuiClient
89
+ gui_client_methods = set(filter(lambda x: not x.startswith("_"), dir(container)))
90
+ return name in gui_client_methods
91
+
92
+ @staticmethod
93
+ def raise_for_invalid_name(name: str, container: Any = None) -> None:
94
+ """
95
+ Check if the name is valid. If not, raise a ValueError.
96
+
97
+ Args:
98
+ name(str): The name to be checked.
99
+ Raises:
100
+ ValueError: If the name is not valid.
101
+ """
102
+ if not WidgetContainerUtils.has_name_valid_chars(name):
103
+ raise ValueError(
104
+ f"Name '{name}' contains invalid characters. Only alphanumeric characters, underscores, and dashes are allowed."
105
+ )
106
+ if WidgetContainerUtils.name_is_protected(name, container):
107
+ raise ValueError(f"Name '{name}' is protected. Please choose another name.")
@@ -99,16 +99,30 @@ def SafeSlot(*slot_args, **slot_kwargs): # pylint: disable=invalid-name
99
99
  'verify_sender' keyword argument can be passed with boolean value if the sender should be verified
100
100
  before executing the slot. If True, the slot will only execute if the sender is a QObject. This is
101
101
  useful to prevent function calls from already deleted objects.
102
+ 'raise_error' keyword argument can be passed with boolean value if the error should be raised
103
+ after the error is displayed. This is useful to propagate the error to the caller but should be used
104
+ with great care to avoid segfaults.
105
+
106
+ The keywords above are stored in a container which can be overridden by passing
107
+ '_override_slot_params' keyword argument with a dictionary containing the keywords to override.
108
+ This is useful to override the default behavior of the decorator for a specific function call.
109
+
102
110
  """
103
- popup_error = bool(slot_kwargs.pop("popup_error", False))
104
- verify_sender = bool(slot_kwargs.pop("verify_sender", False))
111
+ _slot_params = {
112
+ "popup_error": bool(slot_kwargs.pop("popup_error", False)),
113
+ "verify_sender": bool(slot_kwargs.pop("verify_sender", False)),
114
+ "raise_error": bool(slot_kwargs.pop("raise_error", False)),
115
+ }
105
116
 
106
117
  def error_managed(method):
107
118
  @Slot(*slot_args, **slot_kwargs)
108
119
  @functools.wraps(method)
109
120
  def wrapper(*args, **kwargs):
121
+
122
+ _override_slot_params = kwargs.pop("_override_slot_params", {})
123
+ _slot_params.update(_override_slot_params)
110
124
  try:
111
- if not verify_sender or len(args) == 0:
125
+ if not _slot_params["verify_sender"] or len(args) == 0:
112
126
  return method(*args, **kwargs)
113
127
 
114
128
  _instance = args[0]
@@ -126,11 +140,11 @@ def SafeSlot(*slot_args, **slot_kwargs): # pylint: disable=invalid-name
126
140
  except Exception:
127
141
  slot_name = f"{method.__module__}.{method.__qualname__}"
128
142
  error_msg = traceback.format_exc()
129
- if popup_error:
130
- ErrorPopupUtility().custom_exception_hook(
131
- *sys.exc_info(), popup_error=popup_error
132
- )
143
+ if _slot_params["popup_error"]:
144
+ ErrorPopupUtility().custom_exception_hook(*sys.exc_info(), popup_error=True)
133
145
  logger.error(f"SafeSlot error in slot '{slot_name}':\n{error_msg}")
146
+ if _slot_params["raise_error"]:
147
+ raise
134
148
 
135
149
  return wrapper
136
150
 
@@ -1,5 +1,5 @@
1
- """ Module for a thin wrapper (LinearRegionWrapper) around the LinearRegionItem in pyqtgraph.
2
- The class is mainly designed for usage with the BECWaveform and 1D plots. """
1
+ """Module for a thin wrapper (LinearRegionWrapper) around the LinearRegionItem in pyqtgraph.
2
+ The class is mainly designed for usage with the BECWaveform and 1D plots."""
3
3
 
4
4
  from __future__ import annotations
5
5
 
@@ -303,11 +303,7 @@ class BECDock(BECWidget, Dock):
303
303
  shift(Literal["down", "up", "left", "right"]): The direction to shift the widgets if the position is occupied.
304
304
  """
305
305
  if name is not None:
306
- if not WidgetContainerUtils.has_name_valid_chars(name):
307
- raise ValueError(
308
- f"Name {name} contains invalid characters. "
309
- f"Only alphanumeric characters and underscores are allowed."
310
- )
306
+ WidgetContainerUtils.raise_for_invalid_name(name, container=self)
311
307
 
312
308
  if row is None:
313
309
  row = self.layout.rowCount()
@@ -366,11 +366,8 @@ class BECDockArea(BECWidget, QWidget):
366
366
  f"Name {name} must be unique for docks, but already exists in DockArea "
367
367
  f"with name: {self.object_name} and id {self.gui_id}."
368
368
  )
369
- if not WidgetContainerUtils.has_name_valid_chars(name):
370
- raise ValueError(
371
- f"Name {name} contains invalid characters. "
372
- f"Only alphanumeric characters and underscores are allowed."
373
- )
369
+ WidgetContainerUtils.raise_for_invalid_name(name, container=self)
370
+
374
371
  else: # Name is not provided
375
372
  name = WidgetContainerUtils.generate_unique_name(name="dock", list_of_names=dock_names)
376
373
 
@@ -1,4 +1,4 @@
1
- """ Module for a PositionerGroup widget to control a positioner device."""
1
+ """Module for a PositionerGroup widget to control a positioner device."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -1,4 +1,4 @@
1
- """ Module for DapComboBox widget class to select a DAP model from a combobox. """
1
+ """Module for DapComboBox widget class to select a DAP model from a combobox."""
2
2
 
3
3
  from bec_lib.logger import bec_logger
4
4
  from qtpy.QtCore import Property, Signal, Slot
@@ -1,5 +1,5 @@
1
1
  """
2
- BECConsole is a Qt widget that runs a Bash shell.
2
+ BECConsole is a Qt widget that runs a Bash shell.
3
3
 
4
4
  BECConsole VT100 emulation is powered by Pyte,
5
5
  (https://github.com/selectel/pyte).
@@ -56,12 +56,12 @@ control_keys_mapping = {
56
56
  QtCore.Qt.Key_G: b"\x07", # Ctrl-G (Bell)
57
57
  QtCore.Qt.Key_H: b"\x08", # Ctrl-H (Backspace)
58
58
  QtCore.Qt.Key_I: b"\x09", # Ctrl-I (Tab)
59
- QtCore.Qt.Key_J: b"\x0A", # Ctrl-J (Line Feed)
60
- QtCore.Qt.Key_K: b"\x0B", # Ctrl-K (Vertical Tab)
61
- QtCore.Qt.Key_L: b"\x0C", # Ctrl-L (Form Feed)
62
- QtCore.Qt.Key_M: b"\x0D", # Ctrl-M (Carriage Return)
63
- QtCore.Qt.Key_N: b"\x0E", # Ctrl-N
64
- QtCore.Qt.Key_O: b"\x0F", # Ctrl-O
59
+ QtCore.Qt.Key_J: b"\x0a", # Ctrl-J (Line Feed)
60
+ QtCore.Qt.Key_K: b"\x0b", # Ctrl-K (Vertical Tab)
61
+ QtCore.Qt.Key_L: b"\x0c", # Ctrl-L (Form Feed)
62
+ QtCore.Qt.Key_M: b"\x0d", # Ctrl-M (Carriage Return)
63
+ QtCore.Qt.Key_N: b"\x0e", # Ctrl-N
64
+ QtCore.Qt.Key_O: b"\x0f", # Ctrl-O
65
65
  QtCore.Qt.Key_P: b"\x10", # Ctrl-P
66
66
  QtCore.Qt.Key_Q: b"\x11", # Ctrl-Q
67
67
  QtCore.Qt.Key_R: b"\x12", # Ctrl-R
@@ -72,10 +72,10 @@ control_keys_mapping = {
72
72
  QtCore.Qt.Key_W: b"\x17", # Ctrl-W
73
73
  QtCore.Qt.Key_X: b"\x18", # Ctrl-X
74
74
  QtCore.Qt.Key_Y: b"\x19", # Ctrl-Y
75
- QtCore.Qt.Key_Z: b"\x1A", # Ctrl-Z
76
- QtCore.Qt.Key_Escape: b"\x1B", # Ctrl-Escape
77
- QtCore.Qt.Key_Backslash: b"\x1C", # Ctrl-\
78
- QtCore.Qt.Key_Underscore: b"\x1F", # Ctrl-_
75
+ QtCore.Qt.Key_Z: b"\x1a", # Ctrl-Z
76
+ QtCore.Qt.Key_Escape: b"\x1b", # Ctrl-Escape
77
+ QtCore.Qt.Key_Backslash: b"\x1c", # Ctrl-\
78
+ QtCore.Qt.Key_Underscore: b"\x1f", # Ctrl-_
79
79
  }
80
80
 
81
81
  normal_keys_mapping = {
@@ -89,7 +89,7 @@ normal_keys_mapping = {
89
89
  QtCore.Qt.Key_Left: b"\x02",
90
90
  QtCore.Qt.Key_Up: b"\x10",
91
91
  QtCore.Qt.Key_Right: b"\x06",
92
- QtCore.Qt.Key_Down: b"\x0E",
92
+ QtCore.Qt.Key_Down: b"\x0e",
93
93
  QtCore.Qt.Key_PageUp: b"\x49",
94
94
  QtCore.Qt.Key_PageDown: b"\x51",
95
95
  QtCore.Qt.Key_F1: b"\x1b\x31",
@@ -1,4 +1,4 @@
1
- """ Module for a StatusItem widget to display status and metrics for a BEC service.
1
+ """Module for a StatusItem widget to display status and metrics for a BEC service.
2
2
  The widget is bound to be used with the BECStatusBox widget."""
3
3
 
4
4
  import enum
@@ -1,4 +1,4 @@
1
- """ Utilities for filtering and formatting in the LogPanel"""
1
+ """Utilities for filtering and formatting in the LogPanel"""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -1,4 +1,5 @@
1
1
  from pyqtgraph.widgets.ColorMapButton import ColorMapButton
2
+ from qtpy import QtCore, QtGui
2
3
  from qtpy.QtCore import Property, Signal, Slot
3
4
  from qtpy.QtWidgets import QSizePolicy, QVBoxLayout, QWidget
4
5
 
@@ -6,6 +7,23 @@ from bec_widgets.utils import Colors
6
7
  from bec_widgets.utils.bec_widget import BECWidget
7
8
 
8
9
 
10
+ class RoundedColorMapButton(ColorMapButton):
11
+ """Thin wrapper around pyqtgraph ColorMapButton to add rounded clipping."""
12
+
13
+ def __init__(self, *args, **kwargs):
14
+ super().__init__(*args, **kwargs)
15
+ self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
16
+
17
+ def paintEvent(self, evt):
18
+ painter = QtGui.QPainter(self)
19
+ painter.setRenderHint(QtGui.QPainter.Antialiasing)
20
+ path = QtGui.QPainterPath()
21
+ path.addRoundedRect(self.rect(), 8, 8)
22
+ painter.setClipPath(path)
23
+ self.paintColorMap(painter, self.contentsRect())
24
+ painter.end()
25
+
26
+
9
27
  class BECColorMapWidget(BECWidget, QWidget):
10
28
  colormap_changed_signal = Signal(str)
11
29
  ICON_NAME = "palette"
@@ -15,7 +33,7 @@ class BECColorMapWidget(BECWidget, QWidget):
15
33
  def __init__(self, parent=None, cmap: str = "plasma", **kwargs):
16
34
  super().__init__(parent=parent, **kwargs)
17
35
  # Create the ColorMapButton
18
- self.button = ColorMapButton()
36
+ self.button = RoundedColorMapButton()
19
37
 
20
38
  # Set the size policy and minimum width
21
39
  size_policy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "2.0.3"
7
+ version = "2.1.1"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -16,7 +16,7 @@ dependencies = [
16
16
  "bec_ipython_client>=2.21.4, <=4.0", # needed for jupyter console
17
17
  "bec_lib>=3.29, <=4.0",
18
18
  "bec_qthemes~=0.7, >=0.7",
19
- "black~=24.0", # needed for bw-generate-cli
19
+ "black~=25.0", # needed for bw-generate-cli
20
20
  "isort~=5.13, >=5.13.2", # needed for bw-generate-cli
21
21
  "pydantic~=2.0",
22
22
  "pyqtgraph~=0.13",
@@ -31,6 +31,7 @@ dependencies = [
31
31
  dev = [
32
32
  "coverage~=7.0",
33
33
  "fakeredis~=2.23, >=2.23.2",
34
+ "isort~=5.13, >=5.13.2",
34
35
  "pytest-bec-e2e>=2.21.4, <=4.0",
35
36
  "pytest-qt~=4.4",
36
37
  "pytest-random-order~=1.1",
File without changes
File without changes
File without changes
File without changes