bec-widgets 0.99.1__tar.gz → 0.99.9__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 (411) hide show
  1. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.gitlab-ci.yml +0 -1
  2. bec_widgets-0.99.9/CHANGELOG.md +161 -0
  3. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/PKG-INFO +2 -2
  4. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/client.py +3 -3
  5. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/qt_utils/toolbar.py +11 -5
  6. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/bec_widget.py +11 -2
  7. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/colors.py +18 -2
  8. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/plugin_templates/plugin.template +2 -2
  9. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_queue/bec_queue.py +2 -0
  10. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_queue/bec_queue_plugin.py +1 -1
  11. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_status_box/bec_status_box.py +2 -0
  12. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +1 -1
  13. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/color_button/color_button.py +2 -0
  14. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/color_button/color_button_plugin.py +1 -1
  15. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/colormap_selector/colormap_selector.py +1 -0
  16. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +1 -1
  17. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dark_mode_button/dark_mode_button.py +12 -3
  18. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dark_mode_button/dark_mode_button_plugin.py +1 -1
  19. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/device_browser.py +2 -0
  20. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/device_browser_plugin.py +1 -1
  21. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +1 -1
  22. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_combobox/device_combobox.py +2 -0
  23. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_line_edit/device_line_edit.py +2 -0
  24. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +1 -1
  25. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dock/dock.py +1 -0
  26. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dock/dock_area.py +30 -10
  27. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dock/dock_area_plugin.py +1 -1
  28. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/figure.py +1 -1
  29. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/waveform/waveform.py +12 -7
  30. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +3 -3
  31. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/image/bec_image_widget_plugin.py +1 -1
  32. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/image/image_widget.py +1 -0
  33. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +1 -1
  34. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/motor_map_widget.py +1 -0
  35. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/position_indicator/position_indicator.py +2 -0
  36. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/position_indicator/position_indicator_plugin.py +1 -1
  37. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_box.py +1 -0
  38. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_box_plugin.py +1 -1
  39. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_control_line.py +2 -0
  40. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py +1 -1
  41. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +1 -0
  42. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +1 -1
  43. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/scan_control/scan_control.py +2 -0
  44. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/scan_control/scan_control_plugin.py +1 -4
  45. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/spinner/spinner.py +2 -0
  46. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/spinner/spinner_widget_plugin.py +1 -1
  47. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/stop_button/stop_button.py +2 -0
  48. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/stop_button/stop_button_plugin.py +1 -1
  49. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/text_box/text_box.py +1 -0
  50. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/text_box/text_box_plugin.py +1 -1
  51. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/toggle/toggle.py +1 -0
  52. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/toggle/toggle_switch_plugin.py +1 -1
  53. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/vscode/vs_code_editor_plugin.py +1 -1
  54. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/vscode/vscode.py +1 -0
  55. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +1 -1
  56. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py +14 -13
  57. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_widget.py +3 -2
  58. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/website/website.py +42 -10
  59. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/website/website_widget_plugin.py +1 -1
  60. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/pyproject.toml +7 -2
  61. bec_widgets-0.99.1/CHANGELOG.md +0 -155
  62. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/add.svg +0 -3
  63. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/attach_all.svg +0 -3
  64. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/auto_range.svg +0 -3
  65. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/compare.svg +0 -3
  66. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/connection.svg +0 -4
  67. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/device_line_edit.svg +0 -3
  68. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +0 -3
  69. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/export.svg +0 -9
  70. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/fft.svg +0 -11
  71. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/fitting_parameters.svg +0 -3
  72. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/history.svg +0 -4
  73. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/image.svg +0 -3
  74. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/image_autorange.svg +0 -3
  75. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/import.svg +0 -9
  76. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/line_axis.svg +0 -3
  77. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/line_curve.svg +0 -3
  78. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/lock_aspect_ratio.svg +0 -3
  79. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/log_scale.png +0 -0
  80. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/motor_map.svg +0 -3
  81. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/photo_library.svg +0 -3
  82. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/positioner_box.svg +0 -3
  83. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/progress.svg +0 -3
  84. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/queue.svg +0 -3
  85. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/rectangle_mode.svg +0 -3
  86. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/remove.svg +0 -5
  87. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/reset_settings.svg +0 -3
  88. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/restore_state.svg +0 -3
  89. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/ring_progress.svg +0 -3
  90. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/rotate_left.svg +0 -3
  91. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/rotate_right.svg +0 -3
  92. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/save.svg +0 -3
  93. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/save_state.svg +0 -3
  94. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/scan_control.svg +0 -3
  95. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/settings.svg +0 -4
  96. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/status.svg +0 -3
  97. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/terminal.svg +0 -3
  98. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/transform.svg +0 -3
  99. bec_widgets-0.99.1/bec_widgets/assets/toolbar_icons/waveform.svg +0 -3
  100. bec_widgets-0.99.1/docs/Makefile +0 -20
  101. bec_widgets-0.99.1/docs/_static/custom.css +0 -170
  102. bec_widgets-0.99.1/docs/_templates/custom-class-template.rst +0 -34
  103. bec_widgets-0.99.1/docs/_templates/custom-module-template.rst +0 -66
  104. bec_widgets-0.99.1/docs/api_reference/api_reference.md +0 -12
  105. bec_widgets-0.99.1/docs/assets/apps_48dp.svg +0 -1
  106. bec_widgets-0.99.1/docs/assets/display_settings_48dp.svg +0 -1
  107. bec_widgets-0.99.1/docs/assets/index_api.svg +0 -97
  108. bec_widgets-0.99.1/docs/assets/index_contribute.svg +0 -76
  109. bec_widgets-0.99.1/docs/assets/index_getting_started.svg +0 -66
  110. bec_widgets-0.99.1/docs/assets/index_user_guide.svg +0 -67
  111. bec_widgets-0.99.1/docs/assets/rocket_launch_48dp.svg +0 -1
  112. bec_widgets-0.99.1/docs/assets/widget_screenshots/buttons.png +0 -0
  113. bec_widgets-0.99.1/docs/assets/widget_screenshots/device_box.png +0 -0
  114. bec_widgets-0.99.1/docs/assets/widget_screenshots/device_browser.png +0 -0
  115. bec_widgets-0.99.1/docs/assets/widget_screenshots/device_inputs.png +0 -0
  116. bec_widgets-0.99.1/docs/assets/widget_screenshots/dock_area.png +0 -0
  117. bec_widgets-0.99.1/docs/assets/widget_screenshots/figure.png +0 -0
  118. bec_widgets-0.99.1/docs/assets/widget_screenshots/image_widget.png +0 -0
  119. bec_widgets-0.99.1/docs/assets/widget_screenshots/motor_map_widget.png +0 -0
  120. bec_widgets-0.99.1/docs/assets/widget_screenshots/position_indicator.png +0 -0
  121. bec_widgets-0.99.1/docs/assets/widget_screenshots/queue.png +0 -0
  122. bec_widgets-0.99.1/docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
  123. bec_widgets-0.99.1/docs/assets/widget_screenshots/scan_controller.png +0 -0
  124. bec_widgets-0.99.1/docs/assets/widget_screenshots/spinner.gif +0 -0
  125. bec_widgets-0.99.1/docs/assets/widget_screenshots/status_box.png +0 -0
  126. bec_widgets-0.99.1/docs/assets/widget_screenshots/text_box.png +0 -0
  127. bec_widgets-0.99.1/docs/assets/widget_screenshots/toggle.png +0 -0
  128. bec_widgets-0.99.1/docs/assets/widget_screenshots/waveform_widget.png +0 -0
  129. bec_widgets-0.99.1/docs/assets/widget_screenshots/website.png +0 -0
  130. bec_widgets-0.99.1/docs/conf.py +0 -82
  131. bec_widgets-0.99.1/docs/developer/developer.md +0 -52
  132. bec_widgets-0.99.1/docs/developer/introduction/concepts.md +0 -14
  133. bec_widgets-0.99.1/docs/developer/introduction/contributing.md +0 -28
  134. bec_widgets-0.99.1/docs/developer/introduction/introduction.md +0 -16
  135. bec_widgets-0.99.1/docs/developer/introduction/useful_links.md +0 -23
  136. bec_widgets-0.99.1/docs/developer/widget_development/bec_dispatcher.md +0 -143
  137. bec_widgets-0.99.1/docs/developer/widget_development/widget_development.md +0 -13
  138. bec_widgets-0.99.1/docs/index.md +0 -74
  139. bec_widgets-0.99.1/docs/introduction/introduction.md +0 -18
  140. bec_widgets-0.99.1/docs/make.bat +0 -35
  141. bec_widgets-0.99.1/docs/requirements.txt +0 -12
  142. bec_widgets-0.99.1/docs/user/api_reference/api_reference.md +0 -11
  143. bec_widgets-0.99.1/docs/user/applications/applications.md +0 -10
  144. bec_widgets-0.99.1/docs/user/customisation.md +0 -123
  145. bec_widgets-0.99.1/docs/user/getting_started/BECDockArea.png +0 -0
  146. bec_widgets-0.99.1/docs/user/getting_started/auto_updates.md +0 -82
  147. bec_widgets-0.99.1/docs/user/getting_started/getting_started.md +0 -15
  148. bec_widgets-0.99.1/docs/user/getting_started/gui_complex_gui.gif +0 -0
  149. bec_widgets-0.99.1/docs/user/getting_started/installation.md +0 -33
  150. bec_widgets-0.99.1/docs/user/getting_started/quick_start.md +0 -110
  151. bec_widgets-0.99.1/docs/user/getting_started/video_tutorials.md +0 -17
  152. bec_widgets-0.99.1/docs/user/user.md +0 -71
  153. bec_widgets-0.99.1/docs/user/widgets/bec_figure/BECFigure.png +0 -0
  154. bec_widgets-0.99.1/docs/user/widgets/bec_figure/bec_figure.md +0 -105
  155. bec_widgets-0.99.1/docs/user/widgets/bec_status_box/bec_status_box.gif +0 -0
  156. bec_widgets-0.99.1/docs/user/widgets/bec_status_box/bec_status_box.md +0 -38
  157. bec_widgets-0.99.1/docs/user/widgets/buttons/buttons.md +0 -63
  158. bec_widgets-0.99.1/docs/user/widgets/buttons/dark_mode_disabled.png +0 -0
  159. bec_widgets-0.99.1/docs/user/widgets/buttons/dark_mode_enabled.png +0 -0
  160. bec_widgets-0.99.1/docs/user/widgets/device_browser/device_browser.md +0 -36
  161. bec_widgets-0.99.1/docs/user/widgets/device_browser/device_browser.png +0 -0
  162. bec_widgets-0.99.1/docs/user/widgets/device_input/device_input.md +0 -100
  163. bec_widgets-0.99.1/docs/user/widgets/dock_area/BECDockArea.png +0 -0
  164. bec_widgets-0.99.1/docs/user/widgets/dock_area/bec_dock_area.md +0 -107
  165. bec_widgets-0.99.1/docs/user/widgets/image/image_plot.gif +0 -0
  166. bec_widgets-0.99.1/docs/user/widgets/image/image_widget.md +0 -84
  167. bec_widgets-0.99.1/docs/user/widgets/motor_map/motor.gif +0 -0
  168. bec_widgets-0.99.1/docs/user/widgets/motor_map/motor_map.md +0 -80
  169. bec_widgets-0.99.1/docs/user/widgets/position_indicator/position_indicator.md +0 -76
  170. bec_widgets-0.99.1/docs/user/widgets/positioner_box/positioner_box.md +0 -63
  171. bec_widgets-0.99.1/docs/user/widgets/progress_bar/progress_bar.gif +0 -0
  172. bec_widgets-0.99.1/docs/user/widgets/progress_bar/ring_progress_bar.md +0 -103
  173. bec_widgets-0.99.1/docs/user/widgets/queue/queue.md +0 -41
  174. bec_widgets-0.99.1/docs/user/widgets/scan_control/hide_scan_control.png +0 -0
  175. bec_widgets-0.99.1/docs/user/widgets/scan_control/scan_control.gif +0 -0
  176. bec_widgets-0.99.1/docs/user/widgets/scan_control/scan_control.md +0 -54
  177. bec_widgets-0.99.1/docs/user/widgets/spinner/spinner.md +0 -75
  178. bec_widgets-0.99.1/docs/user/widgets/text_box/text_box.md +0 -74
  179. bec_widgets-0.99.1/docs/user/widgets/toggle/toggle.md +0 -66
  180. bec_widgets-0.99.1/docs/user/widgets/waveform/bec_figure_dap.gif +0 -0
  181. bec_widgets-0.99.1/docs/user/widgets/waveform/scatter_2D.gif +0 -0
  182. bec_widgets-0.99.1/docs/user/widgets/waveform/w1D.gif +0 -0
  183. bec_widgets-0.99.1/docs/user/widgets/waveform/waveform_widget.md +0 -132
  184. bec_widgets-0.99.1/docs/user/widgets/website/website.md +0 -69
  185. bec_widgets-0.99.1/docs/user/widgets/widgets.md +0 -220
  186. bec_widgets-0.99.1/tests/__init__.py +0 -0
  187. bec_widgets-0.99.1/tests/end-2-end/__init__.py +0 -0
  188. bec_widgets-0.99.1/tests/end-2-end/conftest.py +0 -53
  189. bec_widgets-0.99.1/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -298
  190. bec_widgets-0.99.1/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -212
  191. bec_widgets-0.99.1/tests/end-2-end/test_rpc_register_e2e.py +0 -40
  192. bec_widgets-0.99.1/tests/end-2-end/test_scan_control_e2e.py +0 -71
  193. bec_widgets-0.99.1/tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
  194. bec_widgets-0.99.1/tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
  195. bec_widgets-0.99.1/tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
  196. bec_widgets-0.99.1/tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
  197. bec_widgets-0.99.1/tests/unit_tests/__init__.py +0 -0
  198. bec_widgets-0.99.1/tests/unit_tests/client_mocks.py +0 -189
  199. bec_widgets-0.99.1/tests/unit_tests/conftest.py +0 -64
  200. bec_widgets-0.99.1/tests/unit_tests/test_bec_connector.py +0 -80
  201. bec_widgets-0.99.1/tests/unit_tests/test_bec_dispatcher.py +0 -119
  202. bec_widgets-0.99.1/tests/unit_tests/test_bec_dock.py +0 -155
  203. bec_widgets-0.99.1/tests/unit_tests/test_bec_figure.py +0 -270
  204. bec_widgets-0.99.1/tests/unit_tests/test_bec_image.py +0 -63
  205. bec_widgets-0.99.1/tests/unit_tests/test_bec_image_widget.py +0 -217
  206. bec_widgets-0.99.1/tests/unit_tests/test_bec_motor_map.py +0 -282
  207. bec_widgets-0.99.1/tests/unit_tests/test_bec_queue.py +0 -111
  208. bec_widgets-0.99.1/tests/unit_tests/test_bec_status_box.py +0 -123
  209. bec_widgets-0.99.1/tests/unit_tests/test_client_utils.py +0 -76
  210. bec_widgets-0.99.1/tests/unit_tests/test_color_map_selector.py +0 -42
  211. bec_widgets-0.99.1/tests/unit_tests/test_color_validation.py +0 -75
  212. bec_widgets-0.99.1/tests/unit_tests/test_configs/config_device.yaml +0 -33
  213. bec_widgets-0.99.1/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -27
  214. bec_widgets-0.99.1/tests/unit_tests/test_configs/config_scan.yaml +0 -82
  215. bec_widgets-0.99.1/tests/unit_tests/test_crosshair.py +0 -143
  216. bec_widgets-0.99.1/tests/unit_tests/test_dark_mode_button.py +0 -70
  217. bec_widgets-0.99.1/tests/unit_tests/test_device_browser.py +0 -83
  218. bec_widgets-0.99.1/tests/unit_tests/test_device_input_base.py +0 -76
  219. bec_widgets-0.99.1/tests/unit_tests/test_device_input_widgets.py +0 -178
  220. bec_widgets-0.99.1/tests/unit_tests/test_error_utils.py +0 -63
  221. bec_widgets-0.99.1/tests/unit_tests/test_generate_cli_client.py +0 -123
  222. bec_widgets-0.99.1/tests/unit_tests/test_generate_plugin.py +0 -155
  223. bec_widgets-0.99.1/tests/unit_tests/test_motor_map_widget.py +0 -194
  224. bec_widgets-0.99.1/tests/unit_tests/test_msgs/__init__.py +0 -0
  225. bec_widgets-0.99.1/tests/unit_tests/test_msgs/available_scans_message.py +0 -989
  226. bec_widgets-0.99.1/tests/unit_tests/test_plot_base.py +0 -95
  227. bec_widgets-0.99.1/tests/unit_tests/test_plugin_utils.py +0 -13
  228. bec_widgets-0.99.1/tests/unit_tests/test_positioner_box.py +0 -130
  229. bec_widgets-0.99.1/tests/unit_tests/test_ring_progress_bar.py +0 -337
  230. bec_widgets-0.99.1/tests/unit_tests/test_rpc_register.py +0 -52
  231. bec_widgets-0.99.1/tests/unit_tests/test_rpc_server.py +0 -42
  232. bec_widgets-0.99.1/tests/unit_tests/test_rpc_widget_handler.py +0 -7
  233. bec_widgets-0.99.1/tests/unit_tests/test_scan_control.py +0 -324
  234. bec_widgets-0.99.1/tests/unit_tests/test_scan_control_group_box.py +0 -160
  235. bec_widgets-0.99.1/tests/unit_tests/test_setting_dialog.py +0 -96
  236. bec_widgets-0.99.1/tests/unit_tests/test_spinner.py +0 -31
  237. bec_widgets-0.99.1/tests/unit_tests/test_stop_button.py +0 -27
  238. bec_widgets-0.99.1/tests/unit_tests/test_text_box_widget.py +0 -54
  239. bec_widgets-0.99.1/tests/unit_tests/test_toggle.py +0 -38
  240. bec_widgets-0.99.1/tests/unit_tests/test_vscode_widget.py +0 -75
  241. bec_widgets-0.99.1/tests/unit_tests/test_waveform1d.py +0 -712
  242. bec_widgets-0.99.1/tests/unit_tests/test_waveform_widget.py +0 -462
  243. bec_widgets-0.99.1/tests/unit_tests/test_website_widget.py +0 -25
  244. bec_widgets-0.99.1/tests/unit_tests/test_widget_io.py +0 -90
  245. bec_widgets-0.99.1/tests/unit_tests/test_yaml_dialog.py +0 -163
  246. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.git_hooks/pre-commit +0 -0
  247. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.gitignore +0 -0
  248. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.gitlab/issue_templates/bug_report_template.md +0 -0
  249. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  250. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.gitlab/issue_templates/feature_request_template.md +0 -0
  251. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.gitlab/merge_request_templates/default.md +0 -0
  252. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.pylintrc +0 -0
  253. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/.readthedocs.yaml +0 -0
  254. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/LICENSE +0 -0
  255. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/README.md +0 -0
  256. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/__init__.py +0 -0
  257. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/app_icons/BEC-Dark.png +0 -0
  258. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  259. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/app_icons/terminal_icon.png +0 -0
  260. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/status_icons/error.svg +0 -0
  261. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/status_icons/not_connected.svg +0 -0
  262. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/status_icons/refresh.svg +0 -0
  263. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/status_icons/running.svg +0 -0
  264. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/assets/status_icons/warning.svg +0 -0
  265. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/__init__.py +0 -0
  266. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/auto_updates.py +0 -0
  267. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/client_utils.py +0 -0
  268. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/generate_cli.py +0 -0
  269. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/rpc_register.py +0 -0
  270. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
  271. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/cli/server.py +0 -0
  272. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/__init__.py +0 -0
  273. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/general_app/__init__.py +0 -0
  274. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/general_app/general_app.py +0 -0
  275. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/general_app/general_app.ui +0 -0
  276. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/general_app/web_links.py +0 -0
  277. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  278. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  279. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  280. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  281. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  282. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  283. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  284. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  285. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  286. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/qt_utils/__init__.py +0 -0
  287. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/qt_utils/error_popups.py +0 -0
  288. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/qt_utils/redis_message_waiter.py +0 -0
  289. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/qt_utils/settings_dialog.py +0 -0
  290. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/__init__.py +0 -0
  291. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/bec_connector.py +0 -0
  292. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/bec_designer.py +0 -0
  293. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/bec_dispatcher.py +0 -0
  294. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/bec_table.py +0 -0
  295. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/container_utils.py +0 -0
  296. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/crosshair.py +0 -0
  297. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/entry_validator.py +0 -0
  298. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  299. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/layout_manager.py +0 -0
  300. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/plugin_templates/register.template +0 -0
  301. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/plugin_utils.py +0 -0
  302. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/reference_utils.py +0 -0
  303. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/rpc_decorator.py +0 -0
  304. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/thread_checker.py +0 -0
  305. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/ui_loader.py +0 -0
  306. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/validator_delegate.py +0 -0
  307. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/widget_io.py +0 -0
  308. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/utils/yaml_dialog.py +0 -0
  309. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/__init__.py +0 -0
  310. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/base_classes/__init__.py +0 -0
  311. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/base_classes/device_input_base.py +0 -0
  312. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_queue/__init__.py +0 -0
  313. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_queue/bec_queue.pyproject +0 -0
  314. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_queue/register_bec_queue.py +0 -0
  315. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_status_box/__init__.py +0 -0
  316. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_status_box/bec_status_box.pyproject +0 -0
  317. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_status_box/register_bec_status_box.py +0 -0
  318. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/bec_status_box/status_item.py +0 -0
  319. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/color_button/__init__.py +0 -0
  320. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/color_button/color_button.pyproject +0 -0
  321. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/color_button/register_color_button.py +0 -0
  322. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/colormap_selector/__init__.py +0 -0
  323. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/colormap_selector/colormap_selector.pyproject +0 -0
  324. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/colormap_selector/register_colormap_selector.py +0 -0
  325. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/console/console.py +0 -0
  326. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dark_mode_button/__init__.py +0 -0
  327. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dark_mode_button/dark_mode_button.pyproject +0 -0
  328. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dark_mode_button/register_dark_mode_button.py +0 -0
  329. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/__init__.py +0 -0
  330. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/device_browser.pyproject +0 -0
  331. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/device_browser.ui +0 -0
  332. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/device_item/__init__.py +0 -0
  333. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/device_item/device_item.py +0 -0
  334. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_browser/register_device_browser.py +0 -0
  335. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_combobox/__init__.py +0 -0
  336. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_combobox/device_combo_box.pyproject +0 -0
  337. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_combobox/register_device_combo_box.py +0 -0
  338. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_line_edit/__init__.py +0 -0
  339. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject +0 -0
  340. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/device_line_edit/register_device_line_edit.py +0 -0
  341. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dock/__init__.py +0 -0
  342. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dock/dock_area.pyproject +0 -0
  343. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/dock/register_dock_area.py +0 -0
  344. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/__init__.py +0 -0
  345. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/__init__.py +0 -0
  346. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/axis_settings.py +0 -0
  347. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/axis_settings.ui +0 -0
  348. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
  349. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
  350. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
  351. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
  352. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
  353. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
  354. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/plot_base.py +0 -0
  355. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
  356. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/image/__init__.py +0 -0
  357. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/image/bec_image_widget.pyproject +0 -0
  358. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/image/register_bec_image_widget.py +0 -0
  359. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/jupyter_console/__init__.py +0 -0
  360. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
  361. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/__init__.py +0 -0
  362. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject +0 -0
  363. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py +0 -0
  364. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
  365. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
  366. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py +0 -0
  367. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/position_indicator/__init__.py +0 -0
  368. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/position_indicator/position_indicator.pyproject +0 -0
  369. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/position_indicator/register_position_indicator.py +0 -0
  370. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/__init__.py +0 -0
  371. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_box.pyproject +0 -0
  372. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_box.ui +0 -0
  373. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_control_line.pyproject +0 -0
  374. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/positioner_control_line.ui +0 -0
  375. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/register_positioner_box.py +0 -0
  376. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/positioner_box/register_positioner_control_line.py +0 -0
  377. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/ring_progress_bar/__init__.py +0 -0
  378. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/ring_progress_bar/register_ring_progress_bar.py +0 -0
  379. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/ring_progress_bar/ring.py +0 -0
  380. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.pyproject +0 -0
  381. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/scan_control/__init__.py +0 -0
  382. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/scan_control/register_scan_control.py +0 -0
  383. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/scan_control/scan_control.pyproject +0 -0
  384. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/scan_control/scan_group_box.py +0 -0
  385. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/spinner/__init__.py +0 -0
  386. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/spinner/register_spinner_widget.py +0 -0
  387. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/spinner/spinner_widget.pyproject +0 -0
  388. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/stop_button/__init__.py +0 -0
  389. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/stop_button/register_stop_button.py +0 -0
  390. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/stop_button/stop_button.pyproject +0 -0
  391. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/text_box/__init__.py +0 -0
  392. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/text_box/register_text_box.py +0 -0
  393. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/text_box/text_box.pyproject +0 -0
  394. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/toggle/__init__.py +0 -0
  395. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/toggle/register_toggle_switch.py +0 -0
  396. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/toggle/toggle_switch.pyproject +0 -0
  397. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/vscode/__init__.py +0 -0
  398. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/vscode/register_vs_code_editor.py +0 -0
  399. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/vscode/vs_code_editor.pyproject +0 -0
  400. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/__init__.py +0 -0
  401. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/bec_waveform_widget.pyproject +0 -0
  402. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/register_bec_waveform_widget.py +0 -0
  403. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/__init__.py +0 -0
  404. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/__init__.py +0 -0
  405. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui +0 -0
  406. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/__init__.py +0 -0
  407. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary.ui +0 -0
  408. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py +0 -0
  409. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/website/__init__.py +0 -0
  410. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/website/register_website_widget.py +0 -0
  411. {bec_widgets-0.99.1 → bec_widgets-0.99.9}/bec_widgets/widgets/website/website_widget.pyproject +0 -0
