bec-widgets 1.14.1__tar.gz → 1.15.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 (328) hide show
  1. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/CHANGELOG.md +19 -0
  2. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/PKG-INFO +1 -1
  3. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/error_popups.py +45 -10
  4. bec_widgets-1.15.1/bec_widgets/utils/widget_state_manager.py +151 -0
  5. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/pyproject.toml +1 -1
  6. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.git_hooks/pre-commit +0 -0
  7. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.gitignore +0 -0
  8. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.gitlab/issue_templates/bug_report_template.md +0 -0
  9. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  10. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.gitlab/issue_templates/feature_request_template.md +0 -0
  11. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.gitlab/merge_request_templates/default.md +0 -0
  12. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.gitlab-ci.yml +0 -0
  13. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.pylintrc +0 -0
  14. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/.readthedocs.yaml +0 -0
  15. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/LICENSE +0 -0
  16. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/README.md +0 -0
  17. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/__init__.py +0 -0
  18. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/applications/__init__.py +0 -0
  19. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/applications/alignment/__init__.py +0 -0
  20. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/applications/alignment/alignment_1d/__init__.py +0 -0
  21. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.py +0 -0
  22. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui +0 -0
  23. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/applications/bec_app.py +0 -0
  24. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/assets/app_icons/BEC-General-App.png +0 -0
  25. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/assets/app_icons/alignment_1d.png +0 -0
  26. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  27. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/__init__.py +0 -0
  28. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/auto_updates.py +0 -0
  29. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/client.py +0 -0
  30. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/client_utils.py +0 -0
  31. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/generate_cli.py +0 -0
  32. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/rpc/__init__.py +0 -0
  33. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/rpc/rpc_base.py +0 -0
  34. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/rpc/rpc_register.py +0 -0
  35. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/rpc/rpc_widget_handler.py +0 -0
  36. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/cli/server.py +0 -0
  37. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/__init__.py +0 -0
  38. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/general_app/__init__.py +0 -0
  39. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/general_app/general_app.py +0 -0
  40. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/general_app/general_app.ui +0 -0
  41. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/general_app/web_links.py +0 -0
  42. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  43. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  44. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  45. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  46. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  47. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  48. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  49. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  50. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  51. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/__init__.py +0 -0
  52. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/collapsible_panel_manager.py +0 -0
  53. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/compact_popup.py +0 -0
  54. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/palette_viewer.py +0 -0
  55. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
  56. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/round_frame.py +0 -0
  57. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/settings_dialog.py +0 -0
  58. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/side_panel.py +0 -0
  59. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/qt_utils/toolbar.py +0 -0
  60. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/tests/__init__.py +0 -0
  61. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/tests/utils.py +0 -0
  62. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/__init__.py +0 -0
  63. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/bec_connector.py +0 -0
  64. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/bec_designer.py +0 -0
  65. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/bec_dispatcher.py +0 -0
  66. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/bec_signal_proxy.py +0 -0
  67. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/bec_table.py +0 -0
  68. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/bec_widget.py +0 -0
  69. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/colors.py +0 -0
  70. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/container_utils.py +0 -0
  71. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/crosshair.py +0 -0
  72. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/entry_validator.py +0 -0
  73. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/filter_io.py +0 -0
  74. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/fps_counter.py +0 -0
  75. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  76. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/layout_manager.py +0 -0
  77. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/linear_region_selector.py +0 -0
  78. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/ophyd_kind_util.py +0 -0
  79. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/plot_indicator_items.py +0 -0
  80. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
  81. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/plugin_templates/register.template +0 -0
  82. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/plugin_utils.py +0 -0
  83. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/reference_utils.py +0 -0
  84. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/rpc_decorator.py +0 -0
  85. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/thread_checker.py +0 -0
  86. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/ui_loader.py +0 -0
  87. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/validator_delegate.py +0 -0
  88. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/widget_io.py +0 -0
  89. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/utils/yaml_dialog.py +0 -0
  90. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/__init__.py +0 -0
  91. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/__init__.py +0 -0
  92. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/dock/__init__.py +0 -0
  93. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/dock/dock.py +0 -0
  94. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/dock/dock_area.py +0 -0
  95. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/dock/dock_area.pyproject +0 -0
  96. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/dock/dock_area_plugin.py +0 -0
  97. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/dock/register_dock_area.py +0 -0
  98. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/__init__.py +0 -0
  99. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/figure.py +0 -0
  100. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/__init__.py +0 -0
  101. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/axis_settings.py +0 -0
  102. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/axis_settings.ui +0 -0
  103. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/image/__init__.py +0 -0
  104. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/image/image.py +0 -0
  105. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/image/image_item.py +0 -0
  106. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/image/image_processor.py +0 -0
  107. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/motor_map/__init__.py +0 -0
  108. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/motor_map/motor_map.py +0 -0
  109. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/multi_waveform/__init__.py +0 -0
  110. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/multi_waveform/multi_waveform.py +0 -0
  111. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/plot_base.py +0 -0
  112. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/waveform/__init__.py +0 -0
  113. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/waveform/waveform.py +0 -0
  114. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py +0 -0
  115. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/layout_manager/__init__.py +0 -0
  116. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/layout_manager/layout_manager.py +0 -0
  117. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/main_window/__init__.py +0 -0
  118. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/containers/main_window/main_window.py +0 -0
  119. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/__init__.py +0 -0
  120. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/__init__.py +0 -0
  121. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_abort/__init__.py +0 -0
  122. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_abort/abort_button.pyproject +0 -0
  123. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_abort/abort_button_plugin.py +0 -0
  124. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_abort/button_abort.py +0 -0
  125. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_abort/register_abort_button.py +0 -0
  126. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_reset/__init__.py +0 -0
  127. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_reset/button_reset.py +0 -0
  128. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_reset/register_reset_button.py +0 -0
  129. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_reset/reset_button.pyproject +0 -0
  130. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_reset/reset_button_plugin.py +0 -0
  131. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_resume/__init__.py +0 -0
  132. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_resume/button_resume.py +0 -0
  133. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_resume/register_resume_button.py +0 -0
  134. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_resume/resume_button.pyproject +0 -0
  135. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/button_resume/resume_button_plugin.py +0 -0
  136. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/stop_button/__init__.py +0 -0
  137. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/stop_button/register_stop_button.py +0 -0
  138. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button.py +0 -0
  139. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button.pyproject +0 -0
  140. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/buttons/stop_button/stop_button_plugin.py +0 -0
  141. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/__init__.py +0 -0
  142. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/position_indicator/__init__.py +0 -0
  143. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +0 -0
  144. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.pyproject +0 -0
  145. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator_plugin.py +0 -0
  146. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/position_indicator/register_position_indicator.py +0 -0
  147. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/__init__.py +0 -0
  148. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py +0 -0
  149. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.pyproject +0 -0
  150. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.ui +0 -0
  151. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py +0 -0
  152. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py +0 -0
  153. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.pyproject +0 -0
  154. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.ui +0 -0
  155. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py +0 -0
  156. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_box.py +0 -0
  157. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py +0 -0
  158. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_group/__init__.py +0 -0
  159. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +0 -0
  160. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.pyproject +0 -0
  161. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group_plugin.py +0 -0
  162. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_control/positioner_group/register_positioner_group.py +0 -0
  163. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/__init__.py +0 -0
  164. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/base_classes/__init__.py +0 -0
  165. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +0 -0
  166. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +0 -0
  167. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_combobox/__init__.py +0 -0
  168. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box.pyproject +0 -0
  169. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box_plugin.py +0 -0
  170. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +0 -0
  171. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_combobox/register_device_combo_box.py +0 -0
  172. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_line_edit/__init__.py +0 -0
  173. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +0 -0
  174. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pyproject +0 -0
  175. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py +0 -0
  176. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py +0 -0
  177. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_combobox/__init__.py +0 -0
  178. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combobox.py +0 -0
  179. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +0 -0
  180. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.pyproject +0 -0
  181. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox_plugin.py +0 -0
  182. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_line_edit/__init__.py +0 -0
  183. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py +0 -0
  184. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +0 -0
  185. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject +0 -0
  186. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +0 -0
  187. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/scan_control/__init__.py +0 -0
  188. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/scan_control/register_scan_control.py +0 -0
  189. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/scan_control/scan_control.py +0 -0
  190. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/scan_control/scan_control.pyproject +0 -0
  191. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/scan_control/scan_control_plugin.py +0 -0
  192. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/control/scan_control/scan_group_box.py +0 -0
  193. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/__init__.py +0 -0
  194. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/dap_combo_box/__init__.py +0 -0
  195. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +0 -0
  196. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.pyproject +0 -0
  197. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box_plugin.py +0 -0
  198. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py +0 -0
  199. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/__init__.py +0 -0
  200. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject +0 -0
  201. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py +0 -0
  202. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +0 -0
  203. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui +0 -0
  204. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +0 -0
  205. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py +0 -0
  206. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/__init__.py +0 -0
  207. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/console/__init__.py +0 -0
  208. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/console/console.py +0 -0
  209. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/console/console.pyproject +0 -0
  210. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/console/console_plugin.py +0 -0
  211. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/console/register_console.py +0 -0
  212. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/jupyter_console/__init__.py +0 -0
  213. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/jupyter_console/jupyter_console.py +0 -0
  214. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/text_box/__init__.py +0 -0
  215. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/text_box/register_text_box.py +0 -0
  216. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/text_box/text_box.py +0 -0
  217. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/text_box/text_box.pyproject +0 -0
  218. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/text_box/text_box_plugin.py +0 -0
  219. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/vscode/__init__.py +0 -0
  220. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/vscode/register_vs_code_editor.py +0 -0
  221. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/vscode/vs_code_editor.pyproject +0 -0
  222. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/vscode/vs_code_editor_plugin.py +0 -0
  223. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/vscode/vscode.py +0 -0
  224. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/website/__init__.py +0 -0
  225. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/website/register_website_widget.py +0 -0
  226. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/website/website.py +0 -0
  227. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/website/website_widget.pyproject +0 -0
  228. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/editors/website/website_widget_plugin.py +0 -0
  229. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/games/__init__.py +0 -0
  230. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/games/minesweeper.py +0 -0
  231. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/games/minesweeper.pyproject +0 -0
  232. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/games/minesweeper_plugin.py +0 -0
  233. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/games/register_minesweeper.py +0 -0
  234. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/__init__.py +0 -0
  235. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/image/__init__.py +0 -0
  236. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/image/bec_image_widget.pyproject +0 -0
  237. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/image/bec_image_widget_plugin.py +0 -0
  238. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/image/image_widget.py +0 -0
  239. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/image/register_bec_image_widget.py +0 -0
  240. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/__init__.py +0 -0
  241. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget.pyproject +0 -0
  242. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget_plugin.py +0 -0
  243. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/__init__.py +0 -0
  244. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
  245. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
  246. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/motor_map_widget.py +0 -0
  247. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/motor_map/register_bec_motor_map_widget.py +0 -0
  248. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/multi_waveform/__init__.py +0 -0
  249. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget.pyproject +0 -0
  250. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget_plugin.py +0 -0
  251. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_controls.ui +0 -0
  252. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_widget.py +0 -0
  253. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/multi_waveform/register_bec_multi_waveform_widget.py +0 -0
  254. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/__init__.py +0 -0
  255. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/bec_waveform_widget.pyproject +0 -0
  256. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/bec_waveform_widget_plugin.py +0 -0
  257. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/register_bec_waveform_widget.py +0 -0
  258. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_popups/__init__.py +0 -0
  259. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/__init__.py +0 -0
  260. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
  261. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
  262. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/__init__.py +0 -0
  263. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
  264. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/plots/waveform/waveform_widget.py +0 -0
  265. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/__init__.py +0 -0
  266. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/bec_progressbar/__init__.py +0 -0
  267. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject +0 -0
  268. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar_plugin.py +0 -0
  269. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +0 -0
  270. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/bec_progressbar/register_bec_progress_bar.py +0 -0
  271. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/ring_progress_bar/__init__.py +0 -0
  272. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/ring_progress_bar/register_ring_progress_bar.py +0 -0
  273. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/ring_progress_bar/ring.py +0 -0
  274. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +0 -0
  275. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.pyproject +0 -0
  276. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
  277. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/__init__.py +0 -0
  278. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_queue/__init__.py +0 -0
  279. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_queue/bec_queue.py +0 -0
  280. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_queue/bec_queue.pyproject +0 -0
  281. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_queue/bec_queue_plugin.py +0 -0
  282. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_queue/register_bec_queue.py +0 -0
  283. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_status_box/__init__.py +0 -0
  284. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box.py +0 -0
  285. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box.pyproject +0 -0
  286. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_status_box/bec_status_box_plugin.py +0 -0
  287. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_status_box/register_bec_status_box.py +0 -0
  288. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/bec_status_box/status_item.py +0 -0
  289. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/__init__.py +0 -0
  290. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/device_browser.py +0 -0
  291. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/device_browser.pyproject +0 -0
  292. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/device_browser.ui +0 -0
  293. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/device_browser_plugin.py +0 -0
  294. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/device_item/__init__.py +0 -0
  295. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/device_item/device_item.py +0 -0
  296. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/services/device_browser/register_device_browser.py +0 -0
  297. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/__init__.py +0 -0
  298. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/spinner/__init__.py +0 -0
  299. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/spinner/register_spinner_widget.py +0 -0
  300. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/spinner/spinner.py +0 -0
  301. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/spinner/spinner_widget.pyproject +0 -0
  302. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/spinner/spinner_widget_plugin.py +0 -0
  303. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/toggle/__init__.py +0 -0
  304. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/toggle/register_toggle_switch.py +0 -0
  305. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/toggle/toggle.py +0 -0
  306. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/toggle/toggle_switch.pyproject +0 -0
  307. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/toggle/toggle_switch_plugin.py +0 -0
  308. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/__init__.py +0 -0
  309. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/color_button/__init__.py +0 -0
  310. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/color_button/color_button.py +0 -0
  311. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/color_button/color_button.pyproject +0 -0
  312. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py +0 -0
  313. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/color_button/register_color_button.py +0 -0
  314. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_selector/__init__.py +0 -0
  315. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.py +0 -0
  316. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.pyproject +0 -0
  317. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector_plugin.py +0 -0
  318. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_selector/register_colormap_selector.py +0 -0
  319. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_widget/__init__.py +0 -0
  320. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget.pyproject +0 -0
  321. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget_plugin.py +0 -0
  322. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +0 -0
  323. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/colormap_widget/register_bec_color_map_widget.py +0 -0
  324. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/dark_mode_button/__init__.py +0 -0
  325. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +0 -0
  326. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject +0 -0
  327. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py +0 -0
  328. {bec_widgets-1.14.1 → bec_widgets-1.15.1}/bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py +0 -0
