bec-widgets 0.88.0__tar.gz → 0.89.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 (304) hide show
  1. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/CHANGELOG.md +26 -16
  2. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/PKG-INFO +1 -1
  3. bec_widgets-0.89.0/bec_widgets/assets/designer_icons/motor_map.png +0 -0
  4. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/client.py +13 -0
  5. bec_widgets-0.89.0/bec_widgets/qt_utils/toolbar.py +138 -0
  6. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/plot_base.py +13 -0
  7. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +4 -2
  8. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/motor_map_widget.py +11 -12
  9. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/waveform/waveform_widget.py +24 -16
  10. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/conf.py +1 -1
  11. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/pyproject.toml +1 -1
  12. bec_widgets-0.88.0/bec_widgets/qt_utils/toolbar.py +0 -66
  13. bec_widgets-0.88.0/bec_widgets/widgets/motor_map/assets/motor_map.png +0 -0
  14. bec_widgets-0.88.0/bec_widgets/widgets/motor_map/assets/settings.svg +0 -4
  15. bec_widgets-0.88.0/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py +0 -59
  16. bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar/waveform_toolbar.py +0 -117
  17. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.git_hooks/pre-commit +0 -0
  18. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.gitignore +0 -0
  19. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.gitlab/issue_templates/bug_report_template.md +0 -0
  20. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  21. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.gitlab/issue_templates/feature_request_template.md +0 -0
  22. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.gitlab/merge_request_templates/default.md +0 -0
  23. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.gitlab-ci.yml +0 -0
  24. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.pylintrc +0 -0
  25. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/.readthedocs.yaml +0 -0
  26. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/LICENSE +0 -0
  27. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/README.md +0 -0
  28. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/__init__.py +0 -0
  29. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/app_icons/bec_widgets_icon.png +0 -0
  30. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/app_icons/terminal_icon.png +0 -0
  31. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/designer_icons/BECWaveformWidget.png +0 -0
  32. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
  33. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/add.svg +0 -0
  34. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/auto_range.svg +0 -0
  35. {bec_widgets-0.88.0/bec_widgets/widgets/motor_map/assets → bec_widgets-0.89.0/bec_widgets/assets/toolbar_icons}/connection.svg +0 -0
  36. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/drag_pan_mode.svg +0 -0
  37. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/export.svg +0 -0
  38. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/fitting_parameters.svg +0 -0
  39. {bec_widgets-0.88.0/bec_widgets/widgets/motor_map/assets → bec_widgets-0.89.0/bec_widgets/assets/toolbar_icons}/history.svg +0 -0
  40. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/import.svg +0 -0
  41. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/line_axis.svg +0 -0
  42. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/photo_library.svg +0 -0
  43. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/rectangle_mode.svg +0 -0
  44. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/remove.svg +0 -0
  45. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/save.svg +0 -0
  46. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/assets/toolbar_icons/settings.svg +0 -0
  47. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/__init__.py +0 -0
  48. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/auto_updates.py +0 -0
  49. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/client_utils.py +0 -0
  50. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/generate_cli.py +0 -0
  51. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/rpc_register.py +0 -0
  52. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
  53. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/cli/server.py +0 -0
  54. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/__init__.py +0 -0
  55. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  56. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  57. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  58. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  59. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  60. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  61. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  62. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  63. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  64. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/qt_utils/__init__.py +0 -0
  65. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/qt_utils/error_popups.py +0 -0
  66. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/qt_utils/settings_dialog.py +0 -0
  67. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/__init__.py +0 -0
  68. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/bec_connector.py +0 -0
  69. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/bec_designer.py +0 -0
  70. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/bec_dispatcher.py +0 -0
  71. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/bec_table.py +0 -0
  72. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/bec_widget.py +0 -0
  73. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/colors.py +0 -0
  74. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/container_utils.py +0 -0
  75. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/crosshair.py +0 -0
  76. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/entry_validator.py +0 -0
  77. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/generate_designer_plugin.py +0 -0
  78. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/layout_manager.py +0 -0
  79. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/plugin_templates/plugin.template +0 -0
  80. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/plugin_templates/register.template +0 -0
  81. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/plugin_utils.py +0 -0
  82. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/reference_utils.py +0 -0
  83. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/rpc_decorator.py +0 -0
  84. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/thread_checker.py +0 -0
  85. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/ui_loader.py +0 -0
  86. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/validator_delegate.py +0 -0
  87. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/widget_io.py +0 -0
  88. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/utils/yaml_dialog.py +0 -0
  89. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/__init__.py +0 -0
  90. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/base_classes/__init__.py +0 -0
  91. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/base_classes/device_input_base.py +0 -0
  92. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_queue/__init__.py +0 -0
  93. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_queue/bec_queue.py +0 -0
  94. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_queue/bec_queue.pyproject +0 -0
  95. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_queue/bec_queue_plugin.py +0 -0
  96. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_queue/register_bec_queue.py +0 -0
  97. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_status_box/__init__.py +0 -0
  98. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_status_box/bec_status_box.py +0 -0
  99. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_status_box/bec_status_box.pyproject +0 -0
  100. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +0 -0
  101. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_status_box/register_bec_status_box.py +0 -0
  102. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/bec_status_box/status_item.py +0 -0
  103. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/color_button/__init__.py +0 -0
  104. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/color_button/assets/color_button.png +0 -0
  105. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/color_button/color_button.py +0 -0
  106. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/color_button/color_button.pyproject +0 -0
  107. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/color_button/color_button_plugin.py +0 -0
  108. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/color_button/register_color_button.py +0 -0
  109. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/colormap_selector/__init__.py +0 -0
  110. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/colormap_selector/colormap_selector.py +0 -0
  111. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/colormap_selector/colormap_selector.pyproject +0 -0
  112. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +0 -0
  113. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/colormap_selector/register_colormap_selector.py +0 -0
  114. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/console/console.py +0 -0
  115. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_box/__init__.py +0 -0
  116. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_box/device_box.py +0 -0
  117. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_box/device_box.pyproject +0 -0
  118. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_box/device_box.ui +0 -0
  119. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_box/device_box_plugin.py +0 -0
  120. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_box/register_device_box.py +0 -0
  121. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_combobox/__init__.py +0 -0
  122. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png +0 -0
  123. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_combobox/device_combobox.py +0 -0
  124. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_combobox/device_combobox.pyproject +0 -0
  125. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_combobox/device_combobox_plugin.py +0 -0
  126. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_combobox/register_device_combobox.py +0 -0
  127. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_line_edit/__init__.py +0 -0
  128. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png +0 -0
  129. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_line_edit/device_line_edit.py +0 -0
  130. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject +0 -0
  131. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +0 -0
  132. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/device_line_edit/register_device_line_edit.py +0 -0
  133. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/dock/__init__.py +0 -0
  134. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/dock/dock.py +0 -0
  135. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/dock/dock_area.py +0 -0
  136. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/__init__.py +0 -0
  137. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/figure.py +0 -0
  138. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/__init__.py +0 -0
  139. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/axis_settings.py +0 -0
  140. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/axis_settings.ui +0 -0
  141. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
  142. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
  143. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
  144. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
  145. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
  146. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
  147. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
  148. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
  149. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
  150. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/jupyter_console/__init__.py +0 -0
  151. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
  152. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/__init__.py +0 -0
  153. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject +0 -0
  154. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py +0 -0
  155. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py +0 -0
  156. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui +0 -0
  157. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py +0 -0
  158. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/position_indicator/position_indicator.py +0 -0
  159. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/position_indicator/position_indicator.pyproject +0 -0
  160. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/position_indicator/position_indicator_plugin.py +0 -0
  161. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/position_indicator/register_position_indicator.py +0 -0
  162. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/ring_progress_bar/__init__.py +0 -0
  163. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/ring_progress_bar/ring.py +0 -0
  164. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +0 -0
  165. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/scan_control/__init__.py +0 -0
  166. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
  167. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/scan_control/scan_group_box.py +0 -0
  168. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/spinner/__init__.py +0 -0
  169. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/spinner/register_spinner_widget.py +0 -0
  170. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/spinner/spinner.py +0 -0
  171. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/spinner/spinner_widget.pyproject +0 -0
  172. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/spinner/spinner_widget_plugin.py +0 -0
  173. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/stop_button/__init__.py +0 -0
  174. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/stop_button/assets/stop.png +0 -0
  175. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/stop_button/register_stop_button.py +0 -0
  176. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/stop_button/stop_button.py +0 -0
  177. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/stop_button/stop_button.pyproject +0 -0
  178. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/stop_button/stop_button_plugin.py +0 -0
  179. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/text_box/__init__.py +0 -0
  180. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/text_box/text_box.py +0 -0
  181. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/toggle/__init__.py +0 -0
  182. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/toggle/register_toggle_switch.py +0 -0
  183. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/toggle/toggle.py +0 -0
  184. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/toggle/toggle_switch.pyproject +0 -0
  185. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/toggle/toggle_switch_plugin.py +0 -0
  186. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/vscode/__init__.py +0 -0
  187. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/vscode/vscode.py +0 -0
  188. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/waveform/__init__.py +0 -0
  189. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/waveform/bec_waveform_widget.pyproject +0 -0
  190. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +0 -0
  191. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/waveform/register_bec_waveform_widget.py +0 -0
  192. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/__init__.py +0 -0
  193. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/curve_dialog/__init__.py +0 -0
  194. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/curve_dialog/curve_dialog.py +0 -0
  195. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/curve_dialog/curve_dialog.ui +0 -0
  196. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/dap_summary_dialog/__init__.py +0 -0
  197. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/dap_summary_dialog/dap_summary.ui +0 -0
  198. {bec_widgets-0.88.0/bec_widgets/widgets/waveform/waveform_toolbar → bec_widgets-0.89.0/bec_widgets/widgets/waveform/waveform_popups}/dap_summary_dialog/dap_summary_dialog.py +0 -0
  199. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/website/__init__.py +0 -0
  200. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/bec_widgets/widgets/website/website.py +0 -0
  201. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/Makefile +0 -0
  202. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/_static/custom.css +0 -0
  203. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/_templates/custom-class-template.rst +0 -0
  204. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/_templates/custom-module-template.rst +0 -0
  205. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/api_reference/api_reference.md +0 -0
  206. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/apps_48dp.svg +0 -0
  207. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/display_settings_48dp.svg +0 -0
  208. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/index_api.svg +0 -0
  209. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/index_contribute.svg +0 -0
  210. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/index_getting_started.svg +0 -0
  211. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/index_user_guide.svg +0 -0
  212. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/assets/rocket_launch_48dp.svg +0 -0
  213. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/developer/developer.md +0 -0
  214. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/developer/getting_started/development.md +0 -0
  215. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/developer/getting_started/getting_started.md +0 -0
  216. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/developer/widgets/widgets.md +0 -0
  217. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/index.md +0 -0
  218. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/introduction/introduction.md +0 -0
  219. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/make.bat +0 -0
  220. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/requirements.txt +0 -0
  221. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/api_reference/api_reference.md +0 -0
  222. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/applications/applications.md +0 -0
  223. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/customisation.md +0 -0
  224. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/getting_started/BECDockArea.png +0 -0
  225. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/getting_started/auto_updates.md +0 -0
  226. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/getting_started/getting_started.md +0 -0
  227. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/getting_started/gui_complex_gui.gif +0 -0
  228. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/getting_started/installation.md +0 -0
  229. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/getting_started/quick_start.md +0 -0
  230. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/user.md +0 -0
  231. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/BECFigure.png +0 -0
  232. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/bec_figure.md +0 -0
  233. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/bec_figure_dap.gif +0 -0
  234. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/bec_status_box.gif +0 -0
  235. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/bec_status_box.md +0 -0
  236. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/buttons.md +0 -0
  237. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/image_plot.gif +0 -0
  238. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/motor.gif +0 -0
  239. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/progress_bar.gif +0 -0
  240. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/ring_progress_bar.md +0 -0
  241. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/scan_control.gif +0 -0
  242. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/scan_control.md +0 -0
  243. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/scatter_2D.gif +0 -0
  244. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/text_box.md +0 -0
  245. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/w1D.gif +0 -0
  246. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/website.md +0 -0
  247. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/docs/user/widgets/widgets.md +0 -0
  248. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/__init__.py +0 -0
  249. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/end-2-end/__init__.py +0 -0
  250. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/end-2-end/conftest.py +0 -0
  251. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -0
  252. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
  253. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
  254. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/end-2-end/test_scan_control_e2e.py +0 -0
  255. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/references/SpinnerWidget/SpinnerWidget_darwin.png +0 -0
  256. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/references/SpinnerWidget/SpinnerWidget_linux.png +0 -0
  257. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/references/SpinnerWidget/SpinnerWidget_started_darwin.png +0 -0
  258. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/references/SpinnerWidget/SpinnerWidget_started_linux.png +0 -0
  259. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/__init__.py +0 -0
  260. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/client_mocks.py +0 -0
  261. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/conftest.py +0 -0
  262. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_connector.py +0 -0
  263. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_dispatcher.py +0 -0
  264. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_dock.py +0 -0
  265. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_figure.py +0 -0
  266. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_image.py +0 -0
  267. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_motor_map.py +0 -0
  268. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_queue.py +0 -0
  269. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_bec_status_box.py +0 -0
  270. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_client_utils.py +0 -0
  271. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_color_map_selector.py +0 -0
  272. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_color_validation.py +0 -0
  273. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_configs/config_device.yaml +0 -0
  274. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
  275. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
  276. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_crosshair.py +0 -0
  277. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_device_box.py +0 -0
  278. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_device_input_base.py +0 -0
  279. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_device_input_widgets.py +0 -0
  280. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_error_utils.py +0 -0
  281. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_generate_cli_client.py +0 -0
  282. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_generate_plugin.py +0 -0
  283. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_motor_map_widget.py +0 -0
  284. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_msgs/__init__.py +0 -0
  285. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
  286. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_plot_base.py +0 -0
  287. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_plugin_utils.py +0 -0
  288. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_ring_progress_bar.py +0 -0
  289. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_rpc_register.py +0 -0
  290. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_rpc_server.py +0 -0
  291. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_rpc_widget_handler.py +0 -0
  292. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_scan_control.py +0 -0
  293. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_scan_control_group_box.py +0 -0
  294. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_setting_dialog.py +0 -0
  295. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_spinner.py +0 -0
  296. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_stop_button.py +0 -0
  297. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_text_box_widget.py +0 -0
  298. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_toggle.py +0 -0
  299. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_vscode_widget.py +0 -0
  300. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_waveform1d.py +0 -0
  301. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_waveform_widget.py +0 -0
  302. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_website_widget.py +0 -0
  303. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_widget_io.py +0 -0
  304. {bec_widgets-0.88.0 → bec_widgets-0.89.0}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -1,5 +1,31 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.89.0 (2024-07-22)
