bec-widgets 0.94.7__tar.gz → 0.95.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/CHANGELOG.md +30 -34
  2. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/PKG-INFO +1 -1
  3. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/client.py +19 -0
  4. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser.py +107 -0
  5. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser.pyproject +1 -0
  6. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser.ui +44 -0
  7. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_browser_plugin.py +54 -0
  8. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_item/__init__.py +1 -0
  9. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/device_item/device_item.py +53 -0
  10. bec_widgets-0.95.0/bec_widgets/widgets/device_browser/register_device_browser.py +15 -0
  11. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/_static/custom.css +10 -10
  12. bec_widgets-0.95.0/docs/assets/widget_screenshots/buttons.png +0 -0
  13. bec_widgets-0.95.0/docs/assets/widget_screenshots/device_box.png +0 -0
  14. bec_widgets-0.95.0/docs/assets/widget_screenshots/device_browser.png +0 -0
  15. bec_widgets-0.95.0/docs/assets/widget_screenshots/device_inputs.png +0 -0
  16. bec_widgets-0.95.0/docs/assets/widget_screenshots/dock_area.png +0 -0
  17. bec_widgets-0.95.0/docs/assets/widget_screenshots/figure.png +0 -0
  18. bec_widgets-0.95.0/docs/assets/widget_screenshots/image_widget.png +0 -0
  19. bec_widgets-0.95.0/docs/assets/widget_screenshots/motor_map_widget.png +0 -0
  20. bec_widgets-0.95.0/docs/assets/widget_screenshots/position_indicator.png +0 -0
  21. bec_widgets-0.95.0/docs/assets/widget_screenshots/queue.png +0 -0
  22. bec_widgets-0.95.0/docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
  23. bec_widgets-0.95.0/docs/assets/widget_screenshots/scan_controller.png +0 -0
  24. bec_widgets-0.95.0/docs/assets/widget_screenshots/spinner.gif +0 -0
  25. bec_widgets-0.95.0/docs/assets/widget_screenshots/status_box.png +0 -0
  26. bec_widgets-0.95.0/docs/assets/widget_screenshots/text_box.png +0 -0
  27. bec_widgets-0.95.0/docs/assets/widget_screenshots/toggle.png +0 -0
  28. bec_widgets-0.95.0/docs/assets/widget_screenshots/waveform_widget.png +0 -0
  29. bec_widgets-0.95.0/docs/assets/widget_screenshots/website.png +0 -0
  30. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/conf.py +1 -0
  31. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/developer/developer.md +2 -0
  32. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/index.md +4 -0
  33. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/requirements.txt +1 -0
  34. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/user.md +4 -0
  35. bec_widgets-0.95.0/docs/user/widgets/bec_figure/bec_figure.md +105 -0
  36. bec_widgets-0.95.0/docs/user/widgets/bec_status_box/bec_status_box.md +38 -0
  37. bec_widgets-0.95.0/docs/user/widgets/buttons/buttons.md +50 -0
  38. bec_widgets-0.95.0/docs/user/widgets/device_browser/device_browser.md +36 -0
  39. bec_widgets-0.95.0/docs/user/widgets/device_browser/device_browser.png +0 -0
  40. bec_widgets-0.95.0/docs/user/widgets/device_input/device_input.md +100 -0
  41. bec_widgets-0.95.0/docs/user/widgets/dock_area/BECDockArea.png +0 -0
  42. bec_widgets-0.95.0/docs/user/widgets/dock_area/bec_dock_area.md +107 -0
  43. bec_widgets-0.95.0/docs/user/widgets/image/image_widget.md +84 -0
  44. bec_widgets-0.95.0/docs/user/widgets/motor_map/motor_map.md +80 -0
  45. bec_widgets-0.95.0/docs/user/widgets/position_indicator/position_indicator.md +76 -0
  46. bec_widgets-0.95.0/docs/user/widgets/positioner_box/positioner_box.md +63 -0
  47. bec_widgets-0.95.0/docs/user/widgets/progress_bar/ring_progress_bar.md +103 -0
  48. bec_widgets-0.95.0/docs/user/widgets/queue/queue.md +41 -0
  49. bec_widgets-0.95.0/docs/user/widgets/scan_control/scan_control.md +46 -0
  50. bec_widgets-0.95.0/docs/user/widgets/spinner/spinner.md +75 -0
  51. bec_widgets-0.95.0/docs/user/widgets/text_box/text_box.md +74 -0
  52. bec_widgets-0.95.0/docs/user/widgets/toggle/toggle.md +66 -0
  53. bec_widgets-0.95.0/docs/user/widgets/waveform/waveform_widget.md +132 -0
  54. bec_widgets-0.95.0/docs/user/widgets/website/website.md +69 -0
  55. bec_widgets-0.95.0/docs/user/widgets/widgets.md +220 -0
  56. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/pyproject.toml +1 -1
  57. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/client_mocks.py +14 -0
  58. bec_widgets-0.95.0/tests/unit_tests/test_device_browser.py +83 -0
  59. bec_widgets-0.95.0/tests/unit_tests/test_msgs/__init__.py +0 -0
  60. bec_widgets-0.94.7/docs/user/widgets/bec_figure.md +0 -146
  61. bec_widgets-0.94.7/docs/user/widgets/bec_status_box.md +0 -30
  62. bec_widgets-0.94.7/docs/user/widgets/buttons.md +0 -37
  63. bec_widgets-0.94.7/docs/user/widgets/ring_progress_bar.md +0 -54
  64. bec_widgets-0.94.7/docs/user/widgets/scan_control.md +0 -35
  65. bec_widgets-0.94.7/docs/user/widgets/text_box.md +0 -33
  66. bec_widgets-0.94.7/docs/user/widgets/website.md +0 -21
  67. bec_widgets-0.94.7/docs/user/widgets/widgets.md +0 -20
  68. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.git_hooks/pre-commit +0 -0
  69. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.gitignore +0 -0
  70. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.gitlab/issue_templates/bug_report_template.md +0 -0
  71. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  72. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.gitlab/issue_templates/feature_request_template.md +0 -0
  73. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.gitlab/merge_request_templates/default.md +0 -0
  74. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.gitlab-ci.yml +0 -0
  75. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.pylintrc +0 -0
  76. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/.readthedocs.yaml +0 -0
  77. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/LICENSE +0 -0
  78. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/README.md +0 -0
  79. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/__init__.py +0 -0
  80. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/app_icons/BEC-Dark.png +0 -0
  81. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  82. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/app_icons/terminal_icon.png +0 -0
  83. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/code.png +0 -0
  84. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/color_button.png +0 -0
  85. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
  86. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/device_combo_box.png +0 -0
  87. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/device_line_edit.png +0 -0
  88. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/dock_area.png +0 -0
  89. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/games.png +0 -0
  90. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/image.png +0 -0
  91. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/motor_map.png +0 -0
  92. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/position_indicator.png +0 -0
  93. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/positioner_box.png +0 -0
  94. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/queue.png +0 -0
  95. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/ring_progress.png +0 -0
  96. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/scan_control.png +0 -0
  97. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/spinner.png +0 -0
  98. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/status.png +0 -0
  99. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/stop.png +0 -0
  100. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/text.png +0 -0
  101. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/toggle.png +0 -0
  102. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/waveform.png +0 -0
  103. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/designer_icons/web.png +0 -0
  104. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/error.svg +0 -0
  105. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/not_connected.svg +0 -0
  106. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/refresh.svg +0 -0
  107. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/running.svg +0 -0
  108. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/status_icons/warning.svg +0 -0
  109. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/add.svg +0 -0
  110. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/attach_all.svg +0 -0
  111. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/auto_range.svg +0 -0
  112. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/compare.svg +0 -0
  113. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/connection.svg +0 -0
  114. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/device_line_edit.svg +0 -0
  115. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +0 -0
  116. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/export.svg +0 -0
  117. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/fft.svg +0 -0
  118. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/fitting_parameters.svg +0 -0
  119. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/history.svg +0 -0
  120. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/image.svg +0 -0
  121. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/image_autorange.svg +0 -0
  122. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/import.svg +0 -0
  123. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/line_axis.svg +0 -0
  124. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/line_curve.svg +0 -0
  125. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/lock_aspect_ratio.svg +0 -0
  126. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/log_scale.png +0 -0
  127. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/motor_map.svg +0 -0
  128. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/photo_library.svg +0 -0
  129. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/positioner_box.svg +0 -0
  130. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/progress.svg +0 -0
  131. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/queue.svg +0 -0
  132. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/rectangle_mode.svg +0 -0
  133. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/remove.svg +0 -0
  134. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/reset_settings.svg +0 -0
  135. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/restore_state.svg +0 -0
  136. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/ring_progress.svg +0 -0
  137. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/rotate_left.svg +0 -0
  138. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/rotate_right.svg +0 -0
  139. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/save.svg +0 -0
  140. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/save_state.svg +0 -0
  141. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/scan_control.svg +0 -0
  142. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/settings.svg +0 -0
  143. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/status.svg +0 -0
  144. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/terminal.svg +0 -0
  145. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/transform.svg +0 -0
  146. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/assets/toolbar_icons/waveform.svg +0 -0
  147. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/__init__.py +0 -0
  148. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/auto_updates.py +0 -0
  149. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/client_utils.py +0 -0
  150. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/generate_cli.py +0 -0
  151. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/rpc_register.py +0 -0
  152. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
  153. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/cli/server.py +0 -0
  154. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/__init__.py +0 -0
  155. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/__init__.py +0 -0
  156. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/general_app.py +0 -0
  157. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/general_app.ui +0 -0
  158. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/general_app/web_links.py +0 -0
  159. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  160. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  161. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  162. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  163. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  164. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  165. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  166. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  167. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  168. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/qt_utils/__init__.py +0 -0
  169. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/qt_utils/error_popups.py +0 -0
  170. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
  171. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/qt_utils/settings_dialog.py +0 -0
  172. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/qt_utils/toolbar.py +0 -0
  173. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/__init__.py +0 -0
  174. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/bec_connector.py +0 -0
  175. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/bec_designer.py +0 -0
  176. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/bec_dispatcher.py +0 -0
  177. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/bec_table.py +0 -0
  178. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/bec_widget.py +0 -0
  179. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/colors.py +0 -0
  180. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/container_utils.py +0 -0
  181. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/crosshair.py +0 -0
  182. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/entry_validator.py +0 -0
  183. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  184. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/layout_manager.py +0 -0
  185. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
  186. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/plugin_templates/register.template +0 -0
  187. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/plugin_utils.py +0 -0
  188. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/reference_utils.py +0 -0
  189. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/rpc_decorator.py +0 -0
  190. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/thread_checker.py +0 -0
  191. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/ui_loader.py +0 -0
  192. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/validator_delegate.py +0 -0
  193. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/widget_io.py +0 -0
  194. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/utils/yaml_dialog.py +0 -0
  195. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/__init__.py +0 -0
  196. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/base_classes/__init__.py +0 -0
  197. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/base_classes/device_input_base.py +0 -0
  198. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/__init__.py +0 -0
  199. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/bec_queue.py +0 -0
  200. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/bec_queue.pyproject +0 -0
  201. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/bec_queue_plugin.py +0 -0
  202. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_queue/register_bec_queue.py +0 -0
  203. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/__init__.py +0 -0
  204. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/bec_status_box.py +0 -0
  205. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/bec_status_box.pyproject +0 -0
  206. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +0 -0
  207. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/register_bec_status_box.py +0 -0
  208. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/bec_status_box/status_item.py +0 -0
  209. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/__init__.py +0 -0
  210. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/color_button.py +0 -0
  211. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/color_button.pyproject +0 -0
  212. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/color_button_plugin.py +0 -0
  213. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/color_button/register_color_button.py +0 -0
  214. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/__init__.py +0 -0
  215. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/colormap_selector.py +0 -0
  216. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/colormap_selector.pyproject +0 -0
  217. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +0 -0
  218. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/colormap_selector/register_colormap_selector.py +0 -0
  219. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/console/console.py +0 -0
  220. {bec_widgets-0.94.7/bec_widgets/widgets/device_combobox → bec_widgets-0.95.0/bec_widgets/widgets/device_browser}/__init__.py +0 -0
  221. {bec_widgets-0.94.7/bec_widgets/widgets/device_line_edit → bec_widgets-0.95.0/bec_widgets/widgets/device_combobox}/__init__.py +0 -0
  222. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/device_combo_box.pyproject +0 -0
  223. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +0 -0
  224. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/device_combobox.py +0 -0
  225. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_combobox/register_device_combo_box.py +0 -0
  226. {bec_widgets-0.94.7/bec_widgets/widgets/figure/plots → bec_widgets-0.95.0/bec_widgets/widgets/device_line_edit}/__init__.py +0 -0
  227. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/device_line_edit.py +0 -0
  228. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject +0 -0
  229. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +0 -0
  230. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/device_line_edit/register_device_line_edit.py +0 -0
  231. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/__init__.py +0 -0
  232. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock.py +0 -0
  233. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock_area.py +0 -0
  234. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock_area.pyproject +0 -0
  235. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/dock_area_plugin.py +0 -0
  236. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/dock/register_dock_area.py +0 -0
  237. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/__init__.py +0 -0
  238. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/figure.py +0 -0
  239. {bec_widgets-0.94.7/bec_widgets/widgets/figure/plots/image → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots}/__init__.py +0 -0
  240. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/axis_settings.py +0 -0
  241. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/axis_settings.ui +0 -0
  242. {bec_widgets-0.94.7/bec_widgets/widgets/figure/plots/motor_map → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots/image}/__init__.py +0 -0
  243. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
  244. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
  245. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
  246. {bec_widgets-0.94.7/bec_widgets/widgets/figure/plots/waveform → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots/motor_map}/__init__.py +0 -0
  247. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
  248. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/plot_base.py +0 -0
  249. {bec_widgets-0.94.7/bec_widgets/widgets/image → bec_widgets-0.95.0/bec_widgets/widgets/figure/plots/waveform}/__init__.py +0 -0
  250. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
  251. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
  252. {bec_widgets-0.94.7/bec_widgets/widgets/jupyter_console → bec_widgets-0.95.0/bec_widgets/widgets/image}/__init__.py +0 -0
  253. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/image/bec_image_widget.pyproject +0 -0
  254. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/image/bec_image_widget_plugin.py +0 -0
  255. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/image/image_widget.py +0 -0
  256. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/image/register_bec_image_widget.py +0 -0
  257. {bec_widgets-0.94.7/bec_widgets/widgets/motor_map → bec_widgets-0.95.0/bec_widgets/widgets/jupyter_console}/__init__.py +0 -0
  258. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
  259. {bec_widgets-0.94.7/bec_widgets/widgets/motor_map/motor_map_dialog → bec_widgets-0.95.0/bec_widgets/widgets/motor_map}/__init__.py +0 -0
  260. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject +0 -0
  261. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +0 -0
  262. {bec_widgets-0.94.7/bec_widgets/widgets/position_indicator → bec_widgets-0.95.0/bec_widgets/widgets/motor_map/motor_map_dialog}/__init__.py +0 -0
  263. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
  264. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
  265. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/motor_map_widget.py +0 -0
  266. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py +0 -0
  267. {bec_widgets-0.94.7/bec_widgets/widgets/positioner_box → bec_widgets-0.95.0/bec_widgets/widgets/position_indicator}/__init__.py +0 -0
  268. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/position_indicator.py +0 -0
  269. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/position_indicator.pyproject +0 -0
  270. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/position_indicator_plugin.py +0 -0
  271. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/position_indicator/register_position_indicator.py +0 -0
  272. {bec_widgets-0.94.7/bec_widgets/widgets/spinner → bec_widgets-0.95.0/bec_widgets/widgets/positioner_box}/__init__.py +0 -0
  273. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box.py +0 -0
  274. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box.pyproject +0 -0
  275. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box.ui +0 -0
  276. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_box_plugin.py +0 -0
  277. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line.py +0 -0
  278. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line.pyproject +0 -0
  279. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line.ui +0 -0
  280. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py +0 -0
  281. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/register_positioner_box.py +0 -0
  282. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/positioner_box/register_positioner_control_line.py +0 -0
  283. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/__init__.py +0 -0
  284. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/register_ring_progress_bar.py +0 -0
  285. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring.py +0 -0
  286. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +0 -0
  287. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject +0 -0
  288. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +0 -0
  289. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/__init__.py +0 -0
  290. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/register_scan_control.py +0 -0
  291. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
  292. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_control.pyproject +0 -0
  293. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_control_plugin.py +0 -0
  294. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/scan_control/scan_group_box.py +0 -0
  295. {bec_widgets-0.94.7/bec_widgets/widgets/stop_button → bec_widgets-0.95.0/bec_widgets/widgets/spinner}/__init__.py +0 -0
  296. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/register_spinner_widget.py +0 -0
  297. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/spinner.py +0 -0
  298. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/spinner_widget.pyproject +0 -0
  299. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/spinner/spinner_widget_plugin.py +0 -0
  300. {bec_widgets-0.94.7/bec_widgets/widgets/text_box → bec_widgets-0.95.0/bec_widgets/widgets/stop_button}/__init__.py +0 -0
  301. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/register_stop_button.py +0 -0
  302. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/stop_button.py +0 -0
  303. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/stop_button.pyproject +0 -0
  304. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/stop_button/stop_button_plugin.py +0 -0
  305. {bec_widgets-0.94.7/bec_widgets/widgets/toggle → bec_widgets-0.95.0/bec_widgets/widgets/text_box}/__init__.py +0 -0
  306. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/register_text_box.py +0 -0
  307. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/text_box.py +0 -0
  308. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/text_box.pyproject +0 -0
  309. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/text_box/text_box_plugin.py +0 -0
  310. {bec_widgets-0.94.7/bec_widgets/widgets/vscode → bec_widgets-0.95.0/bec_widgets/widgets/toggle}/__init__.py +0 -0
  311. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/register_toggle_switch.py +0 -0
  312. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/toggle.py +0 -0
  313. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/toggle_switch.pyproject +0 -0
  314. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/toggle/toggle_switch_plugin.py +0 -0
  315. {bec_widgets-0.94.7/bec_widgets/widgets/waveform → bec_widgets-0.95.0/bec_widgets/widgets/vscode}/__init__.py +0 -0
  316. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/register_vs_code_editor.py +0 -0
  317. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/vs_code_editor.pyproject +0 -0
  318. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/vs_code_editor_plugin.py +0 -0
  319. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/vscode/vscode.py +0 -0
  320. {bec_widgets-0.94.7/bec_widgets/widgets/waveform/waveform_popups → bec_widgets-0.95.0/bec_widgets/widgets/waveform}/__init__.py +0 -0
  321. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/bec_waveform_widget.pyproject +0 -0
  322. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +0 -0
  323. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/register_bec_waveform_widget.py +0 -0
  324. {bec_widgets-0.94.7/bec_widgets/widgets/waveform/waveform_popups/curve_dialog → bec_widgets-0.95.0/bec_widgets/widgets/waveform/waveform_popups}/__init__.py +0 -0
  325. {bec_widgets-0.94.7/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog → bec_widgets-0.95.0/bec_widgets/widgets/waveform/waveform_popups/curve_dialog}/__init__.py +0 -0
  326. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py +0 -0
  327. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
  328. {bec_widgets-0.94.7/bec_widgets/widgets/website → bec_widgets-0.95.0/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog}/__init__.py +0 -0
  329. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary.ui +0 -0
  330. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
  331. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/waveform/waveform_widget.py +0 -0
  332. {bec_widgets-0.94.7/tests → bec_widgets-0.95.0/bec_widgets/widgets/website}/__init__.py +0 -0
  333. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/website/register_website_widget.py +0 -0
  334. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/website/website.py +0 -0
  335. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/website/website_widget.pyproject +0 -0
  336. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/bec_widgets/widgets/website/website_widget_plugin.py +0 -0
  337. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/Makefile +0 -0
  338. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/_templates/custom-class-template.rst +0 -0
  339. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/_templates/custom-module-template.rst +0 -0
  340. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/api_reference/api_reference.md +0 -0
  341. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/apps_48dp.svg +0 -0
  342. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/display_settings_48dp.svg +0 -0
  343. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/index_api.svg +0 -0
  344. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/index_contribute.svg +0 -0
  345. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/index_getting_started.svg +0 -0
  346. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/index_user_guide.svg +0 -0
  347. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/assets/rocket_launch_48dp.svg +0 -0
  348. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/developer/introduction/concepts.md +0 -0
  349. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/developer/introduction/contributing.md +0 -0
  350. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/developer/introduction/introduction.md +0 -0
  351. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/developer/widget_development/widget_development.md +0 -0
  352. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/introduction/introduction.md +0 -0
  353. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/make.bat +0 -0
  354. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/api_reference/api_reference.md +0 -0
  355. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/applications/applications.md +0 -0
  356. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/customisation.md +0 -0
  357. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/BECDockArea.png +0 -0
  358. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/auto_updates.md +0 -0
  359. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/getting_started.md +0 -0
  360. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/gui_complex_gui.gif +0 -0
  361. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/installation.md +0 -0
  362. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/quick_start.md +0 -0
  363. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/docs/user/getting_started/video_tutorials.md +0 -0
  364. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/bec_figure}/BECFigure.png +0 -0
  365. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/bec_status_box}/bec_status_box.gif +0 -0
  366. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/image}/image_plot.gif +0 -0
  367. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/motor_map}/motor.gif +0 -0
  368. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/progress_bar}/progress_bar.gif +0 -0
  369. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/scan_control}/scan_control.gif +0 -0
  370. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/waveform}/bec_figure_dap.gif +0 -0
  371. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/waveform}/scatter_2D.gif +0 -0
  372. {bec_widgets-0.94.7/docs/user/widgets → bec_widgets-0.95.0/docs/user/widgets/waveform}/w1D.gif +0 -0
  373. {bec_widgets-0.94.7/tests/end-2-end → bec_widgets-0.95.0/tests}/__init__.py +0 -0
  374. {bec_widgets-0.94.7/tests/unit_tests → bec_widgets-0.95.0/tests/end-2-end}/__init__.py +0 -0
  375. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/end-2-end/conftest.py +0 -0
  376. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -0
  377. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
  378. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
  379. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/end-2-end/test_scan_control_e2e.py +0 -0
  380. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
  381. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
  382. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
  383. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
  384. {bec_widgets-0.94.7/tests/unit_tests/test_msgs → bec_widgets-0.95.0/tests/unit_tests}/__init__.py +0 -0
  385. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/conftest.py +0 -0
  386. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_connector.py +0 -0
  387. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_dispatcher.py +0 -0
  388. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_dock.py +0 -0
  389. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_figure.py +0 -0
  390. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_image.py +0 -0
  391. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_image_widget.py +0 -0
  392. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_motor_map.py +0 -0
  393. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_queue.py +0 -0
  394. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_bec_status_box.py +0 -0
  395. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_client_utils.py +0 -0
  396. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_color_map_selector.py +0 -0
  397. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_color_validation.py +0 -0
  398. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_configs/config_device.yaml +0 -0
  399. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
  400. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
  401. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_crosshair.py +0 -0
  402. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_device_input_base.py +0 -0
  403. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_device_input_widgets.py +0 -0
  404. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_error_utils.py +0 -0
  405. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_generate_cli_client.py +0 -0
  406. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_generate_plugin.py +0 -0
  407. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_motor_map_widget.py +0 -0
  408. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
  409. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_plot_base.py +0 -0
  410. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_plugin_utils.py +0 -0
  411. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_positioner_box.py +0 -0
  412. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_ring_progress_bar.py +0 -0
  413. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_rpc_register.py +0 -0
  414. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_rpc_server.py +0 -0
  415. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_rpc_widget_handler.py +0 -0
  416. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_scan_control.py +0 -0
  417. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_scan_control_group_box.py +0 -0
  418. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_setting_dialog.py +0 -0
  419. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_spinner.py +0 -0
  420. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_stop_button.py +0 -0
  421. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_text_box_widget.py +0 -0
  422. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_toggle.py +0 -0
  423. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_vscode_widget.py +0 -0
  424. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_waveform1d.py +0 -0
  425. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_waveform_widget.py +0 -0
  426. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_website_widget.py +0 -0
  427. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_widget_io.py +0 -0
  428. {bec_widgets-0.94.7 → bec_widgets-0.95.0}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -1,5 +1,35 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.95.0 (2024-08-21)