@@ -1,6 +1,25 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v1.15.1 (2025-01-13)
5
+
6
+ ### Bug Fixes
7
+
8
+ - **error_popups**: Safeproperty wrapper extended to catch more errors and not crash Designer
9
+ ([`3b04b98`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3b04b985b66a7237703a87f6a53610171eb9ffa5))
10
+
11
+
12
+ ## v1.15.0 (2025-01-10)
13
+
14
+ ### Features
15
+
16
+ - **widget_state_manager**: Example app added
17
+ ([`a00d368`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a00d368c25a19b04d6fbc8a07cff330d1a232e21))
18
+
19
+ - **widget_state_manager**: State manager for single widget
20
+ ([`01b4608`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/01b4608331f375aeeeb692328b693f2d2802dc9c))
21
+
22
+
4
23
  ## v1.14.1 (2025-01-10)
5
24
 
6
25
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bec_widgets
3
- Version: 1.14.1
3
+ Version: 1.15.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
@@ -2,25 +2,52 @@ import functools
2
2
  import sys
3
3
  import traceback
4
4
 
5
+ from bec_lib.logger import bec_logger
5
6
  from qtpy.QtCore import Property, QObject, Qt, Signal, Slot
6
7
  from qtpy.QtWidgets import QApplication, QMessageBox, QPushButton, QVBoxLayout, QWidget
