bec-widgets 0.94.7__py3-none-any.whl → 0.95.1__py3-none-any.whl

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 (125) hide show
  1. CHANGELOG.md +46 -44
  2. PKG-INFO +1 -1
  3. bec_widgets/cli/client.py +19 -0
  4. bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +5 -3
  5. bec_widgets/widgets/bec_queue/bec_queue_plugin.py +5 -3
  6. bec_widgets/widgets/bec_status_box/bec_status_box_plugin.py +5 -3
  7. bec_widgets/widgets/color_button/color_button_plugin.py +5 -3
  8. bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py +5 -3
  9. bec_widgets/widgets/device_browser/__init__.py +0 -0
  10. bec_widgets/widgets/device_browser/device_browser.py +107 -0
  11. bec_widgets/widgets/device_browser/device_browser.pyproject +1 -0
  12. bec_widgets/widgets/device_browser/device_browser.ui +44 -0
  13. bec_widgets/widgets/device_browser/device_browser_plugin.py +57 -0
  14. bec_widgets/widgets/device_browser/device_item/__init__.py +1 -0
  15. bec_widgets/widgets/device_browser/device_item/device_item.py +53 -0
  16. bec_widgets/widgets/device_browser/register_device_browser.py +15 -0
  17. bec_widgets/widgets/device_combobox/device_combo_box_plugin.py +5 -3
  18. bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py +5 -3
  19. bec_widgets/widgets/dock/dock_area_plugin.py +5 -3
  20. bec_widgets/widgets/image/bec_image_widget_plugin.py +5 -3
  21. bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +5 -3
  22. bec_widgets/widgets/position_indicator/position_indicator_plugin.py +5 -3
  23. bec_widgets/widgets/positioner_box/positioner_box_plugin.py +5 -3
  24. bec_widgets/widgets/positioner_box/positioner_control_line_plugin.py +5 -3
  25. bec_widgets/widgets/ring_progress_bar/ring_progress_bar_plugin.py +5 -3
  26. bec_widgets/widgets/scan_control/scan_control_plugin.py +5 -3
  27. bec_widgets/widgets/spinner/spinner_widget_plugin.py +5 -3
  28. bec_widgets/widgets/stop_button/stop_button_plugin.py +5 -3
  29. bec_widgets/widgets/text_box/text_box_plugin.py +5 -3
  30. bec_widgets/widgets/toggle/toggle_switch_plugin.py +5 -3
  31. bec_widgets/widgets/vscode/vs_code_editor_plugin.py +5 -3
  32. bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py +5 -3
  33. bec_widgets/widgets/website/website_widget_plugin.py +5 -3
  34. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.1.dist-info}/METADATA +1 -1
  35. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.1.dist-info}/RECORD +97 -77
  36. docs/_static/custom.css +10 -10
  37. docs/assets/widget_screenshots/buttons.png +0 -0
  38. docs/assets/widget_screenshots/device_box.png +0 -0
  39. docs/assets/widget_screenshots/device_browser.png +0 -0
  40. docs/assets/widget_screenshots/device_inputs.png +0 -0
  41. docs/assets/widget_screenshots/dock_area.png +0 -0
  42. docs/assets/widget_screenshots/figure.png +0 -0
  43. docs/assets/widget_screenshots/image_widget.png +0 -0
  44. docs/assets/widget_screenshots/motor_map_widget.png +0 -0
  45. docs/assets/widget_screenshots/position_indicator.png +0 -0
  46. docs/assets/widget_screenshots/queue.png +0 -0
  47. docs/assets/widget_screenshots/ring_progress_bar.png +0 -0
  48. docs/assets/widget_screenshots/scan_controller.png +0 -0
  49. docs/assets/widget_screenshots/spinner.gif +0 -0
  50. docs/assets/widget_screenshots/status_box.png +0 -0
  51. docs/assets/widget_screenshots/text_box.png +0 -0
  52. docs/assets/widget_screenshots/toggle.png +0 -0
  53. docs/assets/widget_screenshots/waveform_widget.png +0 -0
  54. docs/assets/widget_screenshots/website.png +0 -0
  55. docs/conf.py +1 -0
  56. docs/developer/developer.md +2 -0
  57. docs/developer/introduction/introduction.md +1 -0
  58. docs/developer/introduction/useful_links.md +23 -0
  59. docs/index.md +4 -0
  60. docs/requirements.txt +1 -0
  61. docs/user/user.md +4 -0
  62. docs/user/widgets/bec_figure/bec_figure.md +105 -0
  63. docs/user/widgets/bec_status_box/bec_status_box.md +38 -0
  64. docs/user/widgets/buttons/buttons.md +50 -0
  65. docs/user/widgets/device_browser/device_browser.md +36 -0
  66. docs/user/widgets/device_browser/device_browser.png +0 -0
  67. docs/user/widgets/device_input/device_input.md +100 -0
  68. docs/user/widgets/dock_area/BECDockArea.png +0 -0
  69. docs/user/widgets/dock_area/bec_dock_area.md +107 -0
  70. docs/user/widgets/image/image_widget.md +84 -0
  71. docs/user/widgets/motor_map/motor_map.md +80 -0
  72. docs/user/widgets/position_indicator/position_indicator.md +76 -0
  73. docs/user/widgets/positioner_box/positioner_box.md +63 -0
  74. docs/user/widgets/progress_bar/ring_progress_bar.md +103 -0
  75. docs/user/widgets/queue/queue.md +41 -0
  76. docs/user/widgets/scan_control/scan_control.md +46 -0
  77. docs/user/widgets/spinner/spinner.md +75 -0
  78. docs/user/widgets/text_box/text_box.md +74 -0
  79. docs/user/widgets/toggle/toggle.md +66 -0
  80. docs/user/widgets/waveform/waveform_widget.md +132 -0
  81. docs/user/widgets/website/website.md +69 -0
  82. docs/user/widgets/widgets.md +212 -12
  83. pyproject.toml +1 -1
  84. tests/unit_tests/client_mocks.py +14 -0
  85. tests/unit_tests/test_device_browser.py +83 -0
  86. bec_widgets/assets/designer_icons/code.png +0 -0
  87. bec_widgets/assets/designer_icons/color_button.png +0 -0
  88. bec_widgets/assets/designer_icons/colormap_selector.png +0 -0
  89. bec_widgets/assets/designer_icons/device_combo_box.png +0 -0
  90. bec_widgets/assets/designer_icons/device_line_edit.png +0 -0
  91. bec_widgets/assets/designer_icons/dock_area.png +0 -0
  92. bec_widgets/assets/designer_icons/games.png +0 -0
  93. bec_widgets/assets/designer_icons/image.png +0 -0
  94. bec_widgets/assets/designer_icons/motor_map.png +0 -0
  95. bec_widgets/assets/designer_icons/position_indicator.png +0 -0
  96. bec_widgets/assets/designer_icons/positioner_box.png +0 -0
  97. bec_widgets/assets/designer_icons/queue.png +0 -0
  98. bec_widgets/assets/designer_icons/ring_progress.png +0 -0
  99. bec_widgets/assets/designer_icons/scan_control.png +0 -0
  100. bec_widgets/assets/designer_icons/spinner.png +0 -0
  101. bec_widgets/assets/designer_icons/status.png +0 -0
  102. bec_widgets/assets/designer_icons/stop.png +0 -0
  103. bec_widgets/assets/designer_icons/text.png +0 -0
  104. bec_widgets/assets/designer_icons/toggle.png +0 -0
  105. bec_widgets/assets/designer_icons/waveform.png +0 -0
  106. bec_widgets/assets/designer_icons/web.png +0 -0
  107. docs/user/widgets/bec_figure.md +0 -146
  108. docs/user/widgets/bec_status_box.md +0 -30
  109. docs/user/widgets/buttons.md +0 -37
  110. docs/user/widgets/ring_progress_bar.md +0 -54
  111. docs/user/widgets/scan_control.md +0 -35
  112. docs/user/widgets/text_box.md +0 -33
  113. docs/user/widgets/website.md +0 -21
  114. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.1.dist-info}/WHEEL +0 -0
  115. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.1.dist-info}/entry_points.txt +0 -0
  116. {bec_widgets-0.94.7.dist-info → bec_widgets-0.95.1.dist-info}/licenses/LICENSE +0 -0
  117. /docs/user/widgets/{BECFigure.png → bec_figure/BECFigure.png} +0 -0
  118. /docs/user/widgets/{bec_status_box.gif → bec_status_box/bec_status_box.gif} +0 -0
  119. /docs/user/widgets/{image_plot.gif → image/image_plot.gif} +0 -0
  120. /docs/user/widgets/{motor.gif → motor_map/motor.gif} +0 -0
  121. /docs/user/widgets/{progress_bar.gif → progress_bar/progress_bar.gif} +0 -0
  122. /docs/user/widgets/{scan_control.gif → scan_control/scan_control.gif} +0 -0
  123. /docs/user/widgets/{bec_figure_dap.gif → waveform/bec_figure_dap.gif} +0 -0
  124. /docs/user/widgets/{scatter_2D.gif → waveform/scatter_2D.gif} +0 -0
  125. /docs/user/widgets/{w1D.gif → waveform/w1D.gif} +0 -0
