bec-widgets 0.56.1__py3-none-any.whl → 0.56.2__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 (33) hide show
  1. CHANGELOG.md +17 -18
  2. PKG-INFO +1 -1
  3. bec_widgets/cli/client.py +20 -0
  4. bec_widgets/widgets/dock/dock.py +6 -2
  5. bec_widgets/widgets/dock/dock_area.py +8 -3
  6. bec_widgets/widgets/figure/figure.py +1 -1
  7. bec_widgets/widgets/spiral_progress_bar/ring.py +2 -2
  8. bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py +1 -2
  9. {bec_widgets-0.56.1.dist-info → bec_widgets-0.56.2.dist-info}/METADATA +1 -1
  10. {bec_widgets-0.56.1.dist-info → bec_widgets-0.56.2.dist-info}/RECORD +33 -23
  11. docs/_static/custom.css +170 -0
  12. docs/{developer/reference.md → api_reference/api_reference.md} +3 -1
  13. docs/assets/apps_48dp.svg +1 -0
  14. docs/assets/display_settings_48dp.svg +1 -0
  15. docs/assets/index_api.svg +97 -0
  16. docs/assets/index_contribute.svg +76 -0
  17. docs/assets/index_getting_started.svg +66 -0
  18. docs/assets/index_user_guide.svg +67 -0
  19. docs/assets/rocket_launch_48dp.svg +1 -0
  20. docs/conf.py +3 -3
  21. docs/developer/developer.md +0 -8
  22. docs/index.md +39 -8
  23. docs/user/api_reference/api_reference.md +11 -0
  24. docs/user/{apps.md → applications/applications.md} +1 -1
  25. docs/user/getting_started/getting_started.md +12 -0
  26. docs/user/{installation.md → getting_started/installation.md} +1 -1
  27. docs/user/user.md +51 -22
  28. docs/user/{widgets.md → widgets/widgets.md} +3 -3
  29. pyproject.toml +1 -1
  30. tests/end-2-end/test_bec_dock_rpc_e2e.py +5 -5
  31. tests/unit_tests/test_spiral_progress_bar.py +5 -5
  32. {bec_widgets-0.56.1.dist-info → bec_widgets-0.56.2.dist-info}/WHEEL +0 -0
  33. {bec_widgets-0.56.1.dist-info → bec_widgets-0.56.2.dist-info}/licenses/LICENSE +0 -0
CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
 
4
4
 
5
+ ## v0.56.2 (2024-06-05)
6
+
7
+ ### Documentation
8
+
9
+ * docs: restructured docs layout ([`3c9181d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3c9181d93d68faa4efb3b91c486ca9ca935975a0))
10
+
11
+ ### Fix
12
+
13
+ * fix(bar): ring saves current value in config ([`9648e3e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9648e3ea96a4109be6be694d855151ed6d3ad661))
14
+
15
+ * fix(dock): dock saves configs of all children widgets ([`4be756a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/4be756a8676421c3a3451458995232407295df84))
16
+
17
+ * fix(dock_area): save/restore state is saved in config ([`46face0`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/46face0ee59122f04cb383da685a6658beeeb389))
18
+
19
+ * fix(figure): added correct types of configs to subplot widgets ([`6f3b1ea`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6f3b1ea985c18929b9bab54239eeb600f03b274a))
20
+
21
+
5
22
  ## v0.56.1 (2024-06-04)
6
23
 
7
24
  ### Fix
@@ -150,10 +167,6 @@
150
167
 
151
168
  * build(cli): changed repo name to bec_widgets ([`799ea55`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/799ea554de9a7f3720d100be4886a63f02c6a390))
152
169
 
153
- * build(setup): fakeredis added to dev env ([`df32350`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/df323504fea024a97304d96c2e39e61450714069))
154
-
155
- * build(setup): PyQt6 version is set to 6.7 ([`0ab8aa3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0ab8aa3a2fe51b5c38b25fca44c1c422bb42478d))
156
-
157
170
  ### Ci
158
171
 
159
172
  * ci: added rule for parent-child pipelines ([`e085125`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e0851250eecb85503db929d37f75d2ba366308a6))
@@ -161,17 +174,3 @@
161
174
  ### Feature
162
175
 
163
176
  * feat(utils): added plugin helper to find and load ([`5ece269`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/5ece269adb0e9b0c2a468f1dfbaa6212e86d3561))
164
-
165
-
166
- ## v0.50.2 (2024-04-30)
167
-
168
- ### Fix
169
-
170
- * fix: 'disconnect_slot' has to be symmetric with 'connect_slot' regarding QtThreadSafeCallback ([`0dfcaa4`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0dfcaa4b708948af0a40ec7cf34d03ff1e96ffac))
171
-
172
-
173
- ## v0.50.1 (2024-04-29)
174
-
175
- ### Fix
176
-
177
- * fix(cli): BECFigure takes the port to connect to redis from the current BECClient, supporting plugins ([`57cb136`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/57cb136a098e87a452414bf44e627edb562f6799))
PKG-INFO CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.56.1
3
+ Version: 0.56.2
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
bec_widgets/cli/client.py CHANGED
@@ -1410,6 +1410,16 @@ class BECMotorMap(RPCBase):
1410
1410
 
1411
1411
 
1412
1412
  class BECDock(RPCBase):
1413
+ @property
1414
+ @rpc_call
1415
+ def config_dict(self) -> "dict":
1416
+ """
1417
+ Get the configuration of the widget.
1418
+
1419
+ Returns:
1420
+ dict: The configuration of the widget.
1421
+ """
1422
+
1413
1423
  @property
1414
1424
  @rpc_call
1415
1425
  def rpc_id(self) -> "str":
@@ -1528,6 +1538,16 @@ class BECDock(RPCBase):
1528
1538
 
1529
1539
 
1530
1540
  class BECDockArea(RPCBase, BECGuiClientMixin):
1541
+ @property
1542
+ @rpc_call
1543
+ def config_dict(self) -> "dict":
1544
+ """
1545
+ Get the configuration of the widget.
1546
+
1547
+ Returns:
1548
+ dict: The configuration of the widget.
1549
+ """
1550
+
1531
1551
  @property
1532
1552
  @rpc_call
1533
1553
  def panels(self) -> "dict":
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING, Literal, Optional
3
+ from typing import TYPE_CHECKING, Any, Literal, Optional
4
4
 
5
5
  from pydantic import Field
6
6
  from pyqtgraph.dockarea import Dock
@@ -15,7 +15,7 @@ if TYPE_CHECKING:
15
15
 
16
16
 
17
17
  class DockConfig(ConnectionConfig):
18
- widgets: dict[str, ConnectionConfig] = Field({}, description="The widgets in the dock.")
18
+ widgets: dict[str, Any] = Field({}, description="The widgets in the dock.")
19
19
  position: Literal["bottom", "top", "left", "right", "above", "below"] = Field(
20
20
  "bottom", description="The position of the dock."
21
21
  )
@@ -26,6 +26,7 @@ class DockConfig(ConnectionConfig):
26
26
 
27
27
  class BECDock(BECConnector, Dock):