4
+
5
+ ### Feature
6
+
7
+ * feat(themes): moved themes to bec_qthemes ([`3798714`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3798714369adf4023f833b7749d2f46a0ec74eee))
8
+
9
+ ### Unknown
10
+
11
+ * Revert "feat(themes): moved themes to bec_qthemes"
12
+
13
+ This reverts commit 3798714369adf4023f833b7749d2f46a0ec74eee ([`fd6ae91`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fd6ae91993a23a7b8dbb2cf3c4b7c3eda6d2b0f6))
14
+
15
+ ## v0.88.1 (2024-07-22)
16
+
17
+ ### Documentation
18
+
19
+ * docs: readthedocs icon path fixed ([`2bcaa42`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2bcaa4256d6daaefacb3ead8c72458d7b1498e29))
20
+
21
+ ### Fix
22
+
23
+ * fix(plot_base): set_xy autorange moved to plotbase from waveform ([`a3dff7d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a3dff7decc16115c12dc6b4ef1572552368da309))
24
+
25
+ ### Refactor
26
+
27
+ * refactor(toolbar): generalizations of the ToolBarAction ([`ad112d1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ad112d1f08157f6987edd48a0bacf9f669ef1997))
28
+
3
29
  ## v0.88.0 (2024-07-19)
4
30
 