@@ -178,7 +178,6 @@ test-matrix:
178
178
  - *install-repos
179
179
  - pip install -e .[dev,$QT_PCKG]
180
180
  - pytest -v --maxfail=2 --junitxml=report.xml --random-order ./tests/unit_tests
181
- allow_failure: true
182
181
 
183
182
  end-2-end-conda:
184
183
  stage: End2End
@@ -0,0 +1,161 @@
1
+ # CHANGELOG
2
+
3
+ ## v0.99.9 (2024-08-28)
4
+
5
+ ### Fix
6
+
7
+ * fix: fixed build process and excluded docs and tests from tarballs and wheels ([`719254c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/719254cf0a48e1fc4bd541edba239570778bcfea))
8
+
9
+ ## v0.99.8 (2024-08-28)
10
+
11
+ ### Fix
12
+
13
+ * fix(website): fixed designer integration for website widget ([`5f37e86`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5f37e862c95ac7173b6918ad39bcaef938dad698))
14
+
15
+ ### Refactor
16
+
17
+ * refactor(website): changed inheritance of website widget to simple qwidget; closes #325 ([`9925bbd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9925bbdb48b55eacbbce9fd6a1555a21b84221f9))
18
+
19
+ ## v0.99.7 (2024-08-28)
20
+
21
+ ### Fix
22
+
23
+ * fix(toolbar): material icons can accept color as kwarg ([`ffc871e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ffc871ebbd3b68abc3e151bb8f5849e6c50e775e))
24
+
25
+ ## v0.99.6 (2024-08-28)
26
+
27
+ ### Documentation
28
+
29
+ * docs: various bugs fixed ([`c31e9a3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c31e9a3aff3ee8e984674dee0965ee7f1b6e2b8f))
30
+
31
+ ### Fix
32
+
33
+ * fix(toolbar): use of native qt separators ([`09c6c93`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/09c6c93c397ce4a21c293f6c79106c74b2db65ca))
34
+
35
+ ## v0.99.5 (2024-08-28)
36
+
37
+ ### Documentation
38
+
39
+ * docs(index): index page is centered ([`02239de`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/02239de0a36fcd6cbf97990b0dec1ddf7ecf6ba6))
40
+
41
+ ### Fix
42
+
43
+ * fix(dock_area): dark button added ([`e6f204b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e6f204b6aa295747a68769f43af2e549149b401a))
44
+
45
+ ## v0.99.4 (2024-08-28)
46
+
47
+ ### Documentation
48
+
49
+ * docs(buttons): added missing buttons docs ([`4e5520a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4e5520aee2115d2fc0cebb3865433478a5ec8253))
50
+
51
+ * docs(developer): tutorial for BECWidget base class ([`ac2cb51`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ac2cb5197deef4d51e26ee5beb070eba3ffc210d))
52
+
53
+ ### Fix
54
+
55
+ * fix(theme): apply theme to all pyqtgraph widgets on manual updates ([`c550186`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c5501860e8e07a53f4bce144d44ed39eda6290ef))
56
+
57
+ ### Refactor
58
+
59
+ * refactor(buttons): changed grid and thumbnail fig in gallery ([`4591ba8`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4591ba8f73e22aba7258cad93c073f1387cb74a0))
60
+
61
+ * refactor(icons): removed toolbar icons from assets ([`f335763`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f335763280adb1d83ba31f073ce206e4cb5d15ef))
62
+
63
+ * refactor(icons): moved widget icons to class attribute ICON_NAME ([`e890091`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e890091d862e42317c7a54fc414ba37c85f268b0))
64
+
65
+ ## v0.99.3 (2024-08-27)
66
+
67
+ ### Build
68
+
69
+ * build: updated min version of bec qthemes ([`d482434`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/d48243483ef8228cc5eb85e40a6b8f5da3b45520))
70
+
71
+ ### Fix
72
+
73
+ * fix(cmaps): unified all defaults to magma cmap ([`1ca9499`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1ca9499edd334c19fe1e7aac71d3940a80a1ec95))
74
+
75
+ * fix(color maps): color maps should take the background color into account; fixed min colors to 10 ([`060935f`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/060935ffc5472a958c337bf60834c5291f104ece))
76
+
77
+ ## v0.99.2 (2024-08-27)
78
+
79
+ ### Ci
80
+
81
+ * ci: additional tests are not allowed to fail ([`bb385f0`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/bb385f07ca18904461a541b5cadde05398c84438))
82
+
83
+ ### Fix
84
+
85
+ * fix(widgets): fixed default theme for widgets
86
+
87
+ If not theme is set, the init of the BECWidget base class sets the default theme to "dark" ([`cf28730`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/cf28730515e3c2d5914e0205768734c578711e5c))
88
+
89
+ ## v0.99.1 (2024-08-27)
90
+
91
+ ### Fix
92
+
93
+ * fix(crosshair): emit all crosshair events, not just line coordinates ([`2265458`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2265458dcc57970db18c62619f5877d542d72e81))
94
+
95
+ ## v0.99.0 (2024-08-25)
96
+
97
+ ### Documentation
98
+
99
+ * docs(darkmodebutton): added dark mode button docs ([`406c263`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/406c263746f0e809c1a4d98356c48f40428c23d7))
100
+
101
+ ### Feature
102
+
103
+ * feat(darkmodebutton): added button to toggle between dark and light mode ([`cc8c166`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/cc8c166b5c1d37e0f64c83801b2347a54a6550b6))
104
+
105
+ ### Fix
106
+
107
+ * fix(toggle): emit state change ([`c4f3308`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c4f3308dc0c3e4b2064760ccd7372d71b3e49f96))
108
+
109
+ ### Refactor
110
+
111
+ * refactor(darkmodebutton): renamed set_dark_mode_enabled to toggle_dark_mode ([`c70724a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c70724a456900bcb06b040407a2c5d497e49ce77))
112
+
113
+ ### Test
114
+
115
+ * test(dark_mode_button): added tests for dark mode button ([`df35aab`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/df35aabff30c5d00b1c441132bd370446653741e))
116
+
117
+ ## v0.98.0 (2024-08-25)
118
+
119
+ ### Feature
120
+
121
+ * feat(themes): added set_theme method ([`2b4449a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2b4449afebdda0a97f95712a1353cf40ec55c283))
122
+
123
+ ### Fix
124
+
125
+ * fix(toolbar): removed hardcoded color values ([`afdf4e8`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/afdf4e8782a22566932180224fa1c924d24c810f))
126
+
127
+ * fix: transitioning to material icons ([`2a82032`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2a82032644a84e38df04e2035a6aa63f4a046360))
128
+
129
+ * fix(dock_area): transitioned to MaterialIconAction ([`88a2f66`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/88a2f667588e9aeb34ae556fa327898824052bc3))
130
+
131
+ * fix: fix color palette if qtheme was not called ([`3f3b207`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3f3b207295ebd406ebaeecee465c774965161b8b))
132
+
133
+ * fix(figure): removed theme from figure init ([`e42b84c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e42b84c63650297d67feffccc02a2c2ba111ca79))
134
+
135
+ * fix: use globally set theme instead of the internal bec widgets theme ([`77c5aa7`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/77c5aa741cf1f5b969a42aa878aa2965176dbf41))
136
+
137
+ * fix(waveform): fixed icon appearance ([`36ad464`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/36ad4641594b67c9b789515c28f7db78a12757ee))
138
+
139
+ ### Refactor
140
+
141
+ * refactor(waveform): use set theme for demo ([`44cfda1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/44cfda1c07306669c9a4e09706d95e6b91dee370))
142
+
143
+ ## v0.97.0 (2024-08-23)
144
+
145
+ ### Feature
146
+
147
+ * feat(designer): added designer icon factory ([`82a55dd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/82a55ddf3eafb589cb63408db1c0e7e5c9d629da))
148
+
149
+ ### Fix
150
+
151
+ * fix(toolbar icon): fixed material icon toolbar for theme changes ([`3ecbd60`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3ecbd60627994417c9175364e5909710dbcdceb2))
152
+
153
+ ## v0.96.3 (2024-08-23)
154
+
155
+ ### Documentation
156
+
157
+ * docs(dispatcher): docs added ([`dd7c71b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/dd7c71bb1e0b7ef5398b1e1a05fc1147c772420a))
158
+
159
+ ### Fix
160
+
161
+ * fix: minor fixes for type annotations ([`8c2e7c8`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/8c2e7c82592ace50e4e1f47e392a0ddc988f57ae))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.99.1
3
+ Version: 0.99.9
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
@@ -11,7 +11,7 @@ Classifier: Topic :: Scientific/Engineering
11
11
  Requires-Python: >=3.10