@@ -1,54 +0,0 @@
1
- (user.widgets.spiral_progress_bar)=
2
- # [Ring Progress Bar](/api_reference/_autosummary/bec_widgets.cli.client.RingProgressBar)
3
-
4
- **Purpose:**
5
-
6
- The ring Progress Bar widget is a circular progress bar that can be used to visualize the progress of a task. The
7
- widget is designed to be used in applications where the progress of a task is represented as a percentage. The Spiral
8
- Progress Bar widget is a part of the BEC Widgets library and can be controlled directly using its API, or hooked up to
9
- the progress of a device readback or scan.
10
-
11
- **Key Features:**
12
-
13
- - circular progress bar to show updates on the progress of a task.
14
- - hooks to update the progress bar from a device readback or scan.
15
- - multiple progress rings to show different tasks in parallel.
16
-
17
- **Example of Use:**
18
- ![RingProgressBar](./progress_bar.gif)
19
-
20
- **Code example:**
21
-
22
- The following code snipped demonstrates how to create a `RingProgressBar` using BEC Widgets within BEC.
23
- ```python
24
- # adds a new dock with a ring progress bar
25
- progress = gui.add_dock().add_widget("RingProgressBar")
26
- # customize the size of the ring
27
- progress.set_line_width(20)
28
- ```
29
-
30
- By default, the Ring Progress Bar widget will display a single ring. To add more rings, use the add_ring method:
31
-
32
- ```python
33
- # adds a new dock with a ring progress bar
34
- progress.add_ring()
35
- ```
36
-
37
- To access rings and specify their properties, you can use `progress.rings` with an index specifying the ring index (
38
- starting from 0):
39
-
40
- ```python
41
- progress.rings[0].set_line_width(20) # set the width of the first ring
42
- progress.rings[1].set_line_width(10) # set the width of the second ring
43
- ```
44
-
45
- By default, the `RingProgressBar` widget is set with `progress.enable_auto_update(True)`, which will automatically
46
- update the bars in the widget. To manually set updates for each progress bar, use the set_update method. Note that
47
- manually updating a ring will disable the automatic update for the whole widget:
48
-
49
- ```python
50
- progress.rings[0].set_update("scan") # set the update of the first ring to be an overall scan progress
51
- progress.rings[1].set_update("device",
52
- "samx") # set the update of the second ring to be a device readback (in this case, samx)
53
- ```
54
-
@@ -1,35 +0,0 @@
1
- (user.widgets.scan_control)=
2
-
3
- # Scan Control
4
-
5
- **Purpose:**
6
-
7
- The `ScanControl` widget is designed to generate a graphical user interface (GUI) to control various scan operations
8
- based on the scan's signature and `gui_config`. The widget is used to control the scan operations, such as starting,
9
- stopping, and pausing the scan. The widget also provides a graphical representation of the scan progress and the scan
10
- status. The widget is designed to be used in conjunction with the `ScanServer` and `ScanBundler` services from the BEC
11
- core services.
12
-
13
- By default the widget supports only the scans which have defined `gui_config` and are inhereted from these scan classes:
14
-
15
- - [ScanBase](https://beamline-experiment-control.readthedocs.io/en/latest/api_reference/_autosummary/bec_server.scan_server.scans.ScanBase.html)
16
- - [SyncFlyScanBase](https://beamline-experiment-control.readthedocs.io/en/latest/api_reference/_autosummary/bec_server.scan_server.scans.SyncFlyScanBase.html)
17
- - [AsyncFlyScanBase](https://beamline-experiment-control.readthedocs.io/en/latest/api_reference/_autosummary/bec_server.scan_server.scans.AsyncFlyScanBase.html)
18
-
19
- **Key Features:**
20
-
21
- - Automatically generates a control interface based on scan signatures and `gui_config`.
22
- - Supports adding and removing argument bundles dynamically.
23
- - Provides a visual representation of scan parameters grouped by functionality.
24
- - Integrates start and stop controls for executing and halting scans.
25
-
26
- **Example of Use:**
27
-
28
- **Code example:**
29
- The following code snipped demonstrates how to create a `ScanControl` widget using BEC Widgets within `BECIPythonClient`
30
-
31
- ![ScanControl](./scan_control.gif)
32
-
33
- ```python
34
- scan_control = gui.add_dock().add_widget("ScanControl")
35
- ```
@@ -1,33 +0,0 @@
1
- (user.widgets.text_box)=
2
- # [Text Box Widget](/api_reference/_autosummary/bec_widgets.cli.client.TextBox)
3
- **Purpose:**
4
-
5
- The Text Box Widget is a widget that allows you to display text within the BEC GUI. The widget can be used to display plain text or HTML text.
6
-
7
- **Key Features:**
8
-
9
- - set the text to display.
10
- - automatically detects if the text is plain text or HTML text.
11
- - set background color and font color.
12
-
13
- **Code example:**
14
-
15
- The following code snipped demonstrates how to create a `TextBox` widget using BEC Widgets within BEC.
16
- ```python
17
- text_box = gui.add_dock().add_widget("TextBox")
18
- # set the text to display
19
- text_box.set_text("Hello, World!")
20
- # set the background color and font color
21
- text_box.set_color(backgroud_color="#FFF", font_color="#000")
22
- # set the text to display as HTML
23
- text_box.set_text("<h1>Welcome to BEC Widgets</h1><p>This is an example of displaying <strong>HTML</strong> text.</p>")
24
- ```
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
@@ -1,21 +0,0 @@
1
- (user.widgets.website)=
2
- # [Website Widget](/api_reference/_autosummary/bec_widgets.cli.client.WebsiteWidget)
3
- **Purpose:**
4
-
5
- The Website Widget is a widget that allows you to display a website within the BEC GUI. The widget can be used to display any website.
6
-
7
- **Key Features:**
8
-
9
- - set the URL of the website to display.
10
- - reload the website.
11
- - navigate back and forward in the website history.
12
-
13
- **Code example:**
14
-
15
- The following code snipped demonstrates how to create a `WebsiteWidget` using BEC Widgets within BEC.
16
- ```python
17
- # adds a new dock with a website widget
18
- web = gui.add_dock().add_widget("Website")
19
- # set the URL of the website to display
20
- web.set_url("https://bec.readthedocs.io/en/latest/")
21
- ```
File without changes
File without changes