bec-widgets 1.9.1__tar.gz → 1.11.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/CHANGELOG.md +22 -19
  2. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/PKG-INFO +1 -1
  3. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +24 -19
  4. bec_widgets-1.11.0/bec_widgets/qt_utils/collapsible_panel_manager.py +380 -0
  5. bec_widgets-1.11.0/bec_widgets/widgets/containers/layout_manager/layout_manager.py +881 -0
  6. bec_widgets-1.11.0/bec_widgets/widgets/utility/visual/dark_mode_button/__init__.py +0 -0
  7. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/pyproject.toml +1 -1
  8. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.git_hooks/pre-commit +0 -0
  9. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.gitignore +0 -0
  10. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.gitlab/issue_templates/bug_report_template.md +0 -0
  11. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  12. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.gitlab/issue_templates/feature_request_template.md +0 -0
  13. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.gitlab/merge_request_templates/default.md +0 -0
  14. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.gitlab-ci.yml +0 -0
  15. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.pylintrc +0 -0
  16. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/.readthedocs.yaml +0 -0
  17. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/LICENSE +0 -0
  18. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/README.md +0 -0
  19. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/__init__.py +0 -0
  20. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/applications/__init__.py +0 -0
  21. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/applications/alignment/__init__.py +0 -0
  22. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/applications/alignment/alignment_1d/__init__.py +0 -0
  23. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.py +0 -0
  24. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/applications/alignment/alignment_1d/alignment_1d.ui +0 -0
  25. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/applications/bec_app.py +0 -0
  26. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/assets/app_icons/BEC-General-App.png +0 -0
  27. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/assets/app_icons/alignment_1d.png +0 -0
  28. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  29. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/__init__.py +0 -0
  30. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/auto_updates.py +0 -0
  31. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/client.py +0 -0
  32. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/client_utils.py +0 -0
  33. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/generate_cli.py +0 -0
  34. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/rpc_register.py +0 -0
  35. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
  36. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/cli/server.py +0 -0
  37. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/__init__.py +0 -0
  38. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/general_app/__init__.py +0 -0
  39. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/general_app/general_app.py +0 -0
  40. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/general_app/general_app.ui +0 -0
  41. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/general_app/web_links.py +0 -0
  42. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  43. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  44. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  45. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  46. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  47. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  48. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  49. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  50. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/__init__.py +0 -0
  51. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/compact_popup.py +0 -0
  52. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/error_popups.py +0 -0
  53. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/palette_viewer.py +0 -0
  54. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
  55. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/round_frame.py +0 -0
  56. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/settings_dialog.py +0 -0
  57. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/side_panel.py +0 -0
  58. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/qt_utils/toolbar.py +0 -0
  59. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/tests/__init__.py +0 -0
  60. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/tests/utils.py +0 -0
  61. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/__init__.py +0 -0
  62. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/bec_connector.py +0 -0
  63. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/bec_designer.py +0 -0
  64. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/bec_dispatcher.py +0 -0
  65. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/bec_signal_proxy.py +0 -0
  66. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/bec_table.py +0 -0
  67. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/bec_widget.py +0 -0
  68. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/colors.py +0 -0
  69. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/container_utils.py +0 -0
  70. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/crosshair.py +0 -0
  71. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/entry_validator.py +0 -0
  72. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/filter_io.py +0 -0
  73. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/fps_counter.py +0 -0
  74. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  75. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/layout_manager.py +0 -0
  76. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/linear_region_selector.py +0 -0
  77. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/ophyd_kind_util.py +0 -0
  78. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/plot_indicator_items.py +0 -0
  79. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
  80. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/plugin_templates/register.template +0 -0
  81. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/plugin_utils.py +0 -0
  82. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/reference_utils.py +0 -0
  83. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/rpc_decorator.py +0 -0
  84. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/thread_checker.py +0 -0
  85. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/ui_loader.py +0 -0
  86. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/validator_delegate.py +0 -0
  87. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/widget_io.py +0 -0
  88. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/utils/yaml_dialog.py +0 -0
  89. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/__init__.py +0 -0
  90. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/__init__.py +0 -0
  91. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/dock/__init__.py +0 -0
  92. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/dock/dock.py +0 -0
  93. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/dock/dock_area.py +0 -0
  94. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/dock/dock_area.pyproject +0 -0
  95. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/dock/dock_area_plugin.py +0 -0
  96. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/dock/register_dock_area.py +0 -0
  97. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/__init__.py +0 -0
  98. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/figure.py +0 -0
  99. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/__init__.py +0 -0
  100. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/axis_settings.py +0 -0
  101. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/axis_settings.ui +0 -0
  102. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/image/__init__.py +0 -0
  103. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/image/image.py +0 -0
  104. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/image/image_item.py +0 -0
  105. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/image/image_processor.py +0 -0
  106. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/motor_map/__init__.py +0 -0
  107. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/motor_map/motor_map.py +0 -0
  108. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/multi_waveform/__init__.py +0 -0
  109. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/multi_waveform/multi_waveform.py +0 -0
  110. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/plot_base.py +0 -0
  111. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/waveform/__init__.py +0 -0
  112. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/waveform/waveform.py +0 -0
  113. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py +0 -0
  114. {bec_widgets-1.9.1/bec_widgets/widgets/containers/main_window → bec_widgets-1.11.0/bec_widgets/widgets/containers/layout_manager}/__init__.py +0 -0
  115. {bec_widgets-1.9.1/bec_widgets/widgets/control → bec_widgets-1.11.0/bec_widgets/widgets/containers/main_window}/__init__.py +0 -0
  116. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/containers/main_window/main_window.py +0 -0
  117. {bec_widgets-1.9.1/bec_widgets/widgets/control/buttons → bec_widgets-1.11.0/bec_widgets/widgets/control}/__init__.py +0 -0
  118. {bec_widgets-1.9.1/bec_widgets/widgets/control/buttons/button_abort → bec_widgets-1.11.0/bec_widgets/widgets/control/buttons}/__init__.py +0 -0
  119. {bec_widgets-1.9.1/bec_widgets/widgets/control/buttons/button_reset → bec_widgets-1.11.0/bec_widgets/widgets/control/buttons/button_abort}/__init__.py +0 -0
  120. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_abort/abort_button.pyproject +0 -0
  121. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_abort/abort_button_plugin.py +0 -0
  122. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_abort/button_abort.py +0 -0
  123. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_abort/register_abort_button.py +0 -0
  124. {bec_widgets-1.9.1/bec_widgets/widgets/control/buttons/button_resume → bec_widgets-1.11.0/bec_widgets/widgets/control/buttons/button_reset}/__init__.py +0 -0
  125. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_reset/button_reset.py +0 -0
  126. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_reset/register_reset_button.py +0 -0
  127. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_reset/reset_button.pyproject +0 -0
  128. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_reset/reset_button_plugin.py +0 -0
  129. {bec_widgets-1.9.1/bec_widgets/widgets/control/buttons/stop_button → bec_widgets-1.11.0/bec_widgets/widgets/control/buttons/button_resume}/__init__.py +0 -0
  130. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_resume/button_resume.py +0 -0
  131. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_resume/register_resume_button.py +0 -0
  132. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_resume/resume_button.pyproject +0 -0
  133. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/button_resume/resume_button_plugin.py +0 -0
  134. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_control → bec_widgets-1.11.0/bec_widgets/widgets/control/buttons/stop_button}/__init__.py +0 -0
  135. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/stop_button/register_stop_button.py +0 -0
  136. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/stop_button/stop_button.py +0 -0
  137. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/stop_button/stop_button.pyproject +0 -0
  138. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/buttons/stop_button/stop_button_plugin.py +0 -0
  139. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_control/position_indicator → bec_widgets-1.11.0/bec_widgets/widgets/control/device_control}/__init__.py +0 -0
  140. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_control/positioner_box → bec_widgets-1.11.0/bec_widgets/widgets/control/device_control/position_indicator}/__init__.py +0 -0
  141. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.py +0 -0
  142. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator.pyproject +0 -0
  143. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/position_indicator/position_indicator_plugin.py +0 -0
  144. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/position_indicator/register_position_indicator.py +0 -0
  145. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_control/positioner_group → bec_widgets-1.11.0/bec_widgets/widgets/control/device_control/positioner_box}/__init__.py +0 -0
  146. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py +0 -0
  147. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.pyproject +0 -0
  148. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.ui +0 -0
  149. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py +0 -0
  150. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py +0 -0
  151. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.pyproject +0 -0
  152. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.ui +0 -0
  153. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py +0 -0
  154. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_box.py +0 -0
  155. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py +0 -0
  156. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_input → bec_widgets-1.11.0/bec_widgets/widgets/control/device_control/positioner_group}/__init__.py +0 -0
  157. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +0 -0
  158. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.pyproject +0 -0
  159. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_group/positioner_group_plugin.py +0 -0
  160. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_control/positioner_group/register_positioner_group.py +0 -0
  161. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_input/base_classes → bec_widgets-1.11.0/bec_widgets/widgets/control/device_input}/__init__.py +0 -0
  162. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_input/device_combobox → bec_widgets-1.11.0/bec_widgets/widgets/control/device_input/base_classes}/__init__.py +0 -0
  163. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/base_classes/device_input_base.py +0 -0
  164. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/base_classes/device_signal_input_base.py +0 -0
  165. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_input/device_line_edit → bec_widgets-1.11.0/bec_widgets/widgets/control/device_input/device_combobox}/__init__.py +0 -0
  166. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box.pyproject +0 -0
  167. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_combobox/device_combo_box_plugin.py +0 -0
  168. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_combobox/device_combobox.py +0 -0
  169. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_combobox/register_device_combo_box.py +0 -0
  170. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_input/signal_combobox → bec_widgets-1.11.0/bec_widgets/widgets/control/device_input/device_line_edit}/__init__.py +0 -0
  171. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.py +0 -0
  172. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit.pyproject +0 -0
  173. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_line_edit/device_line_edit_plugin.py +0 -0
  174. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/device_line_edit/register_device_line_edit.py +0 -0
  175. {bec_widgets-1.9.1/bec_widgets/widgets/control/device_input/signal_line_edit → bec_widgets-1.11.0/bec_widgets/widgets/control/device_input/signal_combobox}/__init__.py +0 -0
  176. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_combobox/register_signal_combobox.py +0 -0
  177. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.py +0 -0
  178. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox.pyproject +0 -0
  179. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_combobox/signal_combobox_plugin.py +0 -0
  180. {bec_widgets-1.9.1/bec_widgets/widgets/dap → bec_widgets-1.11.0/bec_widgets/widgets/control/device_input/signal_line_edit}/__init__.py +0 -0
  181. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_line_edit/register_signal_line_edit.py +0 -0
  182. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.py +0 -0
  183. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit.pyproject +0 -0
  184. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/device_input/signal_line_edit/signal_line_edit_plugin.py +0 -0
  185. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/scan_control/__init__.py +0 -0
  186. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/scan_control/register_scan_control.py +0 -0
  187. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/scan_control/scan_control.py +0 -0
  188. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/scan_control/scan_control.pyproject +0 -0
  189. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/scan_control/scan_control_plugin.py +0 -0
  190. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/control/scan_control/scan_group_box.py +0 -0
  191. {bec_widgets-1.9.1/bec_widgets/widgets/dap/dap_combo_box → bec_widgets-1.11.0/bec_widgets/widgets/dap}/__init__.py +0 -0
  192. {bec_widgets-1.9.1/bec_widgets/widgets/dap/lmfit_dialog → bec_widgets-1.11.0/bec_widgets/widgets/dap/dap_combo_box}/__init__.py +0 -0
  193. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py +0 -0
  194. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.pyproject +0 -0
  195. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/dap_combo_box/dap_combo_box_plugin.py +0 -0
  196. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py +0 -0
  197. {bec_widgets-1.9.1/bec_widgets/widgets/editors → bec_widgets-1.11.0/bec_widgets/widgets/dap/lmfit_dialog}/__init__.py +0 -0
  198. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject +0 -0
  199. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py +0 -0
  200. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +0 -0
  201. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui +0 -0
  202. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui +0 -0
  203. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py +0 -0
  204. {bec_widgets-1.9.1/bec_widgets/widgets/editors/console → bec_widgets-1.11.0/bec_widgets/widgets/editors}/__init__.py +0 -0
  205. {bec_widgets-1.9.1/bec_widgets/widgets/editors/jupyter_console → bec_widgets-1.11.0/bec_widgets/widgets/editors/console}/__init__.py +0 -0
  206. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/console/console.py +0 -0
  207. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/console/console.pyproject +0 -0
  208. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/console/console_plugin.py +0 -0
  209. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/console/register_console.py +0 -0
  210. {bec_widgets-1.9.1/bec_widgets/widgets/editors/text_box → bec_widgets-1.11.0/bec_widgets/widgets/editors/jupyter_console}/__init__.py +0 -0
  211. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/jupyter_console/jupyter_console.py +0 -0
  212. {bec_widgets-1.9.1/bec_widgets/widgets/editors/vscode → bec_widgets-1.11.0/bec_widgets/widgets/editors/text_box}/__init__.py +0 -0
  213. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/text_box/register_text_box.py +0 -0
  214. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/text_box/text_box.py +0 -0
  215. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/text_box/text_box.pyproject +0 -0
  216. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/text_box/text_box_plugin.py +0 -0
  217. {bec_widgets-1.9.1/bec_widgets/widgets/editors/website → bec_widgets-1.11.0/bec_widgets/widgets/editors/vscode}/__init__.py +0 -0
  218. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/vscode/register_vs_code_editor.py +0 -0
  219. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/vscode/vs_code_editor.pyproject +0 -0
  220. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/vscode/vs_code_editor_plugin.py +0 -0
  221. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/vscode/vscode.py +0 -0
  222. {bec_widgets-1.9.1/bec_widgets/widgets/plots → bec_widgets-1.11.0/bec_widgets/widgets/editors/website}/__init__.py +0 -0
  223. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/website/register_website_widget.py +0 -0
  224. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/website/website.py +0 -0
  225. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/website/website_widget.pyproject +0 -0
  226. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/editors/website/website_widget_plugin.py +0 -0
  227. {bec_widgets-1.9.1/bec_widgets/widgets/plots/image → bec_widgets-1.11.0/bec_widgets/widgets/plots}/__init__.py +0 -0
  228. {bec_widgets-1.9.1/bec_widgets/widgets/plots/motor_map → bec_widgets-1.11.0/bec_widgets/widgets/plots/image}/__init__.py +0 -0
  229. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/image/bec_image_widget.pyproject +0 -0
  230. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/image/bec_image_widget_plugin.py +0 -0
  231. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/image/image_widget.py +0 -0
  232. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/image/register_bec_image_widget.py +0 -0
  233. {bec_widgets-1.9.1/bec_widgets/widgets/plots/motor_map/motor_map_dialog → bec_widgets-1.11.0/bec_widgets/widgets/plots/motor_map}/__init__.py +0 -0
  234. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget.pyproject +0 -0
  235. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/motor_map/bec_motor_map_widget_plugin.py +0 -0
  236. {bec_widgets-1.9.1/bec_widgets/widgets/plots/multi_waveform → bec_widgets-1.11.0/bec_widgets/widgets/plots/motor_map/motor_map_dialog}/__init__.py +0 -0
  237. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
  238. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
  239. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/motor_map/motor_map_widget.py +0 -0
  240. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/motor_map/register_bec_motor_map_widget.py +0 -0
  241. {bec_widgets-1.9.1/bec_widgets/widgets/plots/waveform → bec_widgets-1.11.0/bec_widgets/widgets/plots/multi_waveform}/__init__.py +0 -0
  242. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget.pyproject +0 -0
  243. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/multi_waveform/bec_multi_waveform_widget_plugin.py +0 -0
  244. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_controls.ui +0 -0
  245. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/multi_waveform/multi_waveform_widget.py +0 -0
  246. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/multi_waveform/register_bec_multi_waveform_widget.py +0 -0
  247. {bec_widgets-1.9.1/bec_widgets/widgets/plots/waveform/waveform_popups → bec_widgets-1.11.0/bec_widgets/widgets/plots/waveform}/__init__.py +0 -0
  248. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/bec_waveform_widget.pyproject +0 -0
  249. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/bec_waveform_widget_plugin.py +0 -0
  250. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/register_bec_waveform_widget.py +0 -0
  251. {bec_widgets-1.9.1/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog → bec_widgets-1.11.0/bec_widgets/widgets/plots/waveform/waveform_popups}/__init__.py +0 -0
  252. {bec_widgets-1.9.1/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog → bec_widgets-1.11.0/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog}/__init__.py +0 -0
  253. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
  254. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
  255. {bec_widgets-1.9.1/bec_widgets/widgets/progress → bec_widgets-1.11.0/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog}/__init__.py +0 -0
  256. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
  257. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/plots/waveform/waveform_widget.py +0 -0
  258. {bec_widgets-1.9.1/bec_widgets/widgets/progress/bec_progressbar → bec_widgets-1.11.0/bec_widgets/widgets/progress}/__init__.py +0 -0
  259. {bec_widgets-1.9.1/bec_widgets/widgets/services → bec_widgets-1.11.0/bec_widgets/widgets/progress/bec_progressbar}/__init__.py +0 -0
  260. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar.pyproject +0 -0
  261. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/bec_progressbar/bec_progress_bar_plugin.py +0 -0
  262. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/bec_progressbar/bec_progressbar.py +0 -0
  263. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/bec_progressbar/register_bec_progress_bar.py +0 -0
  264. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/ring_progress_bar/__init__.py +0 -0
  265. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/ring_progress_bar/register_ring_progress_bar.py +0 -0
  266. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/ring_progress_bar/ring.py +0 -0
  267. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.py +0 -0
  268. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar.pyproject +0 -0
  269. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/progress/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
  270. {bec_widgets-1.9.1/bec_widgets/widgets/services/bec_queue → bec_widgets-1.11.0/bec_widgets/widgets/services}/__init__.py +0 -0
  271. {bec_widgets-1.9.1/bec_widgets/widgets/services/bec_status_box → bec_widgets-1.11.0/bec_widgets/widgets/services/bec_queue}/__init__.py +0 -0
  272. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_queue/bec_queue.py +0 -0
  273. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_queue/bec_queue.pyproject +0 -0
  274. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_queue/bec_queue_plugin.py +0 -0
  275. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_queue/register_bec_queue.py +0 -0
  276. {bec_widgets-1.9.1/bec_widgets/widgets/services/device_browser → bec_widgets-1.11.0/bec_widgets/widgets/services/bec_status_box}/__init__.py +0 -0
  277. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_status_box/bec_status_box.py +0 -0
  278. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_status_box/bec_status_box.pyproject +0 -0
  279. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_status_box/bec_status_box_plugin.py +0 -0
  280. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_status_box/register_bec_status_box.py +0 -0
  281. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/bec_status_box/status_item.py +0 -0
  282. {bec_widgets-1.9.1/bec_widgets/widgets/utility → bec_widgets-1.11.0/bec_widgets/widgets/services/device_browser}/__init__.py +0 -0
  283. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/device_browser.py +0 -0
  284. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/device_browser.pyproject +0 -0
  285. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/device_browser.ui +0 -0
  286. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/device_browser_plugin.py +0 -0
  287. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/device_item/__init__.py +0 -0
  288. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/device_item/device_item.py +0 -0
  289. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/services/device_browser/register_device_browser.py +0 -0
  290. {bec_widgets-1.9.1/bec_widgets/widgets/utility/spinner → bec_widgets-1.11.0/bec_widgets/widgets/utility}/__init__.py +0 -0
  291. {bec_widgets-1.9.1/bec_widgets/widgets/utility/toggle → bec_widgets-1.11.0/bec_widgets/widgets/utility/spinner}/__init__.py +0 -0
  292. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/spinner/register_spinner_widget.py +0 -0
  293. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/spinner/spinner.py +0 -0
  294. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/spinner/spinner_widget.pyproject +0 -0
  295. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/spinner/spinner_widget_plugin.py +0 -0
  296. {bec_widgets-1.9.1/bec_widgets/widgets/utility/visual → bec_widgets-1.11.0/bec_widgets/widgets/utility/toggle}/__init__.py +0 -0
  297. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/toggle/register_toggle_switch.py +0 -0
  298. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/toggle/toggle.py +0 -0
  299. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/toggle/toggle_switch.pyproject +0 -0
  300. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/toggle/toggle_switch_plugin.py +0 -0
  301. {bec_widgets-1.9.1/bec_widgets/widgets/utility/visual/color_button → bec_widgets-1.11.0/bec_widgets/widgets/utility/visual}/__init__.py +0 -0
  302. {bec_widgets-1.9.1/bec_widgets/widgets/utility/visual/colormap_selector → bec_widgets-1.11.0/bec_widgets/widgets/utility/visual/color_button}/__init__.py +0 -0
  303. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/color_button/color_button.py +0 -0
  304. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/color_button/color_button.pyproject +0 -0
  305. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py +0 -0
  306. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/color_button/register_color_button.py +0 -0
  307. {bec_widgets-1.9.1/bec_widgets/widgets/utility/visual/colormap_widget → bec_widgets-1.11.0/bec_widgets/widgets/utility/visual/colormap_selector}/__init__.py +0 -0
  308. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.py +0 -0
  309. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector.pyproject +0 -0
  310. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_selector/colormap_selector_plugin.py +0 -0
  311. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_selector/register_colormap_selector.py +0 -0
  312. {bec_widgets-1.9.1/bec_widgets/widgets/utility/visual/dark_mode_button → bec_widgets-1.11.0/bec_widgets/widgets/utility/visual/colormap_widget}/__init__.py +0 -0
  313. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget.pyproject +0 -0
  314. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_widget/bec_color_map_widget_plugin.py +0 -0
  315. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_widget/colormap_widget.py +0 -0
  316. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/colormap_widget/register_bec_color_map_widget.py +0 -0
  317. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py +0 -0
  318. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject +0 -0
  319. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py +0 -0
  320. {bec_widgets-1.9.1 → bec_widgets-1.11.0}/bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py +0 -0