12
12
  Requires-Dist: bec-ipython-client>=2.21.4,~=2.21
13
13
  Requires-Dist: bec-lib>=2.21.4,~=2.21
14
- Requires-Dist: bec-qthemes~=0.0
14
+ Requires-Dist: bec-qthemes>=0.4.2,~=0.4
15
15
  Requires-Dist: black~=24.0
16
16
  Requires-Dist: isort>=5.13.2,~=5.13
17
17
  Requires-Dist: pydantic~=2.0
@@ -483,7 +483,7 @@ class BECFigure(RPCBase):
483
483
  y_entry: "str | None" = None,
484
484
  z_entry: "str | None" = None,
485
485
  color: "str | None" = None,
486
- color_map_z: "str | None" = "plasma",
486
+ color_map_z: "str | None" = "magma",
487
487
  label: "str | None" = None,
488
488
  validate: "bool" = True,
489
489
  new: "bool" = False,
@@ -1728,7 +1728,7 @@ class BECWaveform(RPCBase):
1728
1728
  y_entry: "str | None" = None,
1729
1729
  z_entry: "str | None" = None,
1730
1730
  color: "str | None" = None,
1731
- color_map_z: "str | None" = "plasma",
1731
+ color_map_z: "str | None" = "magma",
1732
1732
  label: "str | None" = None,