7
8
 
8
9
 
9
- def SafeProperty(prop_type, *prop_args, popup_error: bool = False, **prop_kwargs):
10
+ def SafeProperty(prop_type, *prop_args, popup_error: bool = False, default=None, **prop_kwargs):
10
11
  """
11
- Decorator to create a Qt Property with a safe setter that won't crash Designer on errors.
12
- Behaves similarly to SafeSlot, but for properties.
12
+ Decorator to create a Qt Property with safe getter and setter so that
13
+ Qt Designer won't crash if an exception occurs in either method.
13
14
 
14
15
  Args:
15
- prop_type: The property type (e.g., str, bool, "QStringList", etc.)
16
- popup_error (bool): If True, show popup on error, otherwise just handle it silently.
17
- *prop_args, **prop_kwargs: Additional arguments and keyword arguments accepted by Property.
16
+ prop_type: The property type (e.g., str, bool, int, custom classes, etc.)
17
+ popup_error (bool): If True, show a popup for any error; otherwise, ignore or log silently.
18
+ default: Any default/fallback value to return if the getter raises an exception.
19
+ *prop_args, **prop_kwargs: Passed along to the underlying Qt Property constructor.
20
+
21
+ Usage:
22
+ @SafeProperty(int, default=-1)
23
+ def some_value(self) -> int:
24
+ # your getter logic
25
+ return ... # if an exception is raised, returns -1
26
+
27
+ @some_value.setter
28
+ def some_value(self, val: int):
29
+ # your setter logic
30
+ ...
18
31
  """