@@ -1,6 +1,28 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v1.11.0 (2024-12-11)
5
+
6
+ ### Features
7
+
8
+ - **collapsible_panel_manager**: Panel manager to handle collapsing and expanding widgets from the
9
+ main widget added
10
+ ([`a434d3e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a434d3ee574081356c32c096d2fd61f641e04542))
11
+
12
+ ### Testing
13
+
14
+ - **collapsible_panel_manager**: Fixture changed to not use .show()
15
+ ([`ff654b5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ff654b56ae98388a2b707c040d51220be6cbce13))
16
+
17
+
18
+ ## v1.10.0 (2024-12-10)
19
+
20
+ ### Features
21
+
22
+ - **layout_manager**: Grid layout manager widget
23
+ ([`17a63e3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/17a63e3b639ecf6b41c379717d81339b04ef10f8))
24
+
25
+
4
26
  ## v1.9.1 (2024-12-10)
5
27
 
6
28
  ### Bug Fixes
@@ -189,22 +211,3 @@ Depending on the test, auto-updates are enabled or not.
189
211
 
190
212
  - **crosshair**: Label of coordinates of TextItem displays numbers in general format
191
213
  ([`11e5937`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/11e5937ae0f3c1413acd4e66878a692ebe4ef7d0))
192
-
193
- - **crosshair**: Label of coordinates of TextItem is updated according to the current theme of qapp
194
- ([`4f31ea6`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4f31ea655cf6190e141e6a2720a2d6da517a2b5b))
195
-
196
- - **crosshair**: Log is separately scaled for backend logic and for signal emit
197
- ([`b2eb71a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b2eb71aae0b6a7c82158f2d150ae1e31411cfdeb))
198
-
199
- ### Features
200
-
201
- - **crosshair**: Textitem to display crosshair coordinates
202
- ([`035136d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/035136d5171ec5f4311d15a9aa5bad2bdbc1f6cb))
203
-
204
- ### Testing
205
-
206
- - **crosshair**: Tests extended
207
- ([`64df805`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/64df805a9ed92bb97e580ac3bc0a1bbd2b1cb81e))
208
-
209
-
210
- ## v1.3.3 (2024-11-07)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 1.9.1
3
+ Version: 1.11.0
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
@@ -7,6 +7,7 @@ from qtpy.QtWidgets import (
7
7
  QApplication,
8
8
  QGroupBox,
9
9
  QHBoxLayout,
10
+ QPushButton,
10
11
  QSplitter,
11
12
  QTabWidget,
12
13
  QVBoxLayout,
@@ -17,6 +18,7 @@ from bec_widgets.utils import BECDispatcher
17
18
  from bec_widgets.utils.colors import apply_theme
18
19
  from bec_widgets.widgets.containers.dock import BECDockArea
19
20
  from bec_widgets.widgets.containers.figure import BECFigure
21
+ from bec_widgets.widgets.containers.layout_manager.layout_manager import LayoutManagerWidget
20
22
  from bec_widgets.widgets.editors.jupyter_console.jupyter_console import BECJupyterConsole
21
23
 
22
24
 
@@ -50,11 +52,16 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover:
50
52
  "d1": self.d1,
51
53
  "d2": self.d2,
52
54
  "wave": self.wf,
53
- # "bar": self.bar,
54
- # "cm": self.colormap,
55
55
  "im": self.im,
56
56
  "mm": self.mm,
57
57
  "mw": self.mw,
58
+ "lm": self.lm,
59
+ "btn1": self.btn1,
60
+ "btn2": self.btn2,
61
+ "btn3": self.btn3,
62
+ "btn4": self.btn4,
63
+ "btn5": self.btn5,
64
+ "btn6": self.btn6,
58
65
  }
59
66
  )
60
67
 
@@ -79,11 +86,25 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover:
79
86
  second_tab_layout.addWidget(self.figure)
80
87
  tab_widget.addTab(second_tab, "BEC Figure")
81
88
 
89
+ third_tab = QWidget()
90
+ third_tab_layout = QVBoxLayout(third_tab)
91
+ self.lm = LayoutManagerWidget()
92
+ third_tab_layout.addWidget(self.lm)
93
+ tab_widget.addTab(third_tab, "Layout Manager Widget")
94
+
82
95
  group_box = QGroupBox("Jupyter Console", splitter)
83
96
  group_box_layout = QVBoxLayout(group_box)
84
97
  self.console = BECJupyterConsole(inprocess=True)
85
98
  group_box_layout.addWidget(self.console)
86
99
 
100
+ # Some buttons for layout testing
101
+ self.btn1 = QPushButton("Button 1")
102
+ self.btn2 = QPushButton("Button 2")
103
+ self.btn3 = QPushButton("Button 3")
104
+ self.btn4 = QPushButton("Button 4")
105
+ self.btn5 = QPushButton("Button 5")
106
+ self.btn6 = QPushButton("Button 6")
107
+
87
108
  # add stuff to figure
88
109
  self._init_figure()
89
110
 
@@ -93,15 +114,7 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover:
93
114
  self.setWindowTitle("Jupyter Console Window")
94
115
 
95
116
  def _init_figure(self):
96
- self.w1 = self.figure.plot(
97
- x_name="samx",
98
- y_name="bpm4i",
99
- # title="Standard Plot with sync device, custom labels - w1",
100
- # x_label="Motor Position",
101
- # y_label="Intensity (A.U.)",
102
- row=0,
103
- col=0,
104
- )
117
+ self.w1 = self.figure.plot(x_name="samx", y_name="bpm4i", row=0, col=0)
105
118
  self.w1.set(
106
119
  title="Standard Plot with sync device, custom labels - w1",
107
120
  x_label="Motor Position",
@@ -169,14 +182,6 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover:
169
182
  self.wf = self.d2.add_widget("BECFigure", row=0, col=0)
170
183
 
171
184
  self.mw = self.wf.multi_waveform(monitor="waveform") # , config=config)
172
- # self.wf.plot(x_name="samx", y_name="bpm3a")
173
- # self.wf.plot(x_name="samx", y_name="bpm4i", dap="GaussianModel")
174
- # self.bar = self.d2.add_widget("RingProgressBar", row=0, col=1)
175
- # self.bar.set_diameter(200)
176
-
177
- # self.d3 = self.dock.add_dock(name="dock_3", position="bottom")
178
- # self.colormap = pg.GradientWidget()
179
- # self.d3.add_widget(self.colormap, row=0, col=0)
180
185
 
181
186
  self.dock.save_state()
182
187
 
@@ -0,0 +1,380 @@
1
+ from __future__ import annotations
2
+
3
+ import sys
4
+ from typing import Literal
5
+
6
+ import pyqtgraph as pg
7
+ from qtpy.QtCore import Property, QEasingCurve, QObject, QPropertyAnimation
8
+ from qtpy.QtWidgets import (
9
+ QApplication,
10
+ QHBoxLayout,
11
+ QMainWindow,
12
+ QPushButton,
13
+ QSizePolicy,
14
+ QVBoxLayout,
15
+ QWidget,
16
+ )
17
+ from typeguard import typechecked
18
+
19
+ from bec_widgets.widgets.containers.layout_manager.layout_manager import LayoutManagerWidget
20
+
21
+
22
+ class DimensionAnimator(QObject):
23
+ """
24
+ Helper class to animate the size of a panel widget.
25
+ """
26
+
27
+ def __init__(self, panel_widget: QWidget, direction: str):
28
+ super().__init__()
29
+ self.panel_widget = panel_widget
30
+ self.direction = direction
31
+ self._size = 0
32
+
33
+ @Property(int)
34
+ def panel_width(self):
35
+ """
36
+ Returns the current width of the panel widget.
37
+ """
38
+ return self._size
39
+
40
+ @panel_width.setter
41
+ def panel_width(self, val: int):
42
+ """
43
+ Set the width of the panel widget.
44
+
45
+ Args:
46
+ val(int): The width to set.
47
+ """
48
+ self._size = val
49
+ self.panel_widget.setFixedWidth(val)
50
+
51
+ @Property(int)
52
+ def panel_height(self):
53
+ """
54
+ Returns the current height of the panel widget.
55
+ """
56
+ return self._size
57
+
58
+ @panel_height.setter
59
+ def panel_height(self, val: int):
60
+ """
61
+ Set the height of the panel widget.
62
+
63
+ Args:
64
+ val(int): The height to set.
65
+ """
66
+ self._size = val
67
+ self.panel_widget.setFixedHeight(val)
68
+
69
+
70
+ class CollapsiblePanelManager(QObject):
71
+ """
72
+ Manager class to handle collapsible panels from a main widget using LayoutManagerWidget.
73
+ """
74
+
75
+ def __init__(self, layout_manager: LayoutManagerWidget, reference_widget: QWidget, parent=None):
76
+ super().__init__(parent)
77
+ self.layout_manager = layout_manager
78
+ self.reference_widget = reference_widget
79
+ self.animations = {}
80
+ self.panels = {}
81
+ self.direction_settings = {
82
+ "left": {"property": b"maximumWidth", "default_size": 200},
83
+ "right": {"property": b"maximumWidth", "default_size": 200},
84
+ "top": {"property": b"maximumHeight", "default_size": 150},
85
+ "bottom": {"property": b"maximumHeight", "default_size": 150},
86
+ }
87
+
88
+ def add_panel(
89
+ self,
90
+ direction: Literal["left", "right", "top", "bottom"],
91
+ panel_widget: QWidget,
92
+ target_size: int | None = None,
93
+ duration: int = 300,
94
+ ):
95
+ """
96
+ Add a panel widget to the layout manager.
97
+
98
+ Args:
99
+ direction(Literal["left", "right", "top", "bottom"]): Direction of the panel.
100
+ panel_widget(QWidget): The panel widget to add.
101
+ target_size(int, optional): The target size of the panel. Defaults to None.
102
+ duration(int): The duration of the animation in milliseconds. Defaults to 300.
103
+ """
104
+ if direction not in self.direction_settings:
105
+ raise ValueError("Direction must be one of 'left', 'right', 'top', 'bottom'.")
106
+
107
+ if target_size is None:
108
+ target_size = self.direction_settings[direction]["default_size"]
109
+
110
+ self.layout_manager.add_widget_relative(
111
+ widget=panel_widget, reference_widget=self.reference_widget, position=direction
112
+ )
113
+ panel_widget.setVisible(False)
114
+
115
+ # Set initial constraints as flexible
116
+ if direction in ["left", "right"]:
117
+ panel_widget.setMaximumWidth(0)
118
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
119
+ else:
120
+ panel_widget.setMaximumHeight(0)
121
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
122
+
123
+ self.panels[direction] = {
124
+ "widget": panel_widget,
125
+ "direction": direction,
126
+ "target_size": target_size,
127
+ "duration": duration,
128
+ "animator": None,
129
+ }
130
+
131
+ def toggle_panel(
132
+ self,
133
+ direction: Literal["left", "right", "top", "bottom"],
134
+ target_size: int | None = None,
135
+ duration: int | None = None,
136
+ easing_curve: QEasingCurve = QEasingCurve.InOutQuad,
137
+ ensure_max: bool = False,
138
+ scale: float | None = None,
139
+ animation: bool = True,
140
+ ):
141
+ """
142
+ Toggle the specified panel.
143
+
144
+ Parameters:
145
+ direction (Literal["left", "right", "top", "bottom"]): Direction of the panel to toggle.
146
+ target_size (int, optional): Override target size for this toggle.
147
+ duration (int, optional): Override the animation duration.
148
+ easing_curve (QEasingCurve): Animation easing curve.
149
+ ensure_max (bool): If True, animate as a fixed-size panel.
150
+ scale (float, optional): If provided, calculate target_size from main widget size.
151
+ animation (bool): If False, no animation is performed; panel instantly toggles.
152
+ """
153
+ if direction not in self.panels:
154
+ raise ValueError(f"No panel found in direction '{direction}'.")
155
+
156
+ panel_info = self.panels[direction]
157
+ panel_widget = panel_info["widget"]
158
+ dir_settings = self.direction_settings[direction]
159
+
160
+ # Determine final target size
161
+ if scale is not None:
162
+ main_rect = self.reference_widget.geometry()
163
+ if direction in ["left", "right"]:
164
+ computed_target = int(main_rect.width() * scale)
165
+ else:
166
+ computed_target = int(main_rect.height() * scale)
167
+ final_target_size = computed_target
168
+ else:
169
+ if target_size is None:
170
+ final_target_size = panel_info["target_size"]
171
+ else:
172
+ final_target_size = target_size
173
+
174
+ if duration is None:
175
+ duration = panel_info["duration"]
176
+
177
+ expanding_property = dir_settings["property"]
178
+ currently_visible = panel_widget.isVisible()
179
+
180
+ if ensure_max:
181
+ if panel_info["animator"] is None:
182
+ panel_info["animator"] = DimensionAnimator(panel_widget, direction)
183
+ animator = panel_info["animator"]
184
+
185
+ if direction in ["left", "right"]:
186
+ prop_name = b"panel_width"
187
+ else:
188
+ prop_name = b"panel_height"
189
+ else:
190
+ animator = None
191
+ prop_name = expanding_property
192
+
193
+ if currently_visible:
194
+ # Hide the panel
195
+ if ensure_max:
196
+ start_value = final_target_size
197
+ end_value = 0
198
+ finish_callback = lambda w=panel_widget, d=direction: self._after_hide_reset(w, d)
199
+ else:
200
+ start_value = (
201
+ panel_widget.width()
202
+ if direction in ["left", "right"]
203
+ else panel_widget.height()
204
+ )
205
+ end_value = 0
206
+ finish_callback = lambda w=panel_widget: w.setVisible(False)
207
+ else:
208
+ # Show the panel
209
+ start_value = 0
210
+ end_value = final_target_size
211
+ finish_callback = None
212
+ if ensure_max:
213
+ # Fix panel exactly
214
+ if direction in ["left", "right"]:
215
+ panel_widget.setMinimumWidth(0)
216
+ panel_widget.setMaximumWidth(final_target_size)
217
+ panel_widget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)
218
+ else:
219
+ panel_widget.setMinimumHeight(0)
220
+ panel_widget.setMaximumHeight(final_target_size)
221
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
222
+ else:
223
+ # Flexible mode
224
+ if direction in ["left", "right"]:
225
+ panel_widget.setMinimumWidth(0)
226
+ panel_widget.setMaximumWidth(final_target_size)
227
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
228
+ else:
229
+ panel_widget.setMinimumHeight(0)
230
+ panel_widget.setMaximumHeight(final_target_size)
231
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
232
+
233
+ panel_widget.setVisible(True)
234
+
235
+ if not animation:
236
+ # No animation: instantly set final state
237
+ if end_value == 0:
238
+ # Hiding
239
+ if ensure_max:
240
+ # Reset after hide
241
+ self._after_hide_reset(panel_widget, direction)
242
+ else:
243
+ panel_widget.setVisible(False)
244
+ else:
245
+ # Showing
246
+ if ensure_max:
247
+ # Already set fixed size
248
+ if direction in ["left", "right"]:
249
+ panel_widget.setFixedWidth(end_value)
250
+ else:
251
+ panel_widget.setFixedHeight(end_value)
252
+ else:
253
+ # Just set maximum dimension
254
+ if direction in ["left", "right"]:
255
+ panel_widget.setMaximumWidth(end_value)
256
+ else:
257
+ panel_widget.setMaximumHeight(end_value)
258
+ return
259
+
260
+ # With animation
261
+ animation = QPropertyAnimation(animator if ensure_max else panel_widget, prop_name)
262
+ animation.setDuration(duration)
263
+ animation.setStartValue(start_value)
264
+ animation.setEndValue(end_value)
265
+ animation.setEasingCurve(easing_curve)
266
+
267
+ if end_value == 0 and finish_callback:
268
+ animation.finished.connect(finish_callback)
269
+ elif end_value == 0 and not finish_callback:
270
+ animation.finished.connect(lambda w=panel_widget: w.setVisible(False))
271
+
272
+ animation.start()
273
+ self.animations[panel_widget] = animation
274
+
275
+ @typechecked
276
+ def _after_hide_reset(
277
+ self, panel_widget: QWidget, direction: Literal["left", "right", "top", "bottom"]
278
+ ):
279
+ """
280
+ Reset the panel widget after hiding it in ensure_max mode.
281
+
282
+ Args:
283
+ panel_widget(QWidget): The panel widget to reset.
284
+ direction(Literal["left", "right", "top", "bottom"]): The direction of the panel.
285
+ """
286
+ # Called after hiding a panel in ensure_max mode
287
+ panel_widget.setVisible(False)
288
+ if direction in ["left", "right"]:
289
+ panel_widget.setMinimumWidth(0)
290
+ panel_widget.setMaximumWidth(0)
291
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
292
+ else:
293
+ panel_widget.setMinimumHeight(0)
294
+ panel_widget.setMaximumHeight(16777215)
295
+ panel_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
296
+
297
+
298
+ ####################################################################################################
299
+ # The following code is for the GUI control panel to interact with the CollapsiblePanelManager.
300
+ # It is not covered by any tests as it serves only as an example for the CollapsiblePanelManager class.
301
+ ####################################################################################################
302
+
303
+
304
+ class MainWindow(QMainWindow): # pragma: no cover
305
+ def __init__(self):
306
+ super().__init__()
307
+ self.setWindowTitle("Panels with ensure_max, scale, and animation toggle")
308
+ self.resize(800, 600)
309
+
310
+ central_widget = QWidget()
311
+ self.setCentralWidget(central_widget)
312
+ main_layout = QVBoxLayout(central_widget)
313
+ main_layout.setContentsMargins(10, 10, 10, 10)
314
+ main_layout.setSpacing(10)
315
+
316
+ # Buttons
317
+ buttons_layout = QHBoxLayout()
318
+ self.btn_left = QPushButton("Toggle Left (ensure_max=True)")
319
+ self.btn_top = QPushButton("Toggle Top (scale=0.5, no animation)")
320
+ self.btn_right = QPushButton("Toggle Right (ensure_max=True, scale=0.3)")
321
+ self.btn_bottom = QPushButton("Toggle Bottom (no animation)")
322
+
323
+ buttons_layout.addWidget(self.btn_left)
324
+ buttons_layout.addWidget(self.btn_top)
325
+ buttons_layout.addWidget(self.btn_right)
326
+ buttons_layout.addWidget(self.btn_bottom)
327
+
328
+ main_layout.addLayout(buttons_layout)
329
+
330
+ self.layout_manager = LayoutManagerWidget()
331
+ main_layout.addWidget(self.layout_manager)
332
+
333
+ # Main widget
334
+ self.main_plot = pg.PlotWidget()
335
+ self.main_plot.plot([1, 2, 3, 4], [4, 3, 2, 1])
336
+ self.layout_manager.add_widget(self.main_plot, 0, 0)
337
+
338
+ self.panel_manager = CollapsiblePanelManager(self.layout_manager, self.main_plot)
339
+
340
+ # Panels
341
+ self.left_panel = pg.PlotWidget()
342
+ self.left_panel.plot([1, 2, 3], [3, 2, 1])
343
+ self.panel_manager.add_panel("left", self.left_panel, target_size=200)
344
+
345
+ self.right_panel = pg.PlotWidget()
346
+ self.right_panel.plot([10, 20, 30], [1, 10, 1])
347
+ self.panel_manager.add_panel("right", self.right_panel, target_size=200)
348
+
349
+ self.top_panel = pg.PlotWidget()
350
+ self.top_panel.plot([1, 2, 3], [1, 2, 3])
351
+ self.panel_manager.add_panel("top", self.top_panel, target_size=150)
352
+
353
+ self.bottom_panel = pg.PlotWidget()
354
+ self.bottom_panel.plot([2, 4, 6], [10, 5, 10])
355
+ self.panel_manager.add_panel("bottom", self.bottom_panel, target_size=150)
356
+
357
+ # Connect buttons
358
+ # Left with ensure_max
359
+ self.btn_left.clicked.connect(
360
+ lambda: self.panel_manager.toggle_panel("left", ensure_max=True)
361
+ )
362
+ # Top with scale=0.5 and no animation
363
+ self.btn_top.clicked.connect(
364
+ lambda: self.panel_manager.toggle_panel("top", scale=0.5, animation=False)
365
+ )
366
+ # Right with ensure_max, scale=0.3
367
+ self.btn_right.clicked.connect(
368
+ lambda: self.panel_manager.toggle_panel("right", ensure_max=True, scale=0.3)
369
+ )
370
+ # Bottom no animation
371
+ self.btn_bottom.clicked.connect(
372
+ lambda: self.panel_manager.toggle_panel("bottom", target_size=100, animation=False)
373
+ )
374
+
375
+
376
+ if __name__ == "__main__": # pragma: no cover
377
+ app = QApplication(sys.argv)
378
+ w = MainWindow()
379
+ w.show()
380
+ sys.exit(app.exec())