28
28
  USER_ACCESS = [
29
+ "config_dict",
29
30
  "rpc_id",
30
31
  "widget_list",
31
32
  "show_title_bar",
@@ -179,6 +180,7 @@ class BECDock(BECConnector, Dock):
179
180
 
180
181
  widget = RPCWidgetHandler.create_widget(widget_type)
181
182
  self.addWidget(widget, row=row, col=col, rowspan=rowspan, colspan=colspan)
183
+ self.config.widgets[widget.gui_id] = widget.config
182
184
 
183
185
  return widget
184
186
 
@@ -209,6 +211,7 @@ class BECDock(BECConnector, Dock):
209
211
  self.layout_manager.shift_widgets(shift, start_row=row)
210
212
 
211
213
  self.addWidget(widget, row=row, col=col, rowspan=rowspan, colspan=colspan)
214
+ self.config.widgets[widget.gui_id] = widget.config
212
215
 
213
216
  def move_widget(self, widget: QWidget, new_row: int, new_col: int):
214
217
  """
@@ -242,6 +245,7 @@ class BECDock(BECConnector, Dock):
242
245
  """
243
246
  widget = self.rpc_register.get_rpc_by_id(widget_rpc_id)
244
247
  self.layout.removeWidget(widget)
248
+ self.config.widgets.pop(widget_rpc_id, None)
245
249
  widget.close()
246
250
 
247
251
  def remove(self):
@@ -16,10 +16,14 @@ from .dock import BECDock, DockConfig
16
16
 
17
17
  class DockAreaConfig(ConnectionConfig):
18
18
  docks: dict[str, DockConfig] = Field({}, description="The docks in the dock area.")
19
+ docks_state: Optional[dict] = Field(
20
+ None, description="The state of the docks in the dock area."
21
+ )
19
22
 
20
23
 
21
24
  class BECDockArea(BECConnector, DockArea):
22
25
  USER_ACCESS = [
26
+ "config_dict",
23
27
  "panels",
24
28
  "save_state",
25
29
  "remove_dock",
@@ -81,7 +85,7 @@ class BECDockArea(BECConnector, DockArea):
81
85
  extra(str): Extra docks that are in the dockarea but that are not mentioned in state will be added to the bottom of the dockarea, unless otherwise specified by the extra argument.
82
86
  """
83
87
  if state is None:
84
- state = self._last_state
88
+ state = self.config.docks_state
85
89
  self.restoreState(state, missing=missing, extra=extra)
86
90
 
87
91
  def save_state(self) -> dict:
@@ -91,8 +95,9 @@ class BECDockArea(BECConnector, DockArea):
91
95
  Returns:
92
96
  dict: The state of the dock area.
93
97
  """
94
- self._last_state = self.saveState()
95
- return self._last_state
98
+ last_state = self.saveState()
99
+ self.config.docks_state = last_state
100
+ return last_state
96
101
 
97
102
  def remove_dock(self, name: str):
98
103
  """
@@ -26,7 +26,7 @@ class FigureConfig(ConnectionConfig):
26
26
  theme: Literal["dark", "light"] = Field("dark", description="The theme of the figure widget.")
27
27
  num_cols: int = Field(1, description="The number of columns in the figure widget.")
28
28
  num_rows: int = Field(1, description="The number of rows in the figure widget.")
29
- widgets: dict[str, SubplotConfig] = Field(
29
+ widgets: dict[str, Waveform1DConfig | ImageConfig | MotorMapConfig | SubplotConfig] = Field(
30
30
  {}, description="The list of widgets to be added to the figure widget."
31
31
  )
32
32
 
@@ -36,6 +36,7 @@ class RingConnections(BaseModel):
36
36
 
37
37
 
38
38
  class RingConfig(ConnectionConfig):
39
+ value: int | float | None = Field(0, description="Value for the progress bars.")
39
40
  direction: int | None = Field(
40
41
  -1, description="Direction of the progress bars. -1 for clockwise, 1 for counter-clockwise."
41
42
  )
@@ -102,7 +103,6 @@ class Ring(BECConnector):
102
103
  self.background_color = None
103
104
  self.start_position = None
104
105
  self.config = config
105
- self.value = 0
106
106
  self.RID = None
107
107
  self._init_config_params()
108
108
 
@@ -114,7 +114,7 @@ class Ring(BECConnector):
114
114
  self.set_connections(self.config.connections.slot, self.config.connections.endpoint)
115
115
 
116
116
  def set_value(self, value: int | float):
117
- self.value = round(
117
+ self.config.value = round(
118
118
  max(self.config.min_value, min(self.config.max_value, value)), self.config.precision
119
119
  )
120
120
 
@@ -115,7 +115,6 @@ class SpiralProgressBar(BECConnector, QWidget):
115
115
  self.entry_validator = EntryValidator(self.dev)
116
116
 
117
117
  self.RID = None
118
- self.values = None
119
118
 
120
119
  # For updating bar behaviour
121
120
  self._auto_updates = True
@@ -544,7 +543,7 @@ class SpiralProgressBar(BECConnector, QWidget):
544
543
  pen = QtGui.QPen(ring.color, ring.config.line_width, QtCore.Qt.SolidLine)
545
544
  pen.setCapStyle(QtCore.Qt.RoundCap)
546
545
  painter.setPen(pen)
547
- proportion = (ring.value - ring.config.min_value) / (
546
+ proportion = (ring.config.value - ring.config.min_value) / (
548
547
  (ring.config.max_value - ring.config.min_value) + 1e-3
549
548
  )
550
549
  angle = int(proportion * 360 * 16 * ring.config.direction)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.56.1
3
+ Version: 0.56.2
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
@@ -2,11 +2,11 @@
2
2
  .gitlab-ci.yml,sha256=14teoIFfOHkepa-_tW9nAxSF3sjdWnRMFLfu2yooR5s,12236
3
3
  .pylintrc,sha256=OstrgmEyP0smNFBKoIN5_26-UmNZgMHnbjvAWX0UrLs,18535
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=hZS8WkcyftWivZY--uu9Batq5Ig6ntZL856PUpZc2d4,7040
5
+ CHANGELOG.md,sha256=Dlbe1lzOU3UKOPM1DoQGLtyP1ujMmmOlJwmHaj34Sl8,7082
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=4rY1pWoAcOkokzBNWFTqvh8_74Dz7kdoz-j57_wuvn8,1135
7
+ PKG-INFO,sha256=4xqyCIK1rFhZFj-yomxD4tuLq6qzwkBaMBOZcswJgIM,1135
8
8
  README.md,sha256=y4jB6wvArS7N8_iTbKWnSM_oRAqLA2GqgzUR-FMh5sU,2645
9
- pyproject.toml,sha256=FfsH75R3b_wXYFyNh22RBMlAabKycZ7JpBrm3_fvsGo,1803
9
+ pyproject.toml,sha256=gPO0n84KHnJqOMohCjHJo8LvpNSAtUfsTcED4tcQnzU,1803
10
10
  .git_hooks/pre-commit,sha256=n3RofIZHJl8zfJJIUomcMyYGFi_rwq4CC19z0snz3FI,286
11
11
  .gitlab/issue_templates/bug_report_template.md,sha256=gAuyEwl7XlnebBrkiJ9AqffSNOywmr8vygUFWKTuQeI,386
12
12
  .gitlab/issue_templates/documentation_update_template.md,sha256=FHLdb3TS_D9aL4CYZCjyXSulbaW5mrN2CmwTaeLPbNw,860
@@ -17,7 +17,7 @@ bec_widgets/assets/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3i
17
17
  bec_widgets/assets/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
18
18
  bec_widgets/cli/__init__.py,sha256=v5oaQMydRVEaqKNI73A3_AbQ0efXxBt2SLoUBKANrV8,301
19
19
  bec_widgets/cli/auto_updates.py,sha256=ptZeBKr13o9THc8oKLn93K_16i6G3pxzw8hZ4MUgjW4,3845
20
- bec_widgets/cli/client.py,sha256=kg4hnEM6B1-V_i8qsypjZ1r45aTJTA9hz4VfjWlbYSE,52501
20
+ bec_widgets/cli/client.py,sha256=tQIaQcNnOkF3M-Ym4_U7vMwpYWgVPEGAJY4ibnlPLgM,52909
21
21
  bec_widgets/cli/client_utils.py,sha256=IPWfseFBYFjCmBp4LsXyNUOcV5KTTdiW1jsLvG3jF5A,10536
22
22
  bec_widgets/cli/generate_cli.py,sha256=tBt-F4Xccg9Pj2zuDEGHd0Ho1fKLfCf3PuSa8KmelQk,4431
23
23
  bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
@@ -48,10 +48,10 @@ bec_widgets/utils/widget_io.py,sha256=f36198CvT_EzWQ_cg2G-4tRRsaMdJ3yVqsZWKJCQEf
48
48
  bec_widgets/utils/yaml_dialog.py,sha256=cMVif-39SB9WjwGH5FWBJcFs4tnfFJFs5cacydRyhy0,1853
49
49
  bec_widgets/widgets/__init__.py,sha256=LKgIuY3CI-NHCa_bY9pThYhxLH0MHDo8iNEJDDVIVmw,172
50
50
  bec_widgets/widgets/dock/__init__.py,sha256=B7foHt02gnhM7mFksa7GJVwT7n0j_JvYDCt6wc6XR5g,61
51
- bec_widgets/widgets/dock/dock.py,sha256=vnOQnOWWnd-3X07kniSW_I5l0uEHZOaWhfuqZkDGIqE,8467
52
- bec_widgets/widgets/dock/dock_area.py,sha256=UaI5Z-c9C16lhTbXmEVzfl55Y8ymKSk4sPWGleIsUVY,7182
51
+ bec_widgets/widgets/dock/dock.py,sha256=fUb8VTYU2yS5N5KOUf1X1m_F1kpDullX3m71llRbBP8,8653
52
+ bec_widgets/widgets/dock/dock_area.py,sha256=8E-rBZxM7pE423jPaXMRKb1YGlAR9oAQvJubNDpemSI,7361
53
53
  bec_widgets/widgets/figure/__init__.py,sha256=3hGx_KOV7QHCYAV06aNuUgKq4QIYCjUTad-DrwkUaBM,44
54
- bec_widgets/widgets/figure/figure.py,sha256=MbnG6d738aYgNiFuOFHgyaGre0eVLA8OdSg-Xx7XIYU,29712
54
+ bec_widgets/widgets/figure/figure.py,sha256=OzeKZme89JnzMcKT1sACnyw951EtRoSUALl58upY6b4,29762
55
55
  bec_widgets/widgets/figure/plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  bec_widgets/widgets/figure/plots/plot_base.py,sha256=oNUXEe94bD0_fVu-HPMRaoAuwPMW0DOAN8vvOeRz254,8513
57
57
  bec_widgets/widgets/figure/plots/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -80,32 +80,42 @@ bec_widgets/widgets/motor_control/selection/selection.ui,sha256=vXXpvNWuL6xyHhW7
80
80
  bec_widgets/widgets/scan_control/__init__.py,sha256=IOfHl15vxb_uC6KN62-PeUzbBha_vQyqkkXbJ2HU674,38
81
81
  bec_widgets/widgets/scan_control/scan_control.py,sha256=B5n2U2iVtTCY3Tx93JyBqzGCDCmWhWwAOhbPelLI-bs,17168
82
82
  bec_widgets/widgets/spiral_progress_bar/__init__.py,sha256=4efbtcqCToMIw5bkQrTzy2TzuBCXvlhuUPh1bYC_Yzg,51
83
- bec_widgets/widgets/spiral_progress_bar/ring.py,sha256=WLz0OVvyRfeJnTKS6_0Lqh-V4P7G64vuzAcOO18QU9A,7008
84
- bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py,sha256=Geev5PwJUsYgzoY0a-fx6ZmBOptKTPeJa_Mp8Ouh0fY,22563
83
+ bec_widgets/widgets/spiral_progress_bar/ring.py,sha256=_wUIZOZ_UZaI3U9-s-VS5v-yv5NBPB991WoXunNr1jI,7077
84
+ bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py,sha256=AjQsZDEqPlTn0kE4xkYKOj2ae5vJ9gW-k3yz1Y32vsY,22543
85
85
  bec_widgets/widgets/toolbar/__init__.py,sha256=d-TP4_cr_VbpwreMM4ePnfZ5YXsEPQ45ibEf75nuGoE,36
86
86
  bec_widgets/widgets/toolbar/toolbar.py,sha256=e0zCD_0q7K4NVhrzD8001Qvfxt-VhqHTgofchS9NgCM,5125
87
87
  docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
88
- docs/conf.py,sha256=pASMheaNEMnHl91PHQWUW0uu3OqXByYnDeSrlrVAUeI,2474
89
- docs/index.md,sha256=6HrqaPXb5uUPEtM2gZaVUi1wM1kUYmdC2aIFpmItzZ0,453
88
+ docs/conf.py,sha256=HxLxupNGu0Smhwn57g1kFdjZzFuaWVREgRJKhT1zi2k,2464
89
+ docs/index.md,sha256=8ZCgaLIbJsYvt-jwi--QxsNwnK4-k3rejIeOOLclG40,1101
90
90
  docs/make.bat,sha256=vKazJE8RW49Cy8K7hm8QYbletvAd8YkeKsaPA_dWnXs,800
91
91
  docs/requirements.txt,sha256=SbcWrLYX6tEZNMCUETgsE50Y7VioR1VX6YCeifuJWEc,140
92
+ docs/_static/custom.css,sha256=v4Nk7r8LZslhOV8RaSUb15bG4miwiZ4-kZyXBLnSyms,13487
92
93
  docs/_templates/custom-class-template.rst,sha256=HPuPaGJob2zXlWOl5FmA-hAZRbUTGQmdqo3HS1iIFog,711
93
94
  docs/_templates/custom-module-template.rst,sha256=MXYXAz06HP_mbblO--iFwL08xROmSBo7U4O-hPbMcZU,1228
94
- docs/developer/developer.md,sha256=xJvO-EAf-9SqDARRnqFLRd8k_o258U97V0DmvgZKMos,477
95
- docs/developer/reference.md,sha256=P0uuBwSWuDhbXifSbyDKJRkDhb1_nETckTTnt12-A4g,150
95
+ docs/api_reference/api_reference.md,sha256=D2l5H4fd50uc55ShTFS0JhtDYCma01dIX69oHKN-K2w,167
96
+ docs/assets/apps_48dp.svg,sha256=9lJkkEQi-thzy_bXeFKyqJLaohmlTzAZJ1Lccw585jg,292
97
+ docs/assets/display_settings_48dp.svg,sha256=-K7ZhJdpt7jZA8NSIGVIhMOm0fK18rWHnwlli5pn6qs,568
98
+ docs/assets/index_api.svg,sha256=CeYPwqYps-ygfwA6_frNER4wV3Q7EGoW-ltlRaCOOpM,3519
99
+ docs/assets/index_contribute.svg,sha256=OCjvYBw_JhcY_D5Zd7f1MctQvq1YNalYlqPNwB1XBhs,2528
100
+ docs/assets/index_getting_started.svg,sha256=Www1OXmauYlouZD51AR6-VG2vxrEig8-jjuDPhzkNxc,3977
101
+ docs/assets/index_user_guide.svg,sha256=sRjKwOHVJStBYIQUFVcnfmbeXd2qAp0HYjleSp66XCI,6429
102
+ docs/assets/rocket_launch_48dp.svg,sha256=pdrPrBcKWUa5OlgWKM0B6TA6qAW7E57d7C7YW2r1OT8,1070
103
+ docs/developer/developer.md,sha256=7Z6sfkk_7BgwZ2vaX4z5_cJrs0miyeAYSGpqMbyBmOI,415
96
104
  docs/introduction/introduction.md,sha256=wp7jmhkUtJnSnEnmIAZGUcau_3-5e5-FohvZb63khw4,1432
97
- docs/user/apps.md,sha256=qD-thmWqP9-m_Jq6peZCDhCXNJO-8TUIt4DWUQI3Dg4,139
98
105
  docs/user/customisation.md,sha256=Og0NuUsTs8HdwKtpHnycGmH8wCqOeYgj2ozlYRJ-Drk,249
99
- docs/user/installation.md,sha256=8eotL5UQALR8z5aZ5fiJuR3yJOldg2S91ngvn2VVp7I,1233
100
- docs/user/user.md,sha256=e5WKSginne0HMP7KpqmYEqBtHsPUgw36Egwrq3YUnpg,1997
101
- docs/user/widgets.md,sha256=viEb7_nqXKcnJT3HqWvq9d2MKRtuwORf58xCquwUWOo,1903
106
+ docs/user/user.md,sha256=uCTcjclIi6rdjYRQebko6bWFEVsjyfshsVU3BDYrC-Y,1403
107
+ docs/user/api_reference/api_reference.md,sha256=q2Imc48Rq6GcAP0R4bS3KuW5ptZZdsV4wxGJb3JJQHg,174
108
+ docs/user/applications/applications.md,sha256=hs8WKVuxBENV2Q7m4wN8wmSI_B3JBYrSYS1IYdbyoWg,147
109
+ docs/user/getting_started/getting_started.md,sha256=BagVhtCSoLgYlVaaYOep3KT5r_8DjtQKYj2g-PoU7uw,346
110
+ docs/user/getting_started/installation.md,sha256=Rt7O2VI5LRrrRpru1YSb8KAd92znFhHJFs7vhpmHIXQ,1239
102
111
  docs/user/widgets/motor.gif,sha256=FtaWdRHx4UZaGJPpq8LNhMMgX4PFcAB6IZ93JCMEh_w,2280719
103
112
  docs/user/widgets/scatter_2D.gif,sha256=yHpsuAUseMafJjI_J5BcOhmE3nu9VFn_Xm9XHzJaH5I,13188862
104
113
  docs/user/widgets/w1D.gif,sha256=tuHbleJpl6bJFNNC2OdndF5LF7IyfvlkFCMGZajrQPs,622773
114
+ docs/user/widgets/widgets.md,sha256=vIfilXMyE1iPQMQXGH8wEjXWsFI6GPI0Cn9VQg5lLwI,1879
105
115
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
116
  tests/end-2-end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
117
  tests/end-2-end/conftest.py,sha256=b5Yebbj8C1-IcXq23XGbOnXF0kOZD_Po46Z-p4cBwfs,1346
108
- tests/end-2-end/test_bec_dock_rpc_e2e.py,sha256=PAEKKf2iRcwzBs5v_Egrbpd_zn-KYHV_hH1xj8Tqi2w,7582
118
+ tests/end-2-end/test_bec_dock_rpc_e2e.py,sha256=GIROuIBctS-_D8RvxeF35uQPt7tKk4wpVnaWV0w-Ni8,7617
109
119
  tests/end-2-end/test_bec_figure_rpc_e2e.py,sha256=X8lQLx2NsB6-nU61IhVtAw1-pJ4A2qFgx5PxOWC0V7Q,5527
110
120
  tests/end-2-end/test_rpc_register_e2e.py,sha256=M7sSq3us2yQIW5tAIFOFfBULatZTQNLdt0frh1bINts,1595
111
121
  tests/unit_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -123,7 +133,7 @@ tests/unit_tests/test_motor_control.py,sha256=NBekcGALo5mYkuyBJvBhvJkWiQDV82hI4G
123
133
  tests/unit_tests/test_plot_base.py,sha256=bOdlgAxh9oKk5PwiQ_MSFmzr44uJ61Tlg242RCIhl5c,2610
124
134
  tests/unit_tests/test_rpc_register.py,sha256=hECjZEimd440mwRrO0rg7L3PKN7__3DgjmESN6wx3bo,1179
125
135
  tests/unit_tests/test_scan_control.py,sha256=7dtGpE0g4FqUhhQeCkyJl-9o7NH3DFZJgEaqDmBYbBc,7551
126
- tests/unit_tests/test_spiral_progress_bar.py,sha256=NY-zFt_fQ-_4_J2Paql8VdqJ-mozOFYZrZ-Y3iKNYcA,12383
136
+ tests/unit_tests/test_spiral_progress_bar.py,sha256=yak3N9-TmEM3lQZPSROL4cAx9mior__se1XADlMScks,12418
127
137
  tests/unit_tests/test_waveform1d.py,sha256=Xi9TdZmxoMmmje37lq03FG9lytEdZCTUEjtOC0LvZjA,15263
128
138
  tests/unit_tests/test_widget_io.py,sha256=FeL3ZYSBQnRt6jxj8VGYw1cmcicRQyHKleahw7XIyR0,3475
129
139
  tests/unit_tests/test_yaml_dialog.py,sha256=HNrqferkdg02-9ieOhhI2mr2Qvt7GrYgXmQ061YCTbg,5794
@@ -132,7 +142,7 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
132
142
  tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
133
143
  tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
144
  tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
135
- bec_widgets-0.56.1.dist-info/METADATA,sha256=4rY1pWoAcOkokzBNWFTqvh8_74Dz7kdoz-j57_wuvn8,1135
136
- bec_widgets-0.56.1.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
137
- bec_widgets-0.56.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
138
- bec_widgets-0.56.1.dist-info/RECORD,,
145
+ bec_widgets-0.56.2.dist-info/METADATA,sha256=4xqyCIK1rFhZFj-yomxD4tuLq6qzwkBaMBOZcswJgIM,1135
146
+ bec_widgets-0.56.2.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
147
+ bec_widgets-0.56.2.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
148
+ bec_widgets-0.56.2.dist-info/RECORD,,
@@ -0,0 +1,170 @@
1
+ /* Template Inherited from SciPy and modified for PyQtGraph purposes
2
+ https://github.com/scipy/scipy/blob/9ae8fd0f4341d7d8785777d460cca4f7b6a93edd/doc/source/_static/scipy.css
3
+ SPDX-License-Identifier: BSD-3-Clause */
4
+
5
+ /* Remove parenthesis around module using fictive font and add them back.
6
+ This is needed for better wrapping in the sidebar. */
7
+ .bd-sidebar .nav li > a > code {
8
+ white-space: nowrap;
9
+ }
10
+
11
+ .bd-sidebar .nav li > a > code:before {
12
+ content:'(';
13
+ }
14
+
15
+ .bd-sidebar .nav li > a > code:after {
16
+ content:')';
17
+ }
18
+
19
+ .bd-sidebar .nav li > a {
20
+ font-family: "no-parens", sans-serif;
21
+ }
22
+
23
+ /* Retrieved from https://codepen.io/jonneal/pen/bXLEdB (MIT)
24
+ It replaces (, ) with a zero-width font. This version is lighter than
25
+ the original font from Adobe.
26
+ */
27
+ @font-face {
28
+ font-family: no-parens;
29
+ src: url("data:application/x-font-woff;base64,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");
30
+ unicode-range: U+0028, U+0029;
31
+ }
32
+
33
+ /* Colors from:
34
+
35
+ Wong, B. Points of view: Color blindness.
36
+ Nat Methods 8, 441 (2011). https://doi.org/10.1038/nmeth.1618
37
+ */
38
+
39
+ /* If the active version has the name "dev", style it orange */
40
+ #version_switcher_button[data-active-version-name*="dev"] {
41
+ background-color: #E69F00;
42
+ border-color: #E69F00;
43
+ color: white;
44
+ }
45
+
46
+ /* green for `stable` */
47
+ #version_switcher_button[data-active-version-name*="stable"] {
48
+ background-color: #009E73;
49
+ border-color: #009E73;
50
+ color: white;
51
+ }
52
+
53
+ /* red for `old` */
54
+ #version_switcher_button:not([data-active-version-name*="stable"]):not([data-active-version-name*="dev"]):not([data-active-version-name*="pull"]) {
55
+ background-color: #980F0F;
56
+ border-color: #980F0F;
57
+ color: white;
58
+ }
59
+
60
+ /* Main index page overview cards */
61
+
62
+ .sd-card {
63
+ background: #fff;
64
+ border-radius: 0;
65
+ padding: 30px 10px 20px 10px;
66
+ margin: 10px 0px;
67
+ }
68
+
69
+ .sd-card .sd-card-header {
70
+ text-align: center;
71
+ }
72
+
73
+ .sd-card .sd-card-header .sd-card-text {
74
+ margin: 0px;
75
+ }
76
+
77
+ .sd-card .sd-card-img-top {
78
+ height: 52px;
79
+ width: 52px;
80
+ margin-left: auto;
81
+ margin-right: auto;
82
+ }
83
+
84
+ .sd-card .sd-card-header {
85
+ border: none;
86
+ background-color:white;
87
+ color: #150458 !important;
88
+ font-size: var(--pst-font-size-h5);
89
+ font-weight: bold;
90
+ padding: 2.5rem 0rem 0.5rem 0rem;
91
+ border-bottom: none !important;
92
+ }
93
+
94
+ .sd-card .sd-card-footer {
95
+ border: none;
96
+ background-color:white;
97
+ border-top: none !important;
98
+ }
99
+
100
+ .sd-card .sd-card-footer .sd-card-text{
101
+ max-width: 220px;
102
+ margin-left: auto;
103
+ margin-right: auto;
104
+ }
105
+
106
+ .custom-button {
107
+ background-color:#DCDCDC;
108
+ border: none;
109
+ color: #484848;
110
+ text-align: center;
111
+ text-decoration: none;
112
+ display: inline-block;
113
+ font-size: 0.9rem;
114
+ border-radius: 0.5rem;
115
+ max-width: 120px;
116
+ padding: 0.5rem 0rem;
117
+ }
118
+
119
+ .custom-button a {
120
+ color: #484848;
121
+ }
122
+
123
+ .custom-button p {
124
+ margin-top: 0;
125
+ margin-bottom: 0rem;
126
+ color: #484848;
127
+ }
128
+
129
+ /* Dark theme tweaking
130
+
131
+ Matplotlib images are in png and inverted while other output
132
+ types are assumed to be normal images.
133
+
134
+ */
135
+ html[data-theme=dark] img[src*='.svg']:not(.only-dark):not(.dark-light) {
136
+ filter: brightness(0.8) invert(0.82) contrast(1.2);
137
+ background: unset
138
+ }
139
+
140
+ html[data-theme=dark] .MathJax_SVG * {
141
+ fill: var(--pst-color-text-base);
142
+ }
143
+
144
+ /* Main index page overview cards */
145
+
146
+ html[data-theme=dark] .sd-card {
147
+ background-color:var(--pst-color-background);
148
+ border: none
149
+ }
150
+
151
+ html[data-theme=dark] .sd-shadow-sm {
152
+ box-shadow: 0 .1rem 0.5rem rgba(250, 250, 250, .2) !important
153
+ }
154
+
155
+ html[data-theme=dark] .sd-card .sd-card-header {
156
+ background-color:var(--pst-color-background);
157
+ color: #150458 !important;
158
+ }
159
+
160
+ html[data-theme=dark] .sd-card .sd-card-footer {
161
+ background-color:var(--pst-color-background);
162
+ }
163
+
164
+ /*
165
+ Hide TypeAlias Classes
166
+ */
167
+
168
+ dt#ColorMapSpecifier {
169
+ visibility: hidden;
170
+ }
@@ -1,4 +1,5 @@
1
- ## API Reference
1
+ (api_reference)=
2
+ # API Reference
2
3
 
3
4
  ```{eval-rst}
4
5
  .. autosummary::
@@ -7,4 +8,5 @@
7
8
  :recursive:
8
9
 
9
10
  bec_widgets
11
+
10
12
  ```
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 20 20" height="48px" viewBox="0 0 20 20" width="48px" fill="#000000"><g><rect fill="none" height="20" width="20" x="0"/></g><g><g><path d="M16.5,3h-13C2.67,3,2,3.67,2,4.5v9C2,14.33,2.67,15,3.5,15H7v2h6v-2h3.5c0.83,0,1.5-0.67,1.5-1.5v-9 C18,3.67,17.33,3,16.5,3z M16.5,13.5h-13v-9h13V13.5z"/><rect height="1" width="7" x="5" y="7"/><polygon points="14,8 15,8 15,7 14,7 14,6 13,6 13,9 14,9"/><rect height="1" width="7" x="8" y="10"/><polygon points="6,12 7,12 7,9 6,9 6,10 5,10 5,11 6,11"/></g></g></svg>
@@ -0,0 +1,97 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="99.058548mm"
13
+ height="89.967583mm"
14
+ viewBox="0 0 99.058554 89.967582"
15
+ version="1.1"
16
+ id="svg1040"
17
+ inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
18
+ sodipodi:docname="index_api.svg">
19
+ <defs
20
+ id="defs1034" />
21
+ <sodipodi:namedview
22
+ id="base"
23
+ pagecolor="#ffffff"
24
+ bordercolor="#666666"
25
+ borderopacity="1.0"
26
+ inkscape:pageopacity="0.0"
27
+ inkscape:pageshadow="2"
28
+ inkscape:zoom="0.35"
29
+ inkscape:cx="533.74914"
30
+ inkscape:cy="10.90433"
31
+ inkscape:document-units="mm"
32
+ inkscape:current-layer="layer1"
33
+ showgrid="false"
34
+ fit-margin-top="0"
35
+ fit-margin-left="0"
36
+ fit-margin-right="0"
37
+ fit-margin-bottom="0"
38
+ inkscape:window-width="930"
39
+ inkscape:window-height="472"
40
+ inkscape:window-x="2349"
41
+ inkscape:window-y="267"
42
+ inkscape:window-maximized="0" />
43
+ <metadata
44
+ id="metadata1037">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:format>image/svg+xml</dc:format>
49
+ <dc:type
50
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51
+ <dc:title></dc:title>
52
+ </cc:Work>
53
+ </rdf:RDF>
54
+ </metadata>
55
+ <g
56
+ inkscape:label="Layer 1"
57
+ inkscape:groupmode="layer"
58
+ id="layer1"
59
+ transform="translate(195.19933,-1.0492759)">
60
+ <g
61
+ id="g1008"
62
+ transform="matrix(1.094977,0,0,1.094977,-521.5523,-198.34055)">
63
+ <path
64
+ inkscape:connector-curvature="0"
65
+ id="path899"
66
+ d="M 324.96812,187.09499 H 303.0455 v 72.1639 h 22.67969"
67
+ style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
68
+ <path
69
+ inkscape:connector-curvature="0"
70
+ id="path899-3"
71
+ d="m 361.58921,187.09499 h 21.92262 v 72.1639 h -22.67969"
72
+ style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
73
+ <g
74
+ transform="translate(415.87139,46.162126)"
75
+ id="g944">
76
+ <circle
77
+ style="fill:#5a5a5a;fill-opacity:1;stroke:#5a5a5a;stroke-width:4.53704548;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
78
+ id="path918"
79
+ cx="-84.40152"
80
+ cy="189.84375"
81
+ r="2.2293637" />
82
+ <circle
83
+ style="fill:#5a5a5a;fill-opacity:1;stroke:#5a5a5a;stroke-width:4.53704548;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
84
+ id="path918-5"
85
+ cx="-72.949402"
86
+ cy="189.84375"
87
+ r="2.2293637" />
88
+ <circle
89
+ style="fill:#5a5a5a;fill-opacity:1;stroke:#5a5a5a;stroke-width:4.53704548;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
90
+ id="path918-6"
91
+ cx="-61.497284"
92
+ cy="189.84375"
93
+ r="2.2293637" />
94
+ </g>
95
+ </g>
96
+ </g>
97
+ </svg>
@@ -0,0 +1,76 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="89.624855mm"
13
+ height="89.96759mm"
14
+ viewBox="0 0 89.62486 89.96759"
15
+ version="1.1"
16
+ id="svg1040"
17
+ inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
18
+ sodipodi:docname="index_contribute.svg">
19
+ <defs
20
+ id="defs1034" />
21
+ <sodipodi:namedview
22
+ id="base"
23
+ pagecolor="#ffffff"
24
+ bordercolor="#666666"
25
+ borderopacity="1.0"
26
+ inkscape:pageopacity="0.0"
27
+ inkscape:pageshadow="2"
28
+ inkscape:zoom="0.35"
29
+ inkscape:cx="683.11893"
30
+ inkscape:cy="-59.078181"
31
+ inkscape:document-units="mm"
32
+ inkscape:current-layer="layer1"
33
+ showgrid="false"
34
+ fit-margin-top="0"
35
+ fit-margin-left="0"
36
+ fit-margin-right="0"
37
+ fit-margin-bottom="0"
38
+ inkscape:window-width="930"
39
+ inkscape:window-height="472"
40
+ inkscape:window-x="2349"
41
+ inkscape:window-y="267"
42
+ inkscape:window-maximized="0" />
43
+ <metadata
44
+ id="metadata1037">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:format>image/svg+xml</dc:format>
49
+ <dc:type
50
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51
+ <dc:title></dc:title>
52
+ </cc:Work>
53
+ </rdf:RDF>
54
+ </metadata>
55
+ <g
56
+ inkscape:label="Layer 1"
57
+ inkscape:groupmode="layer"
58
+ id="layer1"
59
+ transform="translate(234.72009,17.466935)">
60
+ <g
61
+ id="g875"
62
+ transform="matrix(0.99300176,0,0,0.99300176,-133.24106,-172.58804)">
63
+ <path
64
+ sodipodi:nodetypes="ccc"
65
+ inkscape:connector-curvature="0"
66
+ id="path869"
67
+ d="m -97.139881,161.26069 47.247024,40.25446 -47.247024,40.25446"
68
+ style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
69
+ <path
70
+ inkscape:connector-curvature="0"
71
+ id="path871"
72
+ d="m -49.514879,241.81547 h 32.505951"
73
+ style="fill:none;stroke:#5a5a5a;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
74
+ </g>
75
+ </g>
76
+ </svg>
@@ -0,0 +1,66 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="101.09389mm"
13
+ height="89.96759mm"
14
+ viewBox="0 0 101.09389 89.96759"
15
+ version="1.1"
16
+ id="svg1040"
17
+ inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
18
+ sodipodi:docname="index_getting_started.svg">
19
+ <defs
20
+ id="defs1034" />
21
+ <sodipodi:namedview
22
+ id="base"
23
+ pagecolor="#ffffff"
24
+ bordercolor="#666666"
25
+ borderopacity="1.0"
26
+ inkscape:pageopacity="0.0"
27
+ inkscape:pageshadow="2"
28
+ inkscape:zoom="0.35"
29
+ inkscape:cx="-93.242129"
30
+ inkscape:cy="-189.9825"
31
+ inkscape:document-units="mm"
32
+ inkscape:current-layer="layer1"
33
+ showgrid="false"
34
+ fit-margin-top="0"
35
+ fit-margin-left="0"
36
+ fit-margin-right="0"
37
+ fit-margin-bottom="0"
38
+ inkscape:window-width="1875"
39
+ inkscape:window-height="1056"
40
+ inkscape:window-x="1965"
41
+ inkscape:window-y="0"
42
+ inkscape:window-maximized="1" />
43
+ <metadata
44
+ id="metadata1037">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:format>image/svg+xml</dc:format>
49
+ <dc:type
50
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51
+ <dc:title></dc:title>
52
+ </cc:Work>
53
+ </rdf:RDF>
54
+ </metadata>
55
+ <g
56
+ inkscape:label="Layer 1"
57
+ inkscape:groupmode="layer"
58
+ id="layer1"
59
+ transform="translate(2.9219487,-8.5995374)">
60
+ <path
61
+ style="fill:#5a5a5a;fill-opacity:1;stroke-width:0.20233451"
62
+ d="M 37.270955,98.335591 C 33.358064,97.07991 31.237736,92.52319 32.964256,89.08022 c 0.18139,-0.361738 4.757999,-5.096629 10.17021,-10.521968 l 9.84041,-9.864254 -4.03738,-4.041175 -4.037391,-4.041172 -4.96415,4.916665 c -3.61569,3.581096 -5.238959,5.04997 -5.975818,5.407377 l -1.011682,0.490718 H 17.267525 1.5866055 L 0.65034544,70.96512 C -2.2506745,69.535833 -3.5952145,66.18561 -2.5925745,62.884631 c 0.53525,-1.762217 1.61699004,-3.050074 3.22528014,-3.839847 l 1.15623996,-0.56778 13.2591094,-0.05613 13.259111,-0.05613 11.5262,-11.527539 11.526199,-11.527528 H 40.622647 c -12.145542,0 -12.189222,-0.0046 -13.752801,-1.445851 -2.229871,-2.055423 -2.162799,-5.970551 0.135998,-7.938238 1.475193,-1.262712 1.111351,-1.238469 18.588522,-1.238469 12.899229,0 16.035311,0.05193 16.692589,0.276494 0.641832,0.219264 2.590731,2.051402 9.416301,8.852134 l 8.606941,8.575638 h 6.848168 c 4.837422,0 7.092281,0.07311 7.679571,0.249094 0.48064,0.144008 1.22985,0.634863 1.77578,1.163429 2.383085,2.307333 1.968685,6.539886 -0.804989,8.221882 -0.571871,0.346781 -1.38284,0.687226 -1.80217,0.756523 -0.41933,0.06928 -4.2741,0.127016 -8.56615,0.128238 -6.56998,0.0016 -7.977492,-0.04901 -8.902732,-0.321921 -0.975569,-0.287742 -1.400468,-0.622236 -3.783999,-2.978832 l -2.685021,-2.654679 -5.05411,5.051071 -5.0541,5.051081 3.926292,3.947202 c 2.365399,2.378001 4.114289,4.309171 4.399158,4.857713 0.39266,0.75606 0.47311,1.219412 0.474321,2.731516 0.003,3.083647 0.620779,2.331942 -13.598011,16.531349 -10.273768,10.259761 -12.679778,12.563171 -13.500979,12.92519 -1.267042,0.55857 -3.156169,0.681342 -4.390271,0.285321 z m 40.130741,-65.45839 c -2.212909,-0.579748 -3.782711,-1.498393 -5.51275,-3.226063 -2.522111,-2.518633 -3.633121,-5.181304 -3.633121,-8.707194 0,-3.530699 1.11238,-6.197124 3.631161,-8.704043 4.866751,-4.8438383 12.324781,-4.8550953 17.211791,-0.026 3.908758,3.862461 4.818578,9.377999 2.372188,14.380771 -0.846209,1.730481 -3.39493,4.326384 -5.143839,5.239072 -2.69708,1.407492 -6.042829,1.798628 -8.92543,1.043434 z"
63
+ id="path1000"
64
+ inkscape:connector-curvature="0" />
65
+ </g>
66
+ </svg>
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="123.72241mm"
13
+ height="89.96759mm"
14
+ viewBox="0 0 123.72242 89.96759"
15
+ version="1.1"
16
+ id="svg1040"
17
+ inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
18
+ sodipodi:docname="index_userguide.svg">
19
+ <defs
20
+ id="defs1034" />
21
+ <sodipodi:namedview
22
+ id="base"
23
+ pagecolor="#ffffff"
24
+ bordercolor="#666666"
25
+ borderopacity="1.0"
26
+ inkscape:pageopacity="0.0"
27
+ inkscape:pageshadow="2"
28
+ inkscape:zoom="0.35"
29
+ inkscape:cx="332.26618"
30
+ inkscape:cy="83.744004"
31
+ inkscape:document-units="mm"
32
+ inkscape:current-layer="layer1"
33
+ showgrid="false"
34
+ fit-margin-top="0"
35
+ fit-margin-left="0"
36
+ fit-margin-right="0"
37
+ fit-margin-bottom="0"
38
+ inkscape:window-width="930"
39
+ inkscape:window-height="472"
40
+ inkscape:window-x="2349"
41
+ inkscape:window-y="267"
42
+ inkscape:window-maximized="0" />
43
+ <metadata
44
+ id="metadata1037">
45
+ <rdf:RDF>
46
+ <cc:Work
47
+ rdf:about="">
48
+ <dc:format>image/svg+xml</dc:format>
49
+ <dc:type
50
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51
+ <dc:title></dc:title>
52
+ </cc:Work>
53
+ </rdf:RDF>
54
+ </metadata>
55
+ <g
56
+ inkscape:label="Layer 1"
57
+ inkscape:groupmode="layer"
58
+ id="layer1"
59
+ transform="translate(141.8903,-20.32143)">
60
+ <path
61
+ style="fill:#5a5a5a;fill-opacity:1;stroke-width:0.20483544"
62
+ d="m -139.53374,110.1657 c -0.80428,-0.24884 -1.71513,-1.11296 -2.07107,-1.96486 -0.23905,-0.57214 -0.28453,-6.28104 -0.28453,-35.720988 0,-38.274546 -0.079,-35.840728 1.19849,-36.91568 0.58869,-0.495345 4.63766,-2.187548 8.47998,-3.544073 l 1.58749,-0.560453 v -3.309822 c 0,-3.025538 0.0396,-3.388179 0.46086,-4.222122 0.68808,-1.362003 1.38671,-1.714455 4.60319,-2.322195 4.12797,-0.779966 5.13304,-0.912766 8.81544,-1.16476 11.80964,-0.808168 22.80911,2.509277 30.965439,9.3392 1.750401,1.465747 3.840861,3.5635 5.0903,5.108065 l 0.659122,0.814805 0.659109,-0.814805 c 1.249431,-1.544565 3.33988,-3.642318 5.09029,-5.108065 8.156331,-6.829923 19.155791,-10.147368 30.965441,-9.3392 3.682389,0.251994 4.68748,0.384794 8.81544,1.16476 3.21647,0.60774 3.91511,0.960192 4.60318,2.322195 0.4213,0.833943 0.46087,1.196584 0.46087,4.222122 v 3.309822 l 1.58748,0.560453 c 4.10165,1.448077 7.98852,3.072753 8.5259,3.563743 1.22643,1.120567 1.15258,-1.245868 1.15258,36.927177 0,34.567591 -0.005,35.083151 -0.40663,35.903991 -0.22365,0.45804 -0.73729,1.05665 -1.14143,1.33024 -1.22281,0.82783 -2.17721,0.70485 -5.86813,-0.7561 -9.19595,-3.63998 -18.956011,-6.38443 -26.791332,-7.53353 -3.02827,-0.44412 -9.26189,-0.61543 -11.77821,-0.3237 -5.19357,0.60212 -8.736108,2.05527 -11.700039,4.79936 -0.684501,0.63371 -1.466141,1.23646 -1.736979,1.33942 -0.63859,0.2428 -4.236521,0.2428 -4.875112,0 -0.27083,-0.10296 -1.05247,-0.70571 -1.73696,-1.33942 -2.96395,-2.74409 -6.50648,-4.19724 -11.700058,-4.79936 -2.516312,-0.29173 -8.749941,-0.12042 -11.778201,0.3237 -7.78194,1.14127 -17.39965,3.83907 -26.73341,7.49883 -3.38325,1.32658 -4.15525,1.50926 -5.11851,1.21125 z m 4.2107,-5.34052 c 5.86759,-2.29858 14.40398,-4.922695 20.2018,-6.210065 6.31584,-1.402418 8.5236,-1.646248 14.91592,-1.647338 4.68699,-7.94e-4 6.013661,0.0632 7.257809,0.3497 0.837332,0.19286 1.561052,0.312028 1.60828,0.264819 0.147111,-0.147119 -1.803289,-1.307431 -4.154879,-2.471801 -8.12511,-4.023029 -18.27311,-4.986568 -29.0861,-2.761718 -1.09536,0.22538 -2.32708,0.40827 -2.73715,0.406418 -1.12787,-0.005 -2.3054,-0.76382 -2.84516,-1.8332 l -0.46086,-0.913098 V 62.99179 35.97471 l -0.56331,0.138329 c -0.30981,0.07608 -1.89985,0.665075 -3.5334,1.308881 -2.27551,0.896801 -2.96414,1.252878 -2.94452,1.522563 0.014,0.193604 0.0372,15.284513 0.0512,33.535345 0.014,18.250839 0.0538,33.183322 0.0884,33.183322 0.0346,0 1.02543,-0.3771 2.20198,-0.83801 z m 113.006991,-32.697216 -0.0518,-33.535203 -3.17495,-1.272156 c -1.74623,-0.699685 -3.33627,-1.278755 -3.53341,-1.286819 -0.33966,-0.01389 -0.35847,1.401778 -0.35847,26.980216 v 26.994863 l -0.46087,0.913112 c -0.53976,1.06939 -1.71729,1.828088 -2.84515,1.833189 -0.41008,0.0021 -1.6418,-0.181031 -2.73716,-0.406421 -11.888201,-2.446089 -22.84337,-1.046438 -31.491022,4.02332 -1.68175,0.985941 -2.216748,1.467501 -1.36534,1.228942 1.575181,-0.441362 4.990592,-0.73864 8.524862,-0.742011 5.954408,-0.005 11.43046,0.791951 19.10874,2.78333 3.9516,1.024874 12.1555,3.687454 15.6699,5.085704 1.23926,0.49306 2.36869,0.90517 2.50985,0.9158 0.20489,0.0155 0.2462,-6.745894 0.20483,-33.515866 z m -59.76135,-2.233777 V 40.065438 l -0.95972,-1.357442 c -1.380522,-1.952627 -5.376262,-5.847994 -7.64336,-7.45136 -3.778692,-2.672401 -9.063392,-4.943324 -13.672511,-5.875304 -3.19731,-0.646503 -5.23069,-0.833103 -9.05886,-0.831312 -4.37716,0.0021 -7.70223,0.349169 -11.83461,1.235469 l -1.07538,0.230645 v 31.242342 c 0,26.565778 0.0426,31.226011 0.28429,31.133261 0.15637,-0.06 1.42379,-0.297169 2.81648,-0.527026 12.37657,-2.042634 23.21658,-0.346861 32.521639,5.087596 2.10018,1.226558 5.20202,3.618878 6.880942,5.30692 0.788609,0.792909 1.502978,1.446609 1.587468,1.452679 0.0845,0.006 0.153622,-13.411893 0.153622,-29.817719 z m 5.80221,28.3766 c 6.21476,-6.141601 15.08488,-10.061509 25.025529,-11.05933 4.262419,-0.427849 11.579921,-0.0054 16.017661,0.924912 0.75932,0.15916 1.45259,0.244888 1.54058,0.190498 0.088,-0.05434 0.16003,-14.060382 0.16003,-31.124436 V 26.176883 l -0.52136,-0.198219 c -0.66893,-0.254325 -4.77649,-0.95482 -7.159981,-1.221048 -2.41372,-0.269605 -8.559851,-0.266589 -10.759229,0.0052 -6.458111,0.798299 -12.584091,3.083792 -17.405651,6.49374 -2.267091,1.603366 -6.262831,5.498733 -7.64336,7.45136 l -0.959721,1.357438 v 29.828747 c 0,16.405812 0.0532,29.828746 0.11802,29.828746 0.065,0 0.77928,-0.65347 1.587482,-1.452149 z"
63
+ id="path845"
64
+ inkscape:connector-curvature="0"
65
+ sodipodi:nodetypes="csscccscsssscsssssscscsccsccsccscsscccccccscccccccccsccscscscccscccsccssccsscccscccccsccccsccscsccsscc" />
66
+ </g>
67
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 20 20" height="48px" viewBox="0 0 20 20" width="48px" fill="#000000"><g><rect fill="none" height="20" width="20" x="0"/></g><g><g><path d="M14.45,10.86l0.26,2.1c0.06,0.46-0.1,0.92-0.43,1.25l-3.55,3.55l-1.41-4.24l-2.83-2.83L2.25,9.27l3.55-3.55 c0.33-0.33,0.79-0.49,1.25-0.43l2.1,0.26C13.92,0.78,17.8,2.2,17.8,2.2C17.8,2.2,19.22,6.08,14.45,10.86z M10.2,6.62 C9.18,7.64,8.37,9.06,7.9,9.97l2.12,2.12c0.91-0.46,2.34-1.27,3.36-2.3C16.18,7,16.54,4.67,16.5,3.5C15.33,3.46,13,3.82,10.2,6.62 z M14,7.5C14,6.68,13.32,6,12.5,6C11.67,6,11,6.68,11,7.5S11.67,9,12.5,9C13.32,9,14,8.33,14,7.5z M7.99,6.92L6.86,6.78L5.02,8.61 l1.62,0.54C6.97,8.52,7.43,7.71,7.99,6.92z M10.85,13.36l0.54,1.62l1.83-1.83l-0.14-1.14C12.29,12.57,11.48,13.03,10.85,13.36z M5.25,12.5c-0.62,0-1.18,0.25-1.59,0.66C2.44,14.38,2,18,2,18s3.62-0.44,4.84-1.66c0.41-0.41,0.66-0.97,0.66-1.59 C7.5,13.51,6.49,12.5,5.25,12.5z M5.78,15.28c-0.44,0.44-1.87,0.81-1.87,0.81s0.37-1.43,0.81-1.87c0.29-0.29,0.77-0.29,1.06,0 S6.07,14.99,5.78,15.28z"/></g></g></svg>
docs/conf.py CHANGED
@@ -64,6 +64,7 @@ add_module_names = False # Remove namespaces from class/method signatures
64
64
  autodoc_inherit_docstrings = True # If no docstring, inherit from base class
65
65
  set_type_checking_flag = True # Enable 'expensive' imports for sphinx_autodoc_typehints
66
66
  autoclass_content = "both" # Include both class docstring and __init__
67
+ autodoc_mock_imports = ["pyqtgraph"]
67
68
 
68
69
  # Add any paths that contain templates here, relative to this directory.
69
70
  templates_path = ["_templates"]
@@ -76,6 +77,5 @@ language = "Python"
76
77
 
77
78
  html_theme = "pydata_sphinx_theme"
78
79
  html_static_path = ["_static"]
79
- html_css_files = ["css/custom.css"]
80
- html_logo = "_static/bec.png"
81
- html_theme_options = {"show_nav_level": 1, "navbar_align": "content"}
80
+ html_css_files = ["custom.css"]
81
+ html_logo = "../bec_widgets/assets/bec_widgets_icon.png"
@@ -1,14 +1,6 @@
1
1
  (developer)=
2
2
  # Development
3
3
 
4
- ```{toctree}
5
- ---
6
- maxdepth: 1
7
- hidden: true
8
- ---
9
- reference/
10
- ```
11
-
12
4
  To contribute to the development of BEC Widgets, start by setting up the development environment:
13
5
 
14
6
  1. **Clone the Repository**:
docs/index.md CHANGED
@@ -1,39 +1,70 @@
1
1
  # BEC Widgets documentation
2
2
 
3
+ A flexible and extensible framework for building graphical user interfaces in Python, optimized for use in the BEC environment.
4
+
5
+ <br><br>
6
+
3
7
  <br><br>
4
8
 
5
- ````{grid} 3
9
+ ````{grid} 2
6
10
  :gutter: 5
7
11
 
8
- ```{grid-item-card} Introduction
12
+ ```{grid-item-card}
9
13
  :link: introduction
10
14
  :link-type: ref
15
+ :img-top: /assets/index_getting_started.svg
16
+ :text-align: center
17
+
18
+ ## Introduction
11
19
 
12
- General information.
20
+ General information about BEC Widgets.
13
21
  ```
14
22
 
15
- ```{grid-item-card} User
23
+ ```{grid-item-card}
16
24
  :link: user
17
25
  :link-type: ref
26
+ :img-top: /assets/index_user_guide.svg
27
+ :text-align: center
18
28
 
19
- Information for users.
29
+ ## User guide
30
+
31
+ Information for users of BEC Widgets.
20
32
  ```
21
33
 
22
- ```{grid-item-card} Developer
34
+ ```{grid-item-card}
23
35
  :link: developer
24
36
  :link-type: ref
37
+ :img-top: /assets/index_contribute.svg
38
+ :text-align: center
39
+
40
+ ## Developer guide
25
41
 
26
- Information for developers.
42
+ Information for developers of BEC Widgets.
27
43
  ```
44
+
45
+ ```{grid-item-card}
46
+ :link: api_reference
47
+ :link-type: ref
48
+ :img-top: /assets/index_api.svg
49
+ :text-align: center
50
+
51
+ ## API reference
52
+
53
+ Comprehensive reference of all BEC Widget classes, functions, and methods.
54
+ ```
55
+
28
56
  ````
29
57
 
30
58
 
31
59
  ```{toctree}
32
60
  ---
33
61
  numbered: true
34
- maxdepth: 1
62
+ maxdepth: 2
63
+ hidden: true
35
64
  ---
36
65
 
37
66
  introduction/introduction
38
67
  user/user
39
68
  developer/developer
69
+ api_reference/api_reference
70
+ ```
@@ -0,0 +1,11 @@
1
+ (user.api_reference)=
2
+ # User API Reference
3
+
4
+ ```{eval-rst}
5
+ .. autosummary::
6
+ :toctree: _autosummary
7
+ :template: custom-module-template.rst
8
+
9
+ bec_widgets.cli.client
10
+
11
+ ```
@@ -1,4 +1,4 @@
1
- (user.apps)=
1
+ (user.applications)=
2
2
  # Applications
3
3
 
4
4
  **Coming soon**
@@ -0,0 +1,12 @@
1
+ (user.getting_started)=
2
+ # Getting Started
3
+ This section provides a comprehensive guide to getting started with BEC Widgets. Whether you are new to BEC Widgets or looking to refresh your knowledge, this guide will help you set up and navigate the framework with ease.
4
+
5
+ ```{toctree}
6
+ ---
7
+ maxdepth: 2
8
+ hidden: true
9
+ ---
10
+
11
+ getting_started/installation
12
+ ```
@@ -14,7 +14,7 @@ Before installing BEC Widgets, please ensure the following requirements are met:
14
14
  Install BEC Widgets using the pip package manager. Open your terminal and execute:
15
15
 
16
16
  ```bash
17
- pip install bec_widgets
17
+ pip install bec_widgets PyQt6
18
18
  ```
19
19
 
20
20
  This command installs BEC Widgets along with its dependencies, including the default PyQt6.
docs/user/user.md CHANGED
@@ -1,38 +1,67 @@
1
1
  (user)=
2
2
  # User
3
+ Welcome to the User section of the BEC Widgets documentation! BEC Widgets is a versatile GUI framework tailored for beamline scientists, enabling efficient and intuitive interaction with beamline experiments. This section is designed to guide both new and experienced users through the essential aspects of utilizing BEC Widgets.
3
4
 
4
- **Overview**
5
+ ```{toctree}
6
+ ---
7
+ maxdepth: 2
8
+ hidden: true
9
+ ---
5
10
 
6
- Welcome to the User section of the BEC Widgets documentation! BEC Widgets is a versatile GUI framework tailored for beamline scientists, enabling efficient and intuitive interaction with beamline experiments. This section is designed to guide both new and experienced users through the essential aspects of utilizing BEC Widgets.
11
+ getting_started/getting_started.md
12
+ applications/applications.md
13
+ widgets/widgets.md
14
+ api_reference/api_reference.md
15
+ ```
7
16
 
8
- **Key Topics**
9
17
 
10
- - [Installing BEC Widgets](#user.installation): Instructions for installing BEC Widgets on your system.
18
+ ***
11
19
 
12
- - [Example Applications](#user.apps): Overview of bespoke applications and demonstrations of BEC Widgets in action, showcasing its use in real-world beamline scenarios.
20
+ ````{grid} 2
21
+ :gutter: 5
13
22
 
14
- - [Widgets Overview](#user.widgets): Detailed information on the variety of widgets available, their functions, and how to use them effectively.
23
+ ```{grid-item-card}
24
+ :link: user.getting_started
25
+ :link-type: ref
26
+ :img-top: /assets/rocket_launch_48dp.svg
27
+ :text-align: center
15
28
 
16
- - [Customization and Configuration](#user.customisation): Tips on customizing and configuring BEC Widgets to suit your specific experimental needs using Qt Designer.
29
+ ## Getting Started
17
30
 
18
- **Bug Reports and Feature Requests**
31
+ Learn how to install BEC Widgets and get started with the framework.
32
+ ```
19
33
 
20
- We value your feedback and contributions to improving BEC Widgets. If you encounter any issues or have ideas for new features, we encourage you to report them.
34
+ ```{grid-item-card}
35
+ :link: user.applications
36
+ :link-type: ref
37
+ :img-top: /assets/display_settings_48dp.svg
38
+ :text-align: center
21
39
 
22
- - **Bug Reports:** If you find a bug or an issue, please report it on our repository's [Issues page](https://gitlab.psi.ch/bec/bec-widgets/-/issues?sort=created_date&state=opened). We have a template for bug reporting to help you provide all necessary information.
23
- - **Feature Requests:** Have an idea for a new feature or an enhancement? Share it with us on the [Issues page](https://gitlab.psi.ch/bec/bec-widgets/-/issues?sort=created_date&state=opened) of our repository. We have a feature request template that you can use to describe your proposal.
40
+ ## Applications
24
41
 
25
- **Development**
42
+ Learn how to use BEC Widgets Applications, to modify and create new applications.
26
43
 
27
- For advanced details about BEC Widgets’ internal architecture, development contributions, or customization techniques, please explore the [Developer](#developer) section.
44
+ ```
28
45
 
29
- ```{toctree}
30
- ---
31
- maxdepth: 3
32
- hidden: true
33
- ---
46
+ ```{grid-item-card}
47
+ :link: user.widgets
48
+ :link-type: ref
49
+ :img-top: /assets/apps_48dp.svg
50
+ :text-align: center
51
+
52
+ ## Widgets
53
+
54
+ Learn about the building blocks of larger applications: widgets.
55
+ ```
56
+
57
+ ```{grid-item-card}
58
+ :link: user.api_reference
59
+ :link-type: ref
60
+ :img-top: /assets/index_api.svg
61
+ :text-align: center
62
+
63
+ ## API reference
34
64
 
35
- installation
36
- apps
37
- widgets
38
- customisation
65
+ Comprehensive reference of all user-facing classes, functions, and methods.
66
+ ```
67
+ ````
@@ -15,7 +15,7 @@ BEC Widgets includes a variety of visualization widgets designed to cater to div
15
15
  - Customizable visual elements such as line color and style.
16
16
 
17
17
  **Example of Use:**
18
- ![Waveform 1D](./widgets/w1D.gif)
18
+ ![Waveform 1D](./w1D.gif)
19
19
  ### 2D Scatter Plot
20
20
 
21
21
  **Purpose:** The 2D scatter plot widget is designed for more complex data visualization. It employs a false color map to represent a third dimension (z-axis), making it an ideal tool for visualizing multidimensional data sets.
@@ -27,7 +27,7 @@ BEC Widgets includes a variety of visualization widgets designed to cater to div
27
27
  - Tools for selecting and inspecting specific data points.
28
28
 
29
29
  **Example of Use:**
30
- ![Waveform 1D](./widgets/scatter_2D.gif)
30
+ ![Waveform 1D](./scatter_2D.gif)
31
31
  ### Motor Position Map
32
32
 
33
33
  **Purpose:** A specialized component derived from the Motor Alignment Tool. It's focused on tracking and visualizing the position of motors, crucial for precise alignment and movement tracking during scans.
@@ -38,4 +38,4 @@ BEC Widgets includes a variety of visualization widgets designed to cater to div
38
38
  - Ability to record and recall specific motor positions for repetitive tasks.
39
39
 
40
40
  **Example of Use:**
41
- ![Waveform 1D](./widgets/motor.gif)
41
+ ![Waveform 1D](./motor.gif)
pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "0.56.1"
7
+ version = "0.56.2"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -163,7 +163,7 @@ def test_spiral_bar(rpc_server_dock):
163
163
 
164
164
  expected_colors = Colors.golden_angle_color("viridis", 5, "RGB")
165
165
  bar_colors = [ring.color.getRgb() for ring in bar_server.rings]
166
- bar_values = [ring.value for ring in bar_server.rings]
166
+ bar_values = [ring.config.value for ring in bar_server.rings]
167
167
  assert bar_values == [10, 20, 30, 40, 50]
168
168
  assert bar_colors == expected_colors
169
169
 
@@ -188,7 +188,7 @@ def test_spiral_bar_scan_update(rpc_server_dock, qtbot):
188
188
  qtbot.wait(200)
189
189
  bar_server = dock_server.docks["dock_0"].widgets[0]
190
190
  assert bar_server.config.num_bars == 1
191
- np.testing.assert_allclose(bar_server.rings[0].value, 10, atol=0.1)
191
+ np.testing.assert_allclose(bar_server.rings[0].config.value, 10, atol=0.1)
192
192
  np.testing.assert_allclose(bar_server.rings[0].config.min_value, 0, atol=0.1)
193
193
  np.testing.assert_allclose(bar_server.rings[0].config.max_value, 10, atol=0.1)
194
194
 
@@ -199,7 +199,7 @@ def test_spiral_bar_scan_update(rpc_server_dock, qtbot):
199
199
 
200
200
  qtbot.wait(200)
201
201
  assert bar_server.config.num_bars == 1
202
- np.testing.assert_allclose(bar_server.rings[0].value, 16, atol=0.1)
202
+ np.testing.assert_allclose(bar_server.rings[0].config.value, 16, atol=0.1)
203
203
  np.testing.assert_allclose(bar_server.rings[0].config.min_value, 0, atol=0.1)
204
204
  np.testing.assert_allclose(bar_server.rings[0].config.max_value, 16, atol=0.1)
205
205
 
@@ -218,8 +218,8 @@ def test_spiral_bar_scan_update(rpc_server_dock, qtbot):
218
218
 
219
219
  qtbot.wait(200)
220
220
  assert bar_server.config.num_bars == 2
221
- np.testing.assert_allclose(bar_server.rings[0].value, final_samx, atol=0.1)
222
- np.testing.assert_allclose(bar_server.rings[1].value, final_samy, atol=0.1)
221
+ np.testing.assert_allclose(bar_server.rings[0].config.value, final_samx, atol=0.1)
222
+ np.testing.assert_allclose(bar_server.rings[1].config.value, final_samy, atol=0.1)
223
223
  np.testing.assert_allclose(bar_server.rings[0].config.min_value, init_samx, atol=0.1)
224
224
  np.testing.assert_allclose(bar_server.rings[1].config.min_value, init_samy, atol=0.1)
225
225
  np.testing.assert_allclose(bar_server.rings[0].config.max_value, final_samx, atol=0.1)
@@ -145,12 +145,12 @@ def test_bar_set_value(spiral_progress_bar):
145
145
  assert len(spiral_progress_bar.rings) == 5
146
146
 
147
147
  spiral_progress_bar.set_value([10, 20, 30, 40, 50])
148
- ring_values = [ring.value for ring in spiral_progress_bar.rings]
148
+ ring_values = [ring.config.value for ring in spiral_progress_bar.rings]
149
149
  assert ring_values == [10, 20, 30, 40, 50]
150
150
 
151
151
  # update just one bar
152
152
  spiral_progress_bar.set_value(90, 1)
153
- ring_values = [ring.value for ring in spiral_progress_bar.rings]
153
+ ring_values = [ring.config.value for ring in spiral_progress_bar.rings]
154
154
  assert ring_values == [10, 90, 30, 40, 50]
155
155
 
156
156
 
@@ -166,7 +166,7 @@ def test_bar_set_precision(spiral_progress_bar):
166
166
  assert ring_precision == [2, 2, 2]
167
167
 
168
168
  spiral_progress_bar.set_value([10.1234, 20.1234, 30.1234])
169
- ring_values = [ring.value for ring in spiral_progress_bar.rings]
169
+ ring_values = [ring.config.value for ring in spiral_progress_bar.rings]
170
170
  assert ring_values == [10.12, 20.12, 30.12]
171
171
 
172
172
  spiral_progress_bar.set_precision(4, 1)
@@ -174,7 +174,7 @@ def test_bar_set_precision(spiral_progress_bar):
174
174
  assert ring_precision == [2, 4, 2]
175
175
 
176
176
  spiral_progress_bar.set_value([10.1234, 20.1234, 30.1234])
177
- ring_values = [ring.value for ring in spiral_progress_bar.rings]
177
+ ring_values = [ring.config.value for ring in spiral_progress_bar.rings]
178
178
  assert ring_values == [10.12, 20.1234, 30.12]
179
179
 
180
180
 
@@ -189,7 +189,7 @@ def test_set_min_max_value(spiral_progress_bar):
189
189
  assert ring_max_values == [10, 10]
190
190
 
191
191
  spiral_progress_bar.set_value([5, 15])
192
- ring_values = [ring.value for ring in spiral_progress_bar.rings]
192
+ ring_values = [ring.config.value for ring in spiral_progress_bar.rings]
193
193
  assert ring_values == [5, 10]
194
194
 
195
195