1733
1733
  validate: "bool" = True,
1734
1734
  dap: "str | None" = None,
@@ -2042,7 +2042,7 @@ class BECWaveformWidget(RPCBase):
2042
2042
  y_entry: "str | None" = None,
2043
2043
  z_entry: "str | None" = None,
2044
2044
  color: "str | None" = None,
2045
- color_map_z: "str | None" = "plasma",
2045
+ color_map_z: "str | None" = "magma",
2046
2046
  label: "str | None" = None,
2047
2047
  validate: "bool" = True,
2048
2048
  dap: "str | None" = None,
@@ -2,10 +2,11 @@
2
2
  import os
3
3
  from abc import ABC, abstractmethod
4
4
  from collections import defaultdict
5
+ from typing import Literal
5
6
 
6
7
  from bec_qthemes._icon.material_icons import material_icon
7
8
  from qtpy.QtCore import QSize
8
- from qtpy.QtGui import QAction, QIcon
9
+ from qtpy.QtGui import QAction, QColor, QIcon
9
10
  from qtpy.QtWidgets import QHBoxLayout, QLabel, QMenu, QToolBar, QToolButton, QWidget
10
11
 
11
12
  import bec_widgets
@@ -45,9 +46,7 @@ class SeparatorAction(ToolBarAction):
45
46
  """Separator action for the toolbar."""