5
31
  ### Feature
@@ -108,12 +134,6 @@ Handles closeEvent() and RPC registering/unregistering ([`c7feb69`](https://gitl
108
134
 
109
135
  ## v0.84.0 (2024-07-15)
110
136
 
111
- ### Feature
112
-
113
- * feat(waveform): async readback update implemented for async devices ([`0c6a9f2`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0c6a9f2310df31ddcd68050a17cfbf52c3e2e226))
114
-
115
- * feat(waveform): data are taken directly from ScanItem which is defined from scan_status endpoint; scan update is triggered from scan_segment; plots can be added just specifying y_name -> best effort for setting x reported device ([`b8717f1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b8717f13276734dd655ab03cd6005985ad5af9fb))
116
-
117
137
  ### Fix
118
138
 
119
139
  * fix(waveform): timestamp are not converted to human readable format ([`e495fd3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e495fd30c4c16474689943c7263e3060cb09ffb4))
@@ -122,20 +142,10 @@ Handles closeEvent() and RPC registering/unregistering ([`c7feb69`](https://gitl
122
142
 
123
143
  * fix(waveform): x axis switching logic fixed when axis are not compatible ([`e4e1a90`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e4e1a905d19def22f970b364c18c953f00e10389))
124
144
 
125
- * fix(waveform): dap leaked RID for all daps in current process; dap RID is now f"{scan_id}-{gui_id}" to distinguish for each plot instance ([`d23fd8b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/d23fd8bd074ede6e14eb8e85e025cbced4bd45ef))
126
-
127
- * fix(waveform): only one type of x axis allowed; x mode validated ([`9d6ae87`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9d6ae87d0f03ca227570fcca8af2d8190828d271))
128
-
129
- * fix(waveform): data for axis are taken by separate method; validation consolidated ([`fc5a8bd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fc5a8bdd8b260f5e9b59ec71a4610c57442e43fe))
130
-
131
- * fix(bec_dispatcher): connect_slot can accept kwargs ([`0aa317a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0aa317aae58d3612d46f05b85f8b0db3d12bbe14))
132
-
133
145
  ### Refactor
134
146
 
135
147
  * refactor(waveform): plot can be prompted without specifying kwargs ([`48911e9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/48911e934815923c94edb5ced6042058a11a97f5))
136
148
 
137
- * refactor(jupyter_console_window): added more examples of waveforms ([`fc935d9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fc935d9fc81067c3a67389ff88ea97da2e0c903e))
138
-
139
149
  ### Test
140
150
 
141
151
  * test(waveform): tests extended ([`006992e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/006992e43cc56d56261bc4fd3e9cae9abcab2153))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.88.0
3
+ Version: 0.89.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
@@ -2057,6 +2057,19 @@ class BECWaveformWidget(RPCBase):
2057
2057
  legend_label_size(int): Size of the legend labels.
2058
2058
  """
2059
2059
 
2060
+ @rpc_call
2061
+ def set_auto_range(self, enabled: "bool", axis: "str" = "xy"):
2062
+ """
2063
+ Set the auto range of the plot widget.
2064
+
2065
+ Args:
2066
+ enabled(bool): If True, enable the auto range.
2067
+ axis(str, optional): The axis to enable the auto range.
2068
+ - "xy": Enable auto range for both x and y axis.
2069
+ - "x": Enable auto range for x axis.
2070
+ - "y": Enable auto range for y axis.
2071
+ """
2072
+
2060
2073
  @rpc_call
2061
2074
  def set_grid(self, x_grid: "bool", y_grid: "bool"):
2062
2075
  """
@@ -0,0 +1,138 @@
1
+ # pylint: disable=no-name-in-module
2
+ import os
3
+ from abc import ABC, abstractmethod
4
+ from collections import defaultdict
5
+
6
+ from qtpy.QtCore import QSize
7
+ from qtpy.QtGui import QAction, QIcon
8
+ from qtpy.QtWidgets import QHBoxLayout, QLabel, QToolBar, QToolButton, QWidget
9
+
10
+ import bec_widgets
11
+
12
+ MODULE_PATH = os.path.dirname(bec_widgets.__file__)
13
+
14
+
15
+ class ToolBarAction(ABC):
16
+ """
17
+ Abstract base class for toolbar actions.
18
+
19
+ Args:
20
+ icon_path (str, optional): The name of the icon file from `assets/toolbar_icons`. Defaults to None.
21
+ tooltip (bool, optional): The tooltip for the action. Defaults to None.
22
+ checkable (bool, optional): Whether the action is checkable. Defaults to False.
23
+ """
24
+
25
+ def __init__(self, icon_path: str = None, tooltip: str = None, checkable: bool = False):
26
+ self.icon_path = (
27
+ os.path.join(MODULE_PATH, "assets", "toolbar_icons", icon_path) if icon_path else None
28
+ )
29
+ self.tooltip = tooltip
30
+ self.checkable = checkable
31
+ self.action = None
32
+
33
+ @abstractmethod
34
+ def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
35
+ """Adds an action or widget to a toolbar.
36
+
37
+ Args:
38
+ toolbar (QToolBar): The toolbar to add the action or widget to.
39
+ target (QWidget): The target widget for the action.
40
+ """
41
+
42
+
43
+ class SeparatorAction(ToolBarAction):
44
+ """Separator action for the toolbar."""
45
+
46
+ def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
47
+ self.separator = QToolButton()
48
+ self.separator.setFixedSize(2, 22)
49
+ toolbar.addWidget(self.separator)
50
+
51
+
52
+ class IconAction(ToolBarAction):
53
+ """
54
+ Action with an icon for the toolbar.
55
+
56
+ Args:
57
+ icon_path (str): The path to the icon file.
58
+ tooltip (str): The tooltip for the action.
59
+ checkable (bool, optional): Whether the action is checkable. Defaults to False.
60
+ """
61
+
62
+ def __init__(self, icon_path: str = None, tooltip: str = None, checkable: bool = False):
63
+ super().__init__(icon_path, tooltip, checkable)
64
+
65
+ def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
66
+ icon = QIcon()
67
+ icon.addFile(self.icon_path, size=QSize(20, 20))
68
+ self.action = QAction(icon, self.tooltip, target)
69
+ self.action.setCheckable(self.checkable)
70
+ toolbar.addAction(self.action)
71
+
72
+
73
+ class DeviceSelectionAction(ToolBarAction):
74
+ """
75
+ Action for selecting a device in a combobox.
76
+
77
+ Args:
78
+ label (str): The label for the combobox.
79
+ device_combobox (DeviceComboBox): The combobox for selecting the device.
80
+
81
+ """
82
+
83
+ def __init__(self, label: str, device_combobox):
84
+ super().__init__()
85
+ self.label = label
86
+ self.device_combobox = device_combobox
87
+ self.device_combobox.currentIndexChanged.connect(lambda: self.set_combobox_style("#ffa700"))
88
+
89
+ def add_to_toolbar(self, toolbar, target):
90
+ widget = QWidget()
91
+ layout = QHBoxLayout(widget)
92
+ label = QLabel(f"{self.label}")
93
+ layout.addWidget(label)
94
+ layout.addWidget(self.device_combobox)
95
+ toolbar.addWidget(widget)
96
+
97
+ def set_combobox_style(self, color: str):
98
+ self.device_combobox.setStyleSheet(f"QComboBox {{ background-color: {color}; }}")
99
+
100
+
101
+ class ModularToolBar(QToolBar):
102
+ """Modular toolbar with optional automatic initialization.
103
+ Args:
104
+ parent (QWidget, optional): The parent widget of the toolbar. Defaults to None.
105
+ actions (list[ToolBarAction], optional): A list of action creators to populate the toolbar. Defaults to None.
106
+ target_widget (QWidget, optional): The widget that the actions will target. Defaults to None.
107
+ color (str, optional): The background color of the toolbar. Defaults to "black".
108
+ """
109
+
110
+ def __init__(
111
+ self, parent=None, actions=None, target_widget=None, color: str = "rgba(255, 255, 255, 0)"
112
+ ):
113
+ super().__init__(parent)
114
+
115
+ self.widgets = defaultdict(dict)
116
+ self.set_background_color(color)
117
+
118
+ if actions is not None and target_widget is not None:
119
+ self.populate_toolbar(actions, target_widget)
120
+
121
+ def populate_toolbar(self, actions: dict, target_widget):
122
+ """Populates the toolbar with a set of actions.
123
+
124
+ Args:
125
+ actions (list[ToolBarAction]): A list of action creators to populate the toolbar.
126
+ target_widget (QWidget): The widget that the actions will target.
127
+ """
128
+ self.clear()
129
+ for action_id, action in actions.items():
130
+ action.add_to_toolbar(self, target_widget)
131
+ self.widgets[action_id] = action
132
+
133
+ def set_background_color(self, color: str):
134
+ self.setStyleSheet(f"QToolBar {{ background: {color}; }}")
135
+ self.setIconSize(QSize(20, 20))
136
+ self.setMovable(False)
137
+ self.setFloatable(False)
138
+ self.setContentsMargins(0, 0, 0, 0)
@@ -291,6 +291,19 @@ class BECPlotBase(BECConnector, pg.GraphicsLayout):
291
291
  """
292
292
  self.plot_item.setAspectLocked(lock)
293
293
 
294
+ def set_auto_range(self, enabled: bool, axis: str = "xy"):
295
+ """
296
+ Set the auto range of the plot widget.
297
+
298
+ Args:
299
+ enabled(bool): If True, enable the auto range.
300
+ axis(str, optional): The axis to enable the auto range.
301
+ - "xy": Enable auto range for both x and y axis.
302
+ - "x": Enable auto range for x axis.
303
+ - "y": Enable auto range for y axis.
304
+ """
305
+ self.plot_item.enableAutoRange(axis, enabled)
306
+
294
307
  def export(self):
295
308
  """Show the Export Dialog of the plot widget."""
296
309
  scene = self.plot_item.scene()
@@ -3,6 +3,7 @@ import os
3
3
  from qtpy.QtDesigner import QDesignerCustomWidgetInterface
4
4
  from qtpy.QtGui import QIcon
5
5
 
6
+ import bec_widgets
6
7
  from bec_widgets.widgets.motor_map.motor_map_widget import BECMotorMapWidget
7
8
 
8
9
  DOM_XML = """
@@ -12,6 +13,8 @@ DOM_XML = """
12
13
  </ui>
13
14
  """
14
15
 
16
+ MODULE_PATH = os.path.dirname(bec_widgets.__file__)
17
+
15
18
 
16
19
  class BECMotorMapWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
17
20
  def __init__(self):
@@ -29,8 +32,7 @@ class BECMotorMapWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cov
29
32
  return "BEC Plots"
30
33
 
31
34
  def icon(self):
32
- current_path = os.path.dirname(__file__)
33
- icon_path = os.path.join(current_path, "assets", "motor_map.png")
35
+ icon_path = os.path.join(MODULE_PATH, "assets", "designer_icons", "motor_map.png")
34
36
  return QIcon(icon_path)
35
37
 
36
38
  def includeFile(self):
@@ -5,17 +5,12 @@ import sys
5
5
  from qtpy.QtWidgets import QVBoxLayout, QWidget
6
6
 
7
7
  from bec_widgets.qt_utils.settings_dialog import SettingsDialog
8
- from bec_widgets.qt_utils.toolbar import ModularToolBar
8
+ from bec_widgets.qt_utils.toolbar import DeviceSelectionAction, IconAction, ModularToolBar
9
9
  from bec_widgets.utils.bec_widget import BECWidget
10
+ from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
10
11
  from bec_widgets.widgets.figure import BECFigure
11
12
  from bec_widgets.widgets.figure.plots.motor_map.motor_map import MotorMapConfig
12
13
  from bec_widgets.widgets.motor_map.motor_map_dialog.motor_map_settings import MotorMapSettings
13
- from bec_widgets.widgets.motor_map.motor_map_dialog.motor_map_toolbar import (
14
- ConnectAction,
15
- DeviceSelectionAction,
16
- ResetHistoryAction,
17
- SettingsAction,
18
- )
19
14
 
20
15
 
21
16
  class BECMotorMapWidget(BECWidget, QWidget):
@@ -53,11 +48,15 @@ class BECMotorMapWidget(BECWidget, QWidget):
53
48
  self.fig = BECFigure()
54
49
  self.toolbar = ModularToolBar(
55
50
  actions={
56
- "motor_x": DeviceSelectionAction("Motor X:"),
57
- "motor_y": DeviceSelectionAction("Motor Y:"),
58
- "connect": ConnectAction(),
59
- "history": ResetHistoryAction(),
60
- "config": SettingsAction(),
51
+ "motor_x": DeviceSelectionAction(
52
+ "Motor X:", DeviceComboBox(device_filter="Positioner")
53
+ ),
54
+ "motor_y": DeviceSelectionAction(
55
+ "Motor Y:", DeviceComboBox(device_filter="Positioner")
56
+ ),
57
+ "connect": IconAction(icon_path="connection.svg", tooltip="Connect Motors"),
58
+ "history": IconAction(icon_path="history.svg", tooltip="Reset Trace History"),
59
+ "config": IconAction(icon_path="settings.svg", tooltip="Open Configuration Dialog"),
61
60
  },
62
61
  target_widget=self,
63
62
  )
@@ -5,22 +5,20 @@ from typing import Literal
5
5
 
6
6
  import numpy as np
7
7
  import pyqtgraph as pg
8
- from qtpy.QtCore import Slot
9
8
  from qtpy.QtWidgets import QVBoxLayout, QWidget
10
9
 
11
10
  from bec_widgets.qt_utils.error_popups import SafeSlot, WarningPopupUtility
12
11
  from bec_widgets.qt_utils.settings_dialog import SettingsDialog
13
- from bec_widgets.qt_utils.toolbar import ModularToolBar, SeparatorAction
12
+ from bec_widgets.qt_utils.toolbar import IconAction, ModularToolBar, SeparatorAction
14
13
  from bec_widgets.utils.bec_widget import BECWidget
15
14
  from bec_widgets.widgets.figure import BECFigure
16
15
  from bec_widgets.widgets.figure.plots.axis_settings import AxisSettings
17
16
  from bec_widgets.widgets.figure.plots.waveform.waveform import Waveform1DConfig
18
17
  from bec_widgets.widgets.figure.plots.waveform.waveform_curve import BECCurve
19
- from bec_widgets.widgets.waveform.waveform_toolbar.curve_dialog.curve_dialog import CurveSettings
20
- from bec_widgets.widgets.waveform.waveform_toolbar.dap_summary_dialog.dap_summary_dialog import (
18
+ from bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog import CurveSettings
19
+ from bec_widgets.widgets.waveform.waveform_popups.dap_summary_dialog.dap_summary_dialog import (
21
20
  FitSummaryWidget,
22
21
  )
23
- from bec_widgets.widgets.waveform.waveform_toolbar.waveform_toolbar import *
24
22
 
25
23
  try:
26
24
  import pandas as pd
@@ -47,6 +45,7 @@ class BECWaveformWidget(BECWidget, QWidget):
47
45
  "set_x_lim",
48
46
  "set_y_lim",
49
47
  "set_legend_label_size",
48
+ "set_auto_range",
50
49
  "set_grid",
51
50
  "lock_aspect_ratio",
52
51
  "export",
@@ -75,19 +74,28 @@ class BECWaveformWidget(BECWidget, QWidget):
75
74
  self.fig = BECFigure()
76
75
  self.toolbar = ModularToolBar(
77
76
  actions={
78
- "save": SaveAction(),
79
- "matplotlib": MatplotlibAction(),
77
+ "save": IconAction(icon_path="save.svg", tooltip="Open Export Dialog"),
78
+ "matplotlib": IconAction(
79
+ icon_path="photo_library.svg", tooltip="Open Matplotlib Plot"
80
+ ),
80
81
  "separator_1": SeparatorAction(),
81
- "drag_mode": DragModeAction(),
82
- "rectangle_mode": RectangeModeAction(),
83
- "auto_range": AutoRangeAction(),
82
+ "drag_mode": IconAction(
83
+ icon_path="drag_pan_mode.svg", tooltip="Drag Mouse Mode", checkable=True
84
+ ),
85
+ "rectangle_mode": IconAction(
86
+ icon_path="rectangle_mode.svg", tooltip="Rectangle Zoom Mode", checkable=True
87
+ ),
88
+ "auto_range": IconAction(icon_path="auto_range.svg", tooltip="Autorange Plot"),
84
89
  "separator_2": SeparatorAction(),
85
- "curves": CurveAction(),
86
- "fit_params": FitParamsAction(),
87
- "axis_settings": SettingsAction(),
88
- # "separator_3": SeparatorAction(),
89
- # "import": ImportAction(),
90
- # "export": ExportAction(),
90
+ "curves": IconAction(
91
+ icon_path="line_axis.svg", tooltip="Open Curves Configuration"
92
+ ),
93
+ "fit_params": IconAction(
94
+ icon_path="fitting_parameters.svg", tooltip="Open Fitting Parameters"
95
+ ),
96
+ "axis_settings": IconAction(
97
+ icon_path="settings.svg", tooltip="Open Configuration Dialog"
98
+ ),
91
99
  },
92
100
  target_widget=self,
93
101
  )
@@ -78,4 +78,4 @@ language = "Python"
78
78
  html_theme = "pydata_sphinx_theme"
79
79
  html_static_path = ["_static"]
80
80
  html_css_files = ["custom.css"]
81
- html_logo = "../bec_widgets/assets/bec_widgets_icon.png"
81
+ html_logo = "../bec_widgets/assets/app_icons/bec_widgets_icon.png"
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "0.88.0"
7
+ version = "0.89.0"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -1,66 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from collections import defaultdict
3
-
4
- # pylint: disable=no-name-in-module
5
- from qtpy.QtCore import QSize
6
- from qtpy.QtWidgets import QToolBar, QToolButton, QWidget
7
-
8
-
9
- class ToolBarAction(ABC):
10
- @abstractmethod
11
- def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
12
- """Adds an action or widget to a toolbar.
13
-
14
- Args:
15
- toolbar (QToolBar): The toolbar to add the action or widget to.
16
- target (QWidget): The target widget for the action.
17
- """
18
-
19
-
20
- class SeparatorAction(ToolBarAction):
21
- """Separator action for the toolbar."""
22
-
23
- def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
24
- self.separator = QToolButton()
25
- self.separator.setFixedSize(2, 22)
26
- toolbar.addWidget(self.separator)
27
-
28
-
29
- class ModularToolBar(QToolBar):
30
- """Modular toolbar with optional automatic initialization.
31
- Args:
32
- parent (QWidget, optional): The parent widget of the toolbar. Defaults to None.
33
- actions (list[ToolBarAction], optional): A list of action creators to populate the toolbar. Defaults to None.
34
- target_widget (QWidget, optional): The widget that the actions will target. Defaults to None.
35
- color (str, optional): The background color of the toolbar. Defaults to "black".
36
- """
37
-
38
- def __init__(
39
- self, parent=None, actions=None, target_widget=None, color: str = "rgba(255, 255, 255, 0)"
40
- ):
41
- super().__init__(parent)
42
-
43
- self.widgets = defaultdict(dict)
44
- self.set_background_color(color)
45
-
46
- if actions is not None and target_widget is not None:
47
- self.populate_toolbar(actions, target_widget)
48
-
49
- def populate_toolbar(self, actions: dict, target_widget):
50
- """Populates the toolbar with a set of actions.
51
-
52
- Args:
53
- actions (list[ToolBarAction]): A list of action creators to populate the toolbar.
54
- target_widget (QWidget): The widget that the actions will target.
55
- """
56
- self.clear()
57
- for action_id, action in actions.items():
58
- action.add_to_toolbar(self, target_widget)
59
- self.widgets[action_id] = action
60
-
61
- def set_background_color(self, color: str):
62
- self.setStyleSheet(f"QToolBar {{ background: {color}; }}")
63
- self.setIconSize(QSize(20, 20))
64
- self.setMovable(False)
65
- self.setFloatable(False)
66
- self.setContentsMargins(0, 0, 0, 0)
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#FFFFFF">
2
- <path d="M0 0h24v24H0V0z" fill="none"/>
3
- <path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/>
4
- </svg>
@@ -1,59 +0,0 @@
1
- import os
2
-
3
- from qtpy.QtCore import QSize
4
- from qtpy.QtGui import QAction, QIcon
5
- from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget
6
-
7
- from bec_widgets.qt_utils.toolbar import ToolBarAction
8
- from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
9
-
10
-
11
- class DeviceSelectionAction(ToolBarAction):
12
- def __init__(self, label: str):
13
- self.label = label
14
- self.device_combobox = DeviceComboBox(device_filter="Positioner")
15
-
16
- self.device_combobox.currentIndexChanged.connect(lambda: self.set_combobox_style("#ffa700"))
17
-
18
- def add_to_toolbar(self, toolbar, target):
19
- widget = QWidget()
20
- layout = QHBoxLayout(widget)
21
-
22
- label = QLabel(f"{self.label}")
23
-
24
- layout.addWidget(label)
25
- layout.addWidget(self.device_combobox)
26
- toolbar.addWidget(widget)
27
-
28
- def set_combobox_style(self, color: str):
29
- self.device_combobox.setStyleSheet(f"QComboBox {{ background-color: {color}; }}")
30
-
31
-
32
- class ConnectAction(ToolBarAction):
33
- def add_to_toolbar(self, toolbar, target):
34
- current_path = os.path.dirname(__file__)
35
- parent_path = os.path.dirname(current_path)
36
- icon = QIcon()
37
- icon.addFile(os.path.join(parent_path, "assets", "connection.svg"), size=QSize(20, 20))
38
- self.action = QAction(icon, "Connect Motors", target)
39
- toolbar.addAction(self.action)
40
-
41
-
42
- class ResetHistoryAction(ToolBarAction):
43
- def add_to_toolbar(self, toolbar, target):
44
- current_path = os.path.dirname(__file__)
45
- parent_path = os.path.dirname(current_path)
46
- icon = QIcon()
47
- icon.addFile(os.path.join(parent_path, "assets", "history.svg"), size=QSize(20, 20))
48
- self.action = QAction(icon, "Reset Trace History", target)
49
- toolbar.addAction(self.action)
50
-
51
-
52
- class SettingsAction(ToolBarAction):
53
- def add_to_toolbar(self, toolbar, target):
54
- current_path = os.path.dirname(__file__)
55
- parent_path = os.path.dirname(current_path)
56
- icon = QIcon()
57
- icon.addFile(os.path.join(parent_path, "assets", "settings.svg"), size=QSize(20, 20))
58
- self.action = QAction(icon, "Open Configuration Dialog", target)
59
- toolbar.addAction(self.action)
@@ -1,117 +0,0 @@
1
- import os
2
-
3
- from qtpy.QtCore import QSize
4
- from qtpy.QtGui import QAction, QIcon
5
-
6
- import bec_widgets
7
- from bec_widgets.qt_utils.toolbar import ToolBarAction
8
-
9
- MODULE_PATH = os.path.dirname(bec_widgets.__file__)
10
-
11
-
12
- class SaveAction(ToolBarAction):
13
- def add_to_toolbar(self, toolbar, target):
14
- icon = QIcon()
15
- icon.addFile(
16
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "save.svg"), size=QSize(20, 20)
17
- )
18
- self.action = QAction(icon, "Open Export Dialog", target)
19
- toolbar.addAction(self.action)
20
-
21
-
22
- class MatplotlibAction(ToolBarAction):
23
- def add_to_toolbar(self, toolbar, target):
24
- icon = QIcon()
25
- icon.addFile(
26
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "photo_library.svg"),
27
- size=QSize(20, 20),
28
- )
29
- self.action = QAction(icon, "Open Matplotlib Plot", target)
30
- toolbar.addAction(self.action)
31
-
32
-
33
- class DragModeAction(ToolBarAction):
34
- def add_to_toolbar(self, toolbar, target):
35
- icon = QIcon()
36
- icon.addFile(
37
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "drag_pan_mode.svg"),
38
- size=QSize(20, 20),
39
- )
40
- self.action = QAction(icon, "Drag Mouse Mode", target)
41
- self.action.setCheckable(True)
42
- toolbar.addAction(self.action)
43
-
44
-
45
- class RectangeModeAction(ToolBarAction):
46
- def add_to_toolbar(self, toolbar, target):
47
- icon = QIcon()
48
- icon.addFile(
49
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "rectangle_mode.svg"),
50
- size=QSize(20, 20),
51
- )
52
- self.action = QAction(icon, "Rectangle Zoom Mode", target)
53
- self.action.setCheckable(True)
54
- toolbar.addAction(self.action)
55
-
56
-
57
- class AutoRangeAction(ToolBarAction):
58
- def add_to_toolbar(self, toolbar, target):
59
- icon = QIcon()
60
- icon.addFile(
61
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "auto_range.svg"),
62
- size=QSize(20, 20),
63
- )
64
- self.action = QAction(icon, "Autorange Plot", target)
65
- toolbar.addAction(self.action)
66
-
67
-
68
- class CurveAction(ToolBarAction):
69
- def add_to_toolbar(self, toolbar, target):
70
- icon = QIcon()
71
- icon.addFile(
72
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "line_axis.svg"),
73
- size=QSize(20, 20),
74
- )
75
- self.action = QAction(icon, "Open Curves Configuration", target)
76
- toolbar.addAction(self.action)
77
-
78
-
79
- class FitParamsAction(ToolBarAction):
80
- def add_to_toolbar(self, toolbar, target):
81
- icon = QIcon()
82
- icon.addFile(
83
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "fitting_parameters.svg"),
84
- size=QSize(20, 20),
85
- )
86
- self.action = QAction(icon, "Open Fitting Parameters", target)
87
- toolbar.addAction(self.action)
88
-
89
-
90
- class SettingsAction(ToolBarAction):
91
- def add_to_toolbar(self, toolbar, target):
92
- icon = QIcon()
93
- icon.addFile(
94
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "settings.svg"), size=QSize(20, 20)
95
- )
96
- self.action = QAction(icon, "Open Configuration Dialog", target)
97
- toolbar.addAction(self.action)
98
-
99
-
100
- class ImportAction(ToolBarAction):
101
- def add_to_toolbar(self, toolbar, target):
102
- icon = QIcon()
103
- icon.addFile(
104
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "import.svg"), size=QSize(20, 20)
105
- )
106
- self.action = QAction(icon, "Import Configuration from YAML", target)
107
- toolbar.addAction(self.action)
108
-
109
-
110
- class ExportAction(ToolBarAction):
111
- def add_to_toolbar(self, toolbar, target):
112
- icon = QIcon()
113
- icon.addFile(
114
- os.path.join(MODULE_PATH, "assets", "toolbar_icons", "export.svg"), size=QSize(20, 20)
115
- )
116
- self.action = QAction(icon, "Export Current Configuration to YAML", target)
117
- toolbar.addAction(self.action)