19
32
 
20
- def decorator(getter):
33
+ def decorator(py_getter):
34
+ @functools.wraps(py_getter)
35
+ def safe_getter(self_):
36
+ try:
37
+ return py_getter(self_)
38
+ except Exception:
39
+ if popup_error:
40
+ ErrorPopupUtility().custom_exception_hook(*sys.exc_info(), popup_error=True)
41
+ # Return the user-defined default (which might be anything, including None).
42
+ else:
43
+ error_msg = traceback.format_exc()
44
+ bec_logger.error(error_msg)
45
+ return default
46
+
21
47
  class PropertyWrapper:
22
48
  def __init__(self, getter_func):
23
- self.getter_func = getter_func
49
+ # We store only our safe_getter in the wrapper
50
+ self.getter_func = safe_getter
24
51
 
25
52
  def setter(self, setter_func):
26
53
  @functools.wraps(setter_func)
@@ -32,12 +59,20 @@ def SafeProperty(prop_type, *prop_args, popup_error: bool = False, **prop_kwargs
32
59
  ErrorPopupUtility().custom_exception_hook(
33
60
  *sys.exc_info(), popup_error=True
34
61
  )
62
+ # Swallow the exception; no crash in Designer
35
63
  else:
36
- return
64
+ error_msg = traceback.format_exc()
65
+ bec_logger.error(error_msg)
66
+ return
37
67
 
68
+ # Return the full read/write Property
38
69
  return Property(prop_type, self.getter_func, safe_setter, *prop_args, **prop_kwargs)
39
70
 
40
- return PropertyWrapper(getter)
71
+ def __call__(self):
72
+ # If the user never chains a .setter(...) call, we produce a read-only property
73
+ return Property(prop_type, self.getter_func, None, *prop_args, **prop_kwargs)
74
+
75
+ return PropertyWrapper(py_getter)
41
76
 
42
77
  return decorator
43
78
 
@@ -0,0 +1,151 @@
1
+ from __future__ import annotations
2
+
3
+ from qtpy.QtCore import QSettings
4
+ from qtpy.QtWidgets import (
5
+ QApplication,
6
+ QCheckBox,
7
+ QFileDialog,
8
+ QHBoxLayout,
9
+ QLineEdit,
10
+ QPushButton,
11
+ QSpinBox,
12
+ QVBoxLayout,
13
+ QWidget,
14
+ )
15
+
16
+
17
+ class WidgetStateManager:
18
+ """
19
+ A class to manage the state of a widget by saving and loading the state to and from a INI file.
20
+
21
+ Args:
22
+ widget(QWidget): The widget to manage the state for.
23
+ """
24
+
25
+ def __init__(self, widget):
26
+ self.widget = widget
27
+
28
+ def save_state(self, filename: str = None):
29
+ """
30
+ Save the state of the widget to a INI file.
31
+
32
+ Args:
33
+ filename(str): The filename to save the state to.
34
+ """
35
+ if not filename:
36
+ filename, _ = QFileDialog.getSaveFileName(
37
+ self.widget, "Save Settings", "", "INI Files (*.ini)"
38
+ )
39
+ if filename:
40
+ settings = QSettings(filename, QSettings.IniFormat)
41
+ self._save_widget_state_qsettings(self.widget, settings)
42
+
43
+ def load_state(self, filename: str = None):
44
+ """
45
+ Load the state of the widget from a INI file.
46
+
47
+ Args:
48
+ filename(str): The filename to load the state from.
49
+ """
50
+ if not filename:
51
+ filename, _ = QFileDialog.getOpenFileName(
52
+ self.widget, "Load Settings", "", "INI Files (*.ini)"
53
+ )
54
+ if filename:
55
+ settings = QSettings(filename, QSettings.IniFormat)
56
+ self._load_widget_state_qsettings(self.widget, settings)
57
+
58
+ def _save_widget_state_qsettings(self, widget: QWidget, settings: QSettings):
59
+ """
60
+ Save the state of the widget to QSettings.
61
+
62
+ Args:
63
+ widget(QWidget): The widget to save the state for.
64
+ settings(QSettings): The QSettings object to save the state to.
65
+ """
66
+ meta = widget.metaObject()
67
+ settings.beginGroup(widget.objectName())
68
+ for i in range(meta.propertyCount()):
69
+ prop = meta.property(i)
70
+ name = prop.name()
71
+ value = widget.property(name)
72
+ settings.setValue(name, value)
73
+ settings.endGroup()
74
+
75
+ # Recursively save child widgets
76
+ for child in widget.findChildren(QWidget):
77
+ if child.objectName():
78
+ self._save_widget_state_qsettings(child, settings)
79
+
80
+ def _load_widget_state_qsettings(self, widget: QWidget, settings: QSettings):
81
+ """
82
+ Load the state of the widget from QSettings.
83
+
84
+ Args:
85
+ widget(QWidget): The widget to load the state for.
86
+ settings(QSettings): The QSettings object to load the state from.
87
+ """
88
+ meta = widget.metaObject()
89
+ settings.beginGroup(widget.objectName())
90
+ for i in range(meta.propertyCount()):
91
+ prop = meta.property(i)
92
+ name = prop.name()
93
+ if settings.contains(name):
94
+ value = settings.value(name)
95
+ widget.setProperty(name, value)
96
+ settings.endGroup()
97
+
98
+ # Recursively load child widgets
99
+ for child in widget.findChildren(QWidget):
100
+ if child.objectName():
101
+ self._load_widget_state_qsettings(child, settings)
102
+
103
+
104
+ class ExampleApp(QWidget): # pragma: no cover
105
+ def __init__(self):
106
+ super().__init__()
107
+ self.setObjectName("MainWindow")
108
+ self.setWindowTitle("State Manager Example")
109
+
110
+ layout = QVBoxLayout(self)
111
+
112
+ # A line edit to store some user text
113
+ self.line_edit = QLineEdit(self)
114
+ self.line_edit.setObjectName("MyLineEdit")
115
+ self.line_edit.setPlaceholderText("Enter some text here...")
116
+ layout.addWidget(self.line_edit)
117
+
118
+ # A spin box to hold a numeric value
119
+ self.spin_box = QSpinBox(self)
120
+ self.spin_box.setObjectName("MySpinBox")
121
+ self.spin_box.setRange(0, 100)
122
+ layout.addWidget(self.spin_box)
123
+
124
+ # A checkbox to hold a boolean value
125
+ self.check_box = QCheckBox("Enable feature?", self)
126
+ self.check_box.setObjectName("MyCheckBox")
127
+ layout.addWidget(self.check_box)
128
+
129
+ # Buttons to save and load state
130
+ button_layout = QHBoxLayout()
131
+ self.save_button = QPushButton("Save State", self)
132
+ self.load_button = QPushButton("Load State", self)
133
+ button_layout.addWidget(self.save_button)
134
+ button_layout.addWidget(self.load_button)
135
+ layout.addLayout(button_layout)
136
+
137
+ # Create the state manager
138
+ self.state_manager = WidgetStateManager(self)
139
+
140
+ # Connect buttons
141
+ self.save_button.clicked.connect(lambda: self.state_manager.save_state())
142
+ self.load_button.clicked.connect(lambda: self.state_manager.load_state())
143
+
144
+
145
+ if __name__ == "__main__": # pragma: no cover:
146
+ import sys
147
+
148
+ app = QApplication(sys.argv)
149
+ w = ExampleApp()
150
+ w.show()
151
+ sys.exit(app.exec_())
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "1.14.1"
7
+ version = "1.15.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