46
47
 
47
48
  def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
48
- self.separator = QToolButton()
49
- self.separator.setFixedSize(2, 22)
50
- toolbar.addWidget(self.separator)
49
+ toolbar.addSeparator()
51
50
 
52
51
 
53
52
  class IconAction(ToolBarAction):
@@ -88,12 +87,14 @@ class MaterialIconAction:
88
87
  tooltip: str = None,
89
88
  checkable: bool = False,
90
89
  filled: bool = False,
90
+ color: str | tuple | QColor | dict[Literal["dark", "light"], str] | None = None,
91
91
  ):
92
92
  self.icon_name = icon_name
93
93
  self.tooltip = tooltip
94
94
  self.checkable = checkable
95
95
  self.action = None
96
96
  self.filled = filled
97
+ self.color = color
97
98
 
98
99
  def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
99
100
  icon = self.get_icon()
@@ -104,7 +105,11 @@ class MaterialIconAction:
104
105
  def get_icon(self):
105
106
 
106
107
  icon = material_icon(
107
- self.icon_name, size=(20, 20), convert_to_pixmap=False, filled=self.filled
108
+ self.icon_name,
109
+ size=(20, 20),
110
+ convert_to_pixmap=False,
111
+ filled=self.filled,
112
+ color=self.color,
108
113
  )
