bec-widgets 0.63.2__py3-none-any.whl → 0.64.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 (36) hide show
  1. .gitlab-ci.yml +34 -27
  2. CHANGELOG.md +36 -42
  3. PKG-INFO +1 -1
  4. bec_widgets/cli/client.py +39 -9
  5. bec_widgets/cli/generate_cli.py +2 -48
  6. bec_widgets/examples/jupyter_console/jupyter_console_window.py +1 -1
  7. bec_widgets/utils/plugin_utils.py +48 -0
  8. bec_widgets/widgets/__init__.py +5 -5
  9. bec_widgets/widgets/dock/dock.py +1 -1
  10. bec_widgets/widgets/figure/figure.py +6 -0
  11. bec_widgets/widgets/figure/plots/plot_base.py +62 -6
  12. bec_widgets/widgets/figure/plots/waveform/waveform.py +2 -0
  13. {bec_widgets-0.63.2.dist-info → bec_widgets-0.64.1.dist-info}/METADATA +1 -1
  14. {bec_widgets-0.63.2.dist-info → bec_widgets-0.64.1.dist-info}/RECORD +36 -32
  15. docs/developer/developer.md +38 -10
  16. docs/developer/getting_started/development.md +27 -0
  17. docs/developer/getting_started/getting_started.md +12 -0
  18. docs/developer/widgets/widgets.md +12 -0
  19. docs/user/customisation.md +2 -2
  20. docs/user/getting_started/installation.md +1 -1
  21. docs/user/widgets/buttons.md +1 -1
  22. docs/user/widgets/text_box.md +1 -1
  23. pyproject.toml +1 -1
  24. tests/end-2-end/conftest.py +2 -1
  25. tests/unit_tests/test_bec_dock.py +1 -1
  26. tests/unit_tests/test_bec_figure.py +1 -1
  27. tests/unit_tests/test_generate_cli_client.py +0 -14
  28. tests/unit_tests/test_plot_base.py +27 -0
  29. tests/unit_tests/test_plugin_utils.py +14 -0
  30. tests/unit_tests/test_scan_control.py +1 -1
  31. tests/unit_tests/test_spiral_progress_bar.py +1 -1
  32. tests/unit_tests/test_stop_button.py +1 -1
  33. tests/unit_tests/test_waveform1d.py +25 -9
  34. {bec_widgets-0.63.2.dist-info → bec_widgets-0.64.1.dist-info}/WHEEL +0 -0
  35. {bec_widgets-0.63.2.dist-info → bec_widgets-0.64.1.dist-info}/entry_points.txt +0 -0
  36. {bec_widgets-0.63.2.dist-info → bec_widgets-0.64.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
1
  # pylint: disable=missing-function-docstring, missing-module-docstring, unused-import
2
- from unittest.mock import MagicMock
2
+ from unittest import mock
3
3
 
4
4
  import numpy as np
5
5
  import pytest
@@ -56,8 +56,12 @@ def test_create_waveform1D_by_config(bec_figure):
56
56
  "col": 0,
57
57
  "axis": {
58
58
  "title": "Widget 1",
59
+ "title_size": None,
59
60
  "x_label": None,
61
+ "x_label_size": None,
60
62
  "y_label": None,
63
+ "y_label_size": None,
64
+ "legend_label_size": None,
61
65
  "x_scale": "linear",
62
66
  "y_scale": "linear",
63
67
  "x_lim": (1, 10),
@@ -193,6 +197,18 @@ def test_add_curve(bec_figure):
193
197
  assert c1.config.source == "scan_segment"
194
198
 
195
199
 
200
+ def test_change_legend_font_size(bec_figure):
201
+ plot = bec_figure.add_plot()
202
+
203
+ w1 = plot.add_curve_scan(x_name="samx", y_name="bpm4i")
204
+ my_func = plot.plot_item.legend
205
+ with mock.patch.object(my_func, "setScale") as mock_set_scale:
206
+ plot.set_legend_label_size(18)
207
+ assert plot.config.axis.legend_label_size == 18
208
+ assert mock_set_scale.call_count == 1
209
+ assert mock_set_scale.call_args == mock.call(2)
210
+
211
+
196
212
  def test_remove_curve(bec_figure):
197
213
  w1 = bec_figure.add_plot()
198
214
 
@@ -406,10 +422,10 @@ def test_scan_update(bec_figure, qtbot):
406
422
  "scan_id": 1,
407
423
  }
408
424
  # Mock scan_storage.find_scan_by_ID
409
- mock_scan_data_waveform = MagicMock()
425
+ mock_scan_data_waveform = mock.MagicMock()
410
426
  mock_scan_data_waveform.data = {
411
427
  device_name: {
412
- entry: MagicMock(val=[msg_waveform["data"][device_name][entry]["value"]])
428
+ entry: mock.MagicMock(val=[msg_waveform["data"][device_name][entry]["value"]])
413
429
  for entry in msg_waveform["data"][device_name]
414
430
  }
415
431
  for device_name in msg_waveform["data"]
@@ -430,12 +446,12 @@ def test_scan_history_with_val_access(bec_figure, qtbot):
430
446
  c1 = w1.add_curve_scan(x_name="samx", y_name="bpm4i")
431
447
 
432
448
  mock_scan_data = {
433
- "samx": {"samx": MagicMock(val=np.array([1, 2, 3]))}, # Use MagicMock for .val
434
- "bpm4i": {"bpm4i": MagicMock(val=np.array([4, 5, 6]))}, # Use MagicMock for .val
449
+ "samx": {"samx": mock.MagicMock(val=np.array([1, 2, 3]))}, # Use mock.MagicMock for .val
450
+ "bpm4i": {"bpm4i": mock.MagicMock(val=np.array([4, 5, 6]))}, # Use mock.MagicMock for .val
435
451
  }
436
452
 
437
- mock_scan_storage = MagicMock()
438
- mock_scan_storage.find_scan_by_ID.return_value = MagicMock(data=mock_scan_data)
453
+ mock_scan_storage = mock.MagicMock()
454
+ mock_scan_storage.find_scan_by_ID.return_value = mock.MagicMock(data=mock_scan_data)
439
455
  w1.queue.scan_storage = mock_scan_storage
440
456
 
441
457
  fake_scan_id = "fake_scan_id"
@@ -464,10 +480,10 @@ def test_scatter_2d_update(bec_figure, qtbot):
464
480
  }
465
481
  msg_metadata = {"scan_name": "line_scan"}
466
482
 
467
- mock_scan_data = MagicMock()
483
+ mock_scan_data = mock.MagicMock()
468
484
  mock_scan_data.data = {
469
485
  device_name: {
470
- entry: MagicMock(val=msg["data"][device_name][entry]["value"])
486
+ entry: mock.MagicMock(val=msg["data"][device_name][entry]["value"])
471
487
  for entry in msg["data"][device_name]
472
488
  }
473
489
  for device_name in msg["data"]