4
+
5
+ ### Documentation
6
+
7
+ * docs(device_browser): added user docs ([`2c31cc9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2c31cc90ae751f14a653cbbdd6c353d6359aaafe))
8
+
9
+ * docs(user): widget gallery with documentation added ([`7357f3d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7357f3d2a189f9f04954a027f39ce07c394d57ec))
10
+
11
+ * docs: added sphinx-inline-tabs as sphinx dependency ([`e9ecd26`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e9ecd268c602ea9572df0e8d508e49ee62d0c170))
12
+
13
+ * docs(cards): changed index cards to custom css class instead of overwriting the default sd-card theme ([`91ba30e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/91ba30e8d054a9c7f6c6d98b21113a5d0b1bbbbb))
14
+
15
+ ### Feature
16
+
17
+ * feat(cli): added device_browser to cli ([`196504b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/196504b533367a899c19b88af4ccd5b39dc46aac))
18
+
19
+ * feat(widgets): added device_browser widget ([`73f5a2f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/73f5a2f085b289ac18fa8a918b6ad7cfed595fb4))
20
+
21
+ ### Fix
22
+
23
+ * fix(device_browser): fixed plugin assignment for designer ([`6500393`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/650039303aae9bbec62c676285938416fff146ce))
24
+
25
+ ### Refactor
26
+
27
+ * refactor(docs): review response ([`4790afd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4790afde3d61fc9beb073c2775c339d4f80779e3))
28
+
29
+ ### Test
30
+
31
+ * test: added test for device browser ([`e870e5b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e870e5ba083c61df581c9c0305adabe72967f997))
32
+
3
33
  ## v0.94.7 (2024-08-20)
4
34
 
5
35
  ### Fix
@@ -121,37 +151,3 @@ Terminating client connections has to be done at the application level ([`198c1d
121
151
  * test: ensure all toplevelwidgets are closed ([`f9e5897`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f9e58979009cf632feea529700ad191401dd7eb8))
122
152
 
123
153
  ## v0.93.2 (2024-08-07)
124
-
125
- ### Fix
126
-
127
- * fix(scan_group_box): Scan Spinboxes limits increased to max allowed values; setting dialog for step size and decimal precision for ScanDoubleSpinBox on right click ([`a372925`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a372925fffa787c686198ae7cb3f9c15b459c109))
128
-
129
- ## v0.93.1 (2024-08-06)
130
-
131
- ### Documentation
132
-
133
- * docs: added video tutorial section with BSEG YT video ([`302ae90`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/302ae90139f6a88e2401fe29fe312387486e27a9))
134
-
135
- ### Fix
136
-
137
- * fix(dock): docks have more recognizable red icon for closing docks ([`af86860`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/af86860bf35474805fb1a7bc3725cf8835ed4cc7))
138
-
139
- ## v0.93.0 (2024-08-05)
140
-
141
- ### Feature
142
-
143
- * feat(themes): moved themes to bec_qthemes
144
-
145
- This reverts commit fd6ae91993a23a7b8dbb2cf3c4b7c3eda6d2b0f6 ([`5aad401`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5aad401ef8774c7330784f72cd3b9d8c253e2b6a))
146
-
147
- ## v0.92.5 (2024-08-05)
148
-
149
- ### Fix
150
-
151
- * fix(spinner): stop timer on close event ([`30fef92`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/30fef929cf6fb4b73f48151c92a0ee54c734031d))
152
-
153
- * fix(status_box): fix cleanup of status box ([`1f30dd7`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1f30dd73a9c1e3135087a5eef92c7329f54a604e))
154
-
155
- ### Test
156
-
157
- * test: register all widgets with qtbot and close them ([`73cd11e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/73cd11e47277e4437554b785a9551b28a572094f))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.94.7
3
+ Version: 0.95.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
@@ -21,6 +21,7 @@ class Widgets(str, enum.Enum):
21
21
  BECQueue = "BECQueue"
22
22
  BECStatusBox = "BECStatusBox"
23
23
  BECWaveformWidget = "BECWaveformWidget"
24
+ DeviceBrowser = "DeviceBrowser"
24
25
  DeviceComboBox = "DeviceComboBox"
25
26
  DeviceLineEdit = "DeviceLineEdit"
26
27
  PositionerBox = "PositionerBox"
@@ -2288,6 +2289,24 @@ class BECWaveformWidget(RPCBase):
2288
2289
  """
2289
2290
 
2290
2291
 
2292
+ class DeviceBrowser(RPCBase):
2293
+ @property
2294
+ @rpc_call
2295
+ def _config_dict(self) -> "dict":
2296
+ """
2297
+ Get the configuration of the widget.
2298
+
2299
+ Returns:
2300
+ dict: The configuration of the widget.
2301
+ """
2302
+
2303
+ @rpc_call
2304
+ def _get_all_rpc(self) -> "dict":
2305
+ """
2306
+ Get all registered RPC objects.
2307
+ """
2308
+
2309
+
2291
2310
  class DeviceComboBox(RPCBase):
2292
2311
  @property
2293
2312
  @rpc_call
@@ -0,0 +1,107 @@
1
+ import os
2
+ import re
3
+ from typing import Optional
4
+
5
+ from bec_lib.callback_handler import EventType
6
+ from pyqtgraph import SignalProxy
7
+ from qtpy.QtCore import Signal, Slot
8
+ from qtpy.QtWidgets import QLineEdit, QListWidgetItem, QVBoxLayout, QWidget
9
+
10
+ from bec_widgets.utils.bec_widget import BECWidget
11
+ from bec_widgets.utils.ui_loader import UILoader
12
+ from bec_widgets.widgets.device_browser.device_item import DeviceItem
13
+
14
+
15
+ class DeviceBrowser(BECWidget, QWidget):
16
+ device_update: Signal = Signal()
17
+
18
+ def __init__(
19
+ self,
20
+ parent: Optional[QWidget] = None,
21
+ config=None,
22
+ client=None,
23
+ gui_id: Optional[str] = None,
24
+ ) -> None:
25
+ super().__init__(client=client, config=config, gui_id=gui_id)
26
+ QWidget.__init__(self, parent)
27
+
28
+ self.get_bec_shortcuts()
29
+ self.ui = None
30
+ self.ini_ui()
31
+
32
+ self.proxy_device_update = SignalProxy(
33
+ self.ui.filter_input.textChanged, rateLimit=500, slot=self.update_device_list
34
+ )
35
+ self.bec_dispatcher.client.callbacks.register(
36
+ EventType.DEVICE_UPDATE, self.on_device_update
37
+ )
38
+ self.device_update.connect(self.update_device_list)
39
+
40
+ self.update_device_list()
41
+
42
+ def ini_ui(self) -> None:
43
+ """
44
+ Initialize the UI by loading the UI file and setting the layout.
45
+ """
46
+ layout = QVBoxLayout()
47
+ layout.setContentsMargins(0, 0, 0, 0)
48
+
49
+ ui_file_path = os.path.join(os.path.dirname(__file__), "device_browser.ui")
50
+ self.ui = UILoader(self).loader(ui_file_path)
51
+ layout.addWidget(self.ui)
52
+ self.setLayout(layout)
53
+
54
+ def on_device_update(self, action: str, content: dict) -> None:
55
+ """
56
+ Callback for device update events. Triggers the device_update signal.
57
+
58
+ Args:
59
+ action (str): The action that triggered the event.
60
+ content (dict): The content of the config update.
61
+ """
62
+ if action in ["add", "remove", "reload"]:
63
+ self.device_update.emit()
64
+
65
+ @Slot()
66
+ def update_device_list(self) -> None:
67
+ """
68
+ Update the device list based on the filter input.
69
+ There are two ways to trigger this function:
70
+ 1. By changing the text in the filter input.
71
+ 2. By emitting the device_update signal.
72
+
73
+ Either way, the function will filter the devices based on the filter input text and update the device list.
74
+ """
75
+ filter_text = self.ui.filter_input.text()
76
+ try:
77
+ regex = re.compile(filter_text, re.IGNORECASE)
78
+ except re.error:
79
+ regex = None # Invalid regex, disable filtering
80
+
81
+ dev_list = self.ui.device_list
82
+ dev_list.clear()
83
+ for device in self.dev:
84
+ if regex is None or regex.search(device):
85
+ item = QListWidgetItem(dev_list)
86
+ device_item = DeviceItem(device)
87
+
88
+ # pylint: disable=protected-access
89
+ tooltip = self.dev[device]._config.get("description", "")
90
+ device_item.setToolTip(tooltip)
91
+ item.setSizeHint(device_item.sizeHint())
92
+ dev_list.setItemWidget(item, device_item)
93
+ dev_list.addItem(item)
94
+
95
+
96
+ if __name__ == "__main__": # pragma: no cover
97
+ import sys
98
+
99
+ from qtpy.QtWidgets import QApplication
100
+
101
+ from bec_widgets.utils.colors import apply_theme
102
+
103
+ app = QApplication(sys.argv)
104
+ apply_theme("light")
105
+ widget = DeviceBrowser()
106
+ widget.show()
107
+ sys.exit(app.exec_())
@@ -0,0 +1 @@
1
+ {'files': ['device_browser.py']}
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>406</width>
10
+ <height>500</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Form</string>
15
+ </property>
16
+ <layout class="QVBoxLayout" name="verticalLayout">
17
+ <item>
18
+ <widget class="QGroupBox" name="browser_group_box">
19
+ <property name="title">
20
+ <string>Device Browser</string>
21
+ </property>
22
+ <layout class="QVBoxLayout" name="verticalLayout_2">
23
+ <item>
24
+ <layout class="QHBoxLayout" name="filter_layout">
25
+ <item>
26
+ <widget class="QLineEdit" name="filter_input">
27
+ <property name="placeholderText">
28
+ <string>Filter</string>
29
+ </property>
30
+ </widget>
31
+ </item>
32
+ </layout>
33
+ </item>
34
+ <item>
35
+ <widget class="QListWidget" name="device_list"/>
36
+ </item>
37
+ </layout>
38
+ </widget>
39
+ </item>
40
+ </layout>
41
+ </widget>
42
+ <resources/>
43
+ <connections/>
44
+ </ui>
@@ -0,0 +1,54 @@
1
+ # Copyright (C) 2022 The Qt Company Ltd.
2
+ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
+
4
+ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
5
+ from qtpy.QtGui import QIcon
6
+
7
+ from bec_widgets.widgets.device_browser.device_browser import DeviceBrowser
8
+
9
+ DOM_XML = """
10
+ <ui language='c++'>
11
+ <widget class='DeviceBrowser' name='device_browser'>
12
+ </widget>
13
+ </ui>
14
+ """
15
+
16
+
17
+ class DeviceBrowserPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
18
+ def __init__(self):
19
+ super().__init__()
20
+ self._form_editor = None
21
+
22
+ def createWidget(self, parent):
23
+ t = DeviceBrowser(parent)
24
+ return t
25
+
26
+ def domXml(self):
27
+ return DOM_XML
28
+
29
+ def group(self):
30
+ return "BEC Services"
31
+
32
+ def icon(self):
33
+ return QIcon()
34
+
35
+ def includeFile(self):
36
+ return "device_browser"
37
+
38
+ def initialize(self, form_editor):
39
+ self._form_editor = form_editor
40
+
41
+ def isContainer(self):
42
+ return False
43
+
44
+ def isInitialized(self):
45
+ return self._form_editor is not None
46
+
47
+ def name(self):
48
+ return "DeviceBrowser"
49
+
50
+ def toolTip(self):
51
+ return "DeviceBrowser"
52
+
53
+ def whatsThis(self):
54
+ return self.toolTip()
@@ -0,0 +1 @@
1
+ from .device_item import DeviceItem
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from qtpy.QtCore import QMimeData, Qt
6
+ from qtpy.QtGui import QDrag
7
+ from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget
8
+
9
+ if TYPE_CHECKING:
10
+ from qtpy.QtGui import QMouseEvent
11
+
12
+
13
+ class DeviceItem(QWidget):
14
+ def __init__(self, device: str) -> None:
15
+ super().__init__()
16
+ self.device = device
17
+ layout = QHBoxLayout()
18
+ layout.setContentsMargins(10, 2, 10, 2)
19
+ self.label = QLabel(device)
20
+ layout.addWidget(self.label)
21
+ self.setLayout(layout)
22
+
23
+ self.setStyleSheet(
24
+ """
25
+ border: 1px solid #ddd;
26
+ border-radius: 5px;
27
+ padding: 10px;
28
+ """
29
+ )
30
+
31
+ def mousePressEvent(self, event: QMouseEvent) -> None:
32
+ if event.button() == Qt.LeftButton:
33
+ drag = QDrag(self)
34
+ mime_data = QMimeData()
35
+ mime_data.setText(self.device)
36
+ drag.setMimeData(mime_data)
37
+ drag.exec_(Qt.MoveAction)
38
+
39
+ def mouseDoubleClickEvent(self, event: QMouseEvent) -> None:
40
+ print("Double Clicked")
41
+ # TODO: Implement double click action for opening the device properties dialog
42
+ return super().mouseDoubleClickEvent(event)
43
+
44
+
45
+ if __name__ == "__main__": # pragma: no cover
46
+ import sys
47
+
48
+ from qtpy.QtWidgets import QApplication
49
+
50
+ app = QApplication(sys.argv)
51
+ widget = DeviceItem("Device")
52
+ widget.show()
53
+ sys.exit(app.exec_())
@@ -0,0 +1,15 @@
1
+ def main(): # pragma: no cover
2
+ from qtpy import PYSIDE6
3
+
4
+ if not PYSIDE6:
5
+ print("PYSIDE6 is not available in the environment. Cannot patch designer.")
6
+ return
7
+ from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
8
+
9
+ from bec_widgets.widgets.device_browser.device_browser_plugin import DeviceBrowserPlugin
10
+
11
+ QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceBrowserPlugin())
12
+
13
+
14
+ if __name__ == "__main__": # pragma: no cover
15
+ main()
@@ -59,29 +59,29 @@
59
59
 
60
60
  /* Main index page overview cards */
61
61
 
62
- .sd-card {
62
+ .index-card .sd-card {
63
63
  background: #fff;
64
64
  border-radius: 0;
65
65
  padding: 30px 10px 20px 10px;
66
66
  margin: 10px 0px;
67
67
  }
68
68
 
69
- .sd-card .sd-card-header {
69
+ .index-card .sd-card-header {
70
70
  text-align: center;
71
71
  }
72
72
 
73
- .sd-card .sd-card-header .sd-card-text {
73
+ .index-card .sd-card-header .sd-card-text {
74
74
  margin: 0px;
75
75
  }
76
76
 
77
- .sd-card .sd-card-img-top {
77
+ .index-card .sd-card-img-top {
78
78
  height: 52px;
79
79
  width: 52px;
80
80
  margin-left: auto;
81
81
  margin-right: auto;
82
82
  }
83
83
 
84
- .sd-card .sd-card-header {
84
+ .index-card .sd-card-header {
85
85
  border: none;
86
86
  background-color:white;
87
87
  color: #150458 !important;
@@ -91,13 +91,13 @@
91
91
  border-bottom: none !important;
92
92
  }
93
93
 
94
- .sd-card .sd-card-footer {
94
+ .index-card .sd-card-footer {
95
95
  border: none;
96
96
  background-color:white;
97
97
  border-top: none !important;
98
98
  }
99
99
 
100
- .sd-card .sd-card-footer .sd-card-text{
100
+ .index-card .sd-card-footer .sd-card-text{
101
101
  max-width: 220px;
102
102
  margin-left: auto;
103
103
  margin-right: auto;
@@ -143,7 +143,7 @@
143
143
 
144
144
  /* Main index page overview cards */
145
145
 
146
- html[data-theme=dark] .sd-card {
146
+ html[data-theme=dark] .index-card .sd-card {
147
147
  background-color:var(--pst-color-background);
148
148
  border: none
149
149
  }
@@ -152,12 +152,12 @@
152
152
  box-shadow: 0 .1rem 0.5rem rgba(250, 250, 250, .2) !important
153
153
  }
154
154
 
155
- html[data-theme=dark] .sd-card .sd-card-header {
155
+ html[data-theme=dark] .index-card .sd-card-header {
156
156
  background-color:var(--pst-color-background);
157
157
  color: #150458 !important;
158
158
  }
159
159
 
160
- html[data-theme=dark] .sd-card .sd-card-footer {
160
+ html[data-theme=dark] .index-card .sd-card-footer {
161
161
  background-color:var(--pst-color-background);
162
162
  }
163
163
 
@@ -41,6 +41,7 @@ extensions = [
41
41
  "sphinx_copybutton",
42
42
  "myst_parser",
43
43
  "sphinx_design",
44
+ "sphinx_inline_tabs",
44
45
  ]
45
46
 
46
47
  myst_enable_extensions = [
@@ -27,6 +27,7 @@ api_reference/api_reference.md
27
27
  :link-type: ref
28
28
  :img-top: /assets/rocket_launch_48dp.svg
29
29
  :text-align: center
30
+ :class-item: index-card
30
31
 
31
32
  ## Introduction
32
33
 
@@ -38,6 +39,7 @@ An introduction into the single-resposibility principle and the modular design o
38
39
  :link-type: ref
39
40
  :img-top: /assets/apps_48dp.svg
40
41
  :text-align: center
42
+ :class-item: index-card
41
43
 
42
44
  ## Widget Development
43
45
 
@@ -14,6 +14,7 @@ A flexible and extensible framework for building graphical user interfaces in Py
14
14
  :link-type: ref
15
15
  :img-top: /assets/index_getting_started.svg
16
16
  :text-align: center
17
+ :class-item: index-card
17
18
 
18
19
  ## Introduction
19
20
 
@@ -25,6 +26,7 @@ General information about BEC Widgets.
25
26
  :link-type: ref
26
27
  :img-top: /assets/index_user_guide.svg
27
28
  :text-align: center
29
+ :class-item: index-card
28
30
 
29
31
  ## User guide
30
32
 
@@ -36,6 +38,7 @@ Information for users of BEC Widgets.
36
38
  :link-type: ref
37
39
  :img-top: /assets/index_contribute.svg
38
40
  :text-align: center
41
+ :class-item: index-card
39
42
 
40
43
  ## Developer guide
41
44
 
@@ -47,6 +50,7 @@ Information for developers of BEC Widgets.
47
50
  :link-type: ref
48
51
  :img-top: /assets/index_api.svg
49
52
  :text-align: center
53
+ :class-item: index-card
50
54
 
51
55
  ## API reference
52
56
 
@@ -4,6 +4,7 @@ recommonmark
4
4
  sphinx-toolbox
5
5
  pydata-sphinx-theme
6
6
  sphinx-copybutton
7
+ sphinx-inline-tabs
7
8
  myst-parser
8
9
  sphinx-design
9
10
  PySide6
@@ -25,6 +25,7 @@ api_reference/api_reference.md
25
25
  :link-type: ref
26
26
  :img-top: /assets/rocket_launch_48dp.svg
27
27
  :text-align: center
28
+ :class-item: index-card
28
29
 
29
30
  ## Getting Started
30
31
 
@@ -36,6 +37,7 @@ Learn how to install BEC Widgets and get started with the framework.
36
37
  :link-type: ref
37
38
  :img-top: /assets/display_settings_48dp.svg
38
39
  :text-align: center
40
+ :class-item: index-card
39
41
 
40
42
  ## Applications
41
43
 
@@ -48,6 +50,7 @@ Learn how to use BEC Widgets Applications, to modify and create new applications
48
50
  :link-type: ref
49
51
  :img-top: /assets/apps_48dp.svg
50
52
  :text-align: center
53
+ :class-item: index-card
51
54
 
52
55
  ## Widgets
53
56
 
@@ -59,6 +62,7 @@ Learn about the building blocks of larger applications: widgets.
59
62
  :link-type: ref
60
63
  :img-top: /assets/index_api.svg
61
64
  :text-align: center
65
+ :class-item: index-card
62
66
 
63
67
  ## API reference
64
68