109
114
  return icon
110
115
 
@@ -219,3 +224,4 @@ class ModularToolBar(QToolBar):
219
224
  self.setMovable(False)
220
225
  self.setFloatable(False)
221
226
  self.setContentsMargins(0, 0, 0, 0)
227
+ self.setStyleSheet("QToolBar { background-color: rgba(0, 0, 0, 0); border: none; }")
@@ -1,19 +1,28 @@
1
- from qtpy.QtWidgets import QWidget
1
+ from qtpy.QtWidgets import QApplication, QWidget
2
2
 
3
3
  from bec_widgets.utils.bec_connector import BECConnector, ConnectionConfig
4
+ from bec_widgets.utils.colors import set_theme
4
5
 
5
6
 
6
7
  class BECWidget(BECConnector):
7
8
  """Mixin class for all BEC widgets, to handle cleanup"""
8
9
 
10
+ # The icon name is the name of the icon in the icon theme, typically a name taken
11
+ # from fonts.google.com/icons. Override this in subclasses to set the icon name.
12
+ ICON_NAME = "widgets"
13
+
9
14
  def __init__(self, client=None, config: ConnectionConfig = None, gui_id: str = None):
10
15
  if not isinstance(self, QWidget):
11
16
  raise RuntimeError(f"{repr(self)} is not a subclass of QWidget")
12
17
  super().__init__(client, config, gui_id)
13
18
 
19
+ # Set the theme to auto if it is not set yet
20
+ app = QApplication.instance()
21
+ if not hasattr(app, "theme"):
22
+ set_theme("dark")
23
+
14
24
  def cleanup(self):
15
25
  """Cleanup the widget."""
16
- pass
17
26
 
18
27
  def closeEvent(self, event):
19
28
  self.rpc_register.remove_rpc(self)
@@ -29,6 +29,7 @@ def set_theme(theme: Literal["dark", "light", "auto"]):
29
29
  app = QApplication.instance()
30
30
  bec_qthemes.setup_theme(theme)
31
31
  pg.setConfigOption("background", "w" if app.theme["theme"] == "light" else "k")
32
+ apply_theme(theme)
32
33
 
33
34
  # pylint: disable=protected-access
34
35
  if theme != "auto":
@@ -44,6 +45,9 @@ def set_theme(theme: Literal["dark", "light", "auto"]):
44
45
 
45
46
 
46
47
  def apply_theme(theme: Literal["dark", "light"]):
48
+ """
49
+ Apply the theme to all pyqtgraph widgets. Do not use this function directly. Use set_theme instead.
50
+ """
47
51
  app = QApplication.instance()
48
52
  # go through all pyqtgraph widgets and set background
49
53
  children = itertools.chain.from_iterable(
@@ -105,8 +109,19 @@ class Colors:
105
109
  angles = Colors.golden_ratio(len(cmap_colors))
106
110
  color_selection = np.round(np.interp(angles, (-np.pi, np.pi), (0, len(cmap_colors))))
107
111
  colors = []
108
- for ii in color_selection[:num]:
109
- color = cmap_colors[int(ii)]
112
+ ii = 0
113
+ while len(colors) < num:
114
+ color_index = int(color_selection[ii])
115
+ color = cmap_colors[color_index]
116
+ app = QApplication.instance()
117
+ if hasattr(app, "theme") and app.theme["theme"] == "light":
118
+ background = 255
119
+ else:
120
+ background = 0
121
+ if np.abs(np.mean(color[:3] * 255) - background) < 50:
122
+ ii += 1
123
+ continue
124
+
110
125
  if format.upper() == "HEX":
111
126
  colors.append(QColor.fromRgbF(*color).name())
112
127
  elif format.upper() == "RGB":
@@ -115,6 +130,7 @@ class Colors:
115
130
  colors.append(QColor.fromRgbF(*color))
116
131
  else:
117
132
  raise ValueError("Unsupported format. Please choose 'RGB', 'HEX', or 'QColor'.")
133
+ ii += 1
118
134
  return colors
119
135
 
120
136
  @staticmethod
@@ -2,8 +2,8 @@
2
2
  # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
3
 
4
4
  from qtpy.QtDesigner import QDesignerCustomWidgetInterface
5
- from qtpy.QtGui import QIcon
6
5
 
6
+ from bec_widgets.utils.bec_designer import designer_material_icon
7
7
  {widget_import}
8
8
 
9
9
  DOM_XML = """
@@ -30,7 +30,7 @@ class {plugin_name_pascal}Plugin(QDesignerCustomWidgetInterface): # pragma: no
30
30
  return ""
31
31
 
32
32
  def icon(self):
33
- return QIcon()
33
+ return designer_material_icon({plugin_name_pascal}.ICON_NAME)
34
34
 
35
35
  def includeFile(self):
36
36
  return "{plugin_name_snake}"
@@ -13,6 +13,8 @@ class BECQueue(BECWidget, QWidget):
13
13
  Widget to display the BEC queue.
14
14
  """
15
15
 
16
+ ICON_NAME = "edit_note"
17
+
16
18
  def __init__(
17
19
  self,
18
20
  parent: QWidget | None = None,
@@ -34,7 +34,7 @@ class BECQueuePlugin(QDesignerCustomWidgetInterface): # pragma: no cover
34
34
  return "BEC Services"
35
35
 
36
36
  def icon(self):
37
- return designer_material_icon("edit_note")
37
+ return designer_material_icon(BECQueue.ICON_NAME)
38
38
 
39
39
  def includeFile(self):
40
40
  return "bec_queue"
@@ -43,6 +43,8 @@ class BECServiceStatusMixin(QObject):
43
43
 
44
44
  services_update = Signal(dict, dict)
45
45
 
46
+ ICON_NAME = "dns"
47
+
46
48
  def __init__(self, parent, client: BECClient):
47
49
  super().__init__(parent)
48
50
  self.client = client
@@ -34,7 +34,7 @@ class BECStatusBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
34
34
  return "BEC Services"
35
35
 
36
36
  def icon(self):
37
- return designer_material_icon("dns")
37
+ return designer_material_icon(BECStatusBox.ICON_NAME)
38
38
 
39
39
  def includeFile(self):
40
40
  return "bec_status_box"
@@ -11,6 +11,8 @@ class ColorButton(pg.ColorButton):
11
11
  Patches event loop of the ColorDialog, if opened in another QDialog.
12
12
  """
13
13
 
14
+ ICON_NAME = "colors"
15
+
14
16
  def __init__(self, *args, **kwargs):
15
17
  super().__init__(*args, **kwargs)
16
18
 
@@ -31,7 +31,7 @@ class ColorButtonPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
31
31
  return "BEC Buttons"
32
32
 
33
33
  def icon(self):
34
- return designer_material_icon("colors")
34
+ return designer_material_icon(ColorButton.ICON_NAME)
35
35
 
36
36
  def includeFile(self):
37
37
  return "color_button"
@@ -46,6 +46,7 @@ class ColormapSelector(QWidget):
46
46
  """
47
47
 
48
48
  colormap_changed_signal = Signal(str)
49
+ ICON_NAME = "palette"
49
50
 
50
51
  def __init__(self, parent=None, default_colormaps=None):
51
52
  super().__init__(parent=parent)
@@ -34,7 +34,7 @@ class ColormapSelectorPlugin(QDesignerCustomWidgetInterface): # pragma: no cove
34
34
  return "BEC Buttons"
35
35
 
36
36
  def icon(self):
37
- return designer_material_icon("palette")
37
+ return designer_material_icon(ColormapSelector.ICON_NAME)
38
38
 
39
39
  def includeFile(self):
40
40
  return "colormap_selector"
@@ -1,6 +1,6 @@
1
1
  from bec_qthemes import material_icon
2
2
  from qtpy.QtCore import Property, Qt, Slot
3
- from qtpy.QtWidgets import QHBoxLayout, QPushButton, QWidget
3
+ from qtpy.QtWidgets import QHBoxLayout, QPushButton, QToolButton, QWidget
4
4
 
5
5
  from bec_widgets.utils.bec_widget import BECWidget
6
6
  from bec_widgets.utils.colors import set_theme
@@ -9,8 +9,14 @@ from bec_widgets.utils.colors import set_theme
9
9
  class DarkModeButton(BECWidget, QWidget):
10
10
  USER_ACCESS = ["toggle_dark_mode"]
11
11
 
12
+ ICON_NAME = "dark_mode"
13
+
12
14
  def __init__(
13
- self, parent: QWidget | None = None, client=None, gui_id: str | None = None
15
+ self,
16
+ parent: QWidget | None = None,
17
+ client=None,
18
+ gui_id: str | None = None,
19
+ toolbar: bool = False,
14
20
  ) -> None:
15
21
  super().__init__(client=client, gui_id=gui_id)
16
22
  QWidget.__init__(self, parent)
@@ -22,7 +28,10 @@ class DarkModeButton(BECWidget, QWidget):
22
28
  self.layout.setAlignment(Qt.AlignmentFlag.AlignVCenter)
23
29
 
24
30
  icon = material_icon("dark_mode", size=(20, 20), convert_to_pixmap=False)
25
- self.mode_button = QPushButton(icon=icon)
31
+ if toolbar:
32
+ self.mode_button = QToolButton(icon=icon)
33
+ else:
34
+ self.mode_button = QPushButton(icon=icon)
26
35
  self.update_mode_button()
27
36
  self.mode_button.clicked.connect(self.toggle_dark_mode)
28
37
  self.layout.addWidget(self.mode_button)
@@ -30,7 +30,7 @@ class DarkModeButtonPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
30
30
  return "BEC Buttons"
31
31
 
32
32
  def icon(self):
33
- return designer_material_icon("dark_mode")
33
+ return designer_material_icon(DarkModeButton.ICON_NAME)
34
34
 
35
35
  def includeFile(self):
36
36
  return "dark_mode_button"
@@ -15,6 +15,8 @@ from bec_widgets.widgets.device_browser.device_item import DeviceItem
15
15
  class DeviceBrowser(BECWidget, QWidget):
16
16
  device_update: Signal = Signal()
17
17
 
18
+ ICON_NAME = "lists"
19
+
18
20
  def __init__(
19
21
  self,
20
22
  parent: Optional[QWidget] = None,
@@ -30,7 +30,7 @@ class DeviceBrowserPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
30
30
  return "BEC Services"
31
31
 
32
32
  def icon(self):
33
- return designer_material_icon("lists")
33
+ return designer_material_icon(DeviceBrowser.ICON_NAME)
34
34
 
35
35
  def includeFile(self):
36
36
  return "device_browser"
@@ -34,7 +34,7 @@ class DeviceComboBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
34
34
  return "Device Control"
35
35
 
36
36
  def icon(self):
37
- return designer_material_icon("list_alt")
37
+ return designer_material_icon(DeviceComboBox.ICON_NAME)
38
38
 
39
39
  def includeFile(self):
40
40
  return "device_combobox"
@@ -22,6 +22,8 @@ class DeviceComboBox(DeviceInputBase, QComboBox):
22
22
  arg_name: Argument name, can be used for the other widgets which has to call some other function in bec using correct argument names.
23
23
  """
24
24
 
25
+ ICON_NAME = "list_alt"
26
+
25
27
  def __init__(
26
28
  self,
27
29
  parent=None,
@@ -24,6 +24,8 @@ class DeviceLineEdit(DeviceInputBase, QLineEdit):
24
24
  arg_name: Argument name, can be used for the other widgets which has to call some other function in bec using correct argument names.
25
25
  """
26
26
 
27
+ ICON_NAME = "edit_note"
28
+
27
29
  def __init__(
28
30
  self,
29
31
  parent=None,
@@ -34,7 +34,7 @@ class DeviceLineEditPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
34
34
  return "Device Control"
35
35
 
36
36
  def icon(self):
37
- return designer_material_icon("edit_note")
37
+ return designer_material_icon(DeviceLineEdit.ICON_NAME)
38
38
 
39
39
  def includeFile(self):
40
40
  return "device_line_edit"
@@ -100,6 +100,7 @@ class CustomDockLabel(DockLabel):
100
100
 
101
101
 
102
102
  class BECDock(BECWidget, Dock):
103
+ ICON_NAME = "widgets"
103
104
  USER_ACCESS = [
104
105
  "_config_dict",
105
106
  "_rpc_id",
@@ -7,7 +7,7 @@ from pydantic import Field
7
7
  from pyqtgraph.dockarea.DockArea import DockArea
8
8
  from qtpy.QtCore import Qt
9
9
  from qtpy.QtGui import QPainter, QPaintEvent
10
- from qtpy.QtWidgets import QVBoxLayout, QWidget
10
+ from qtpy.QtWidgets import QSizePolicy, QVBoxLayout, QWidget
11
11
 
12
12
  from bec_widgets.qt_utils.error_popups import SafeSlot
13
13
  from bec_widgets.qt_utils.toolbar import (
@@ -18,7 +18,17 @@ from bec_widgets.qt_utils.toolbar import (
18
18
  )
19
19
  from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils
20
20
  from bec_widgets.utils.bec_widget import BECWidget
21
+ from bec_widgets.widgets.bec_queue.bec_queue import BECQueue
22
+ from bec_widgets.widgets.bec_status_box.bec_status_box import BECStatusBox
23
+ from bec_widgets.widgets.dark_mode_button.dark_mode_button import DarkModeButton
21
24
  from bec_widgets.widgets.dock.dock import BECDock, DockConfig
25
+ from bec_widgets.widgets.image.image_widget import BECImageWidget
26
+ from bec_widgets.widgets.motor_map.motor_map_widget import BECMotorMapWidget
27
+ from bec_widgets.widgets.positioner_box.positioner_box import PositionerBox
28
+ from bec_widgets.widgets.ring_progress_bar.ring_progress_bar import RingProgressBar
29
+ from bec_widgets.widgets.scan_control.scan_control import ScanControl
30
+ from bec_widgets.widgets.vscode.vscode import VSCodeEditor
31
+ from bec_widgets.widgets.waveform.waveform_widget import BECWaveformWidget
22
32
 
23
33
 
24
34
  class DockAreaConfig(ConnectionConfig):
@@ -71,13 +81,17 @@ class BECDockArea(BECWidget, QWidget):
71
81
  label="Add Plot ",
72
82
  actions={
73
83
  "waveform": MaterialIconAction(
74
- icon_name="show_chart", tooltip="Add Waveform", filled=True
84
+ icon_name=BECWaveformWidget.ICON_NAME,
85
+ tooltip="Add Waveform",
86
+ filled=True,
75
87
  ),
76
88
  "image": MaterialIconAction(
77
- icon_name="image", tooltip="Add Image", filled=True
89
+ icon_name=BECImageWidget.ICON_NAME, tooltip="Add Image", filled=True
78
90
  ),
79
91
  "motor_map": MaterialIconAction(
80
- icon_name="my_location", tooltip="Add Motor Map", filled=True
92
+ icon_name=BECMotorMapWidget.ICON_NAME,
93
+ tooltip="Add Motor Map",
94
+ filled=True,
81
95
  ),
82
96
  },
83
97
  ),
@@ -86,10 +100,10 @@ class BECDockArea(BECWidget, QWidget):
86
100
  label="Add Device Control ",
87
101
  actions={
88
102
  "scan_control": MaterialIconAction(
89
- icon_name="stacked_line_chart", tooltip="Add Scan Control", filled=True
103
+ icon_name=ScanControl.ICON_NAME, tooltip="Add Scan Control", filled=True
90
104
  ),
91
105
  "positioner_box": MaterialIconAction(
92
- icon_name="switch_right", tooltip="Add Device Box", filled=True
106
+ icon_name=PositionerBox.ICON_NAME, tooltip="Add Device Box", filled=True
93
107
  ),
94
108
  },
95
109
  ),
@@ -98,16 +112,18 @@ class BECDockArea(BECWidget, QWidget):
98
112
  label="Add Utils ",
99
113
  actions={
100
114
  "queue": MaterialIconAction(
101
- icon_name="edit_note", tooltip="Add Scan Queue", filled=True
115
+ icon_name=BECQueue.ICON_NAME, tooltip="Add Scan Queue", filled=True
102
116
  ),
103
117
  "vs_code": MaterialIconAction(
104
- icon_name="show_chart", tooltip="Add VS Code", filled=True
118
+ icon_name=VSCodeEditor.ICON_NAME, tooltip="Add VS Code", filled=True
105
119
  ),
106
120
  "status": MaterialIconAction(
107
- icon_name="dns", tooltip="Add BEC Status Box", filled=True
121
+ icon_name=BECStatusBox.ICON_NAME,
122
+ tooltip="Add BEC Status Box",
123
+ filled=True,
108
124
  ),
109
125
  "progress_bar": MaterialIconAction(
110
- icon_name="track_changes",
126
+ icon_name=RingProgressBar.ICON_NAME,
111
127
  tooltip="Add Circular ProgressBar",
112
128
  filled=True,
113
129
  ),
@@ -127,6 +143,10 @@ class BECDockArea(BECWidget, QWidget):
127
143
 
128
144
  self.layout.addWidget(self.toolbar)
129
145
  self.layout.addWidget(self.dock_area)
146
+ self.spacer = QWidget()
147
+ self.spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
148
+ self.toolbar.addWidget(self.spacer)
149
+ self.toolbar.addWidget(DarkModeButton(toolbar=True))
130
150
  self._hook_toolbar()
131
151
 
132
152
  def _hook_toolbar(self):