bec-widgets 1.2.0__py3-none-any.whl → 1.3.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.
CHANGELOG.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v1.3.1 (2024-10-31)
5
+
6
+ ### Bug Fixes
7
+
8
+ * fix(ophyd_kind_util): Kind enums are imported from the bec widget util class ([`940ee65`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/940ee6552c1ee8d9b4e4a74c62351f2e133ab678))
9
+
10
+
11
+ ## v1.3.0 (2024-10-30)
12
+
13
+ ### Bug Fixes
14
+
15
+ * fix(colors): extend color map validation for matplotlib and colorcet maps (if available) ([`14dd8c5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/14dd8c5b2947c92f6643b888d71975e4e8d4ee88))
16
+
17
+ ### Features
18
+
19
+ * feat(colormap_button): colormap button with menu to select colormap filtered by the colormap type ([`b039933`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b039933405e2fbe92bd81bd0748e79e8d443a741))
20
+
21
+
4
22
  ## v1.2.0 (2024-10-25)
5
23
 
6
24
  ### Features
@@ -152,20 +170,3 @@ complete UI ([`49268e3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/49268e38
152
170
  ### Bug Fixes
153
171
 
154
172
  * fix: make Alignment1D a MainWindow as it is an application ([`c5e9ed6`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/c5e9ed6e422acb908e1ada32822f5d7cc256ade7))
155
-
156
- * fix: adjust bec_qthemes dependency ([`b207e45`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b207e45a67818ee061272ce00a09fe7ea31cd1ba))
157
-
158
- ### Features
159
-
160
- * feat: add bec-app script to launch applications ([`8bf4842`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/8bf48427884338672a8e3de3deb20439b0bfdf99))
161
-
162
-
163
- ## v0.114.0 (2024-10-02)
164
-
165
- ### Bug Fixes
166
-
167
- * fix: prevent exception when empty string updates are coming from widget ([`04cfb1e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/04cfb1edf19437d54f07b868bcf3cfc2a35fd3bc))
168
-
169
- * fix: use new 'scan_axis' signal, to set_x and select x axis on waveform
170
-
171
- Fixes #361, do not try to change x axis when not permitted ([`efa2763`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/efa276358b0f5a45cce9fa84fa5f9aafaf4284f7))
PKG-INFO CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 1.2.0
3
+ Version: 1.3.1
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
@@ -16,6 +16,7 @@ class Widgets(str, enum.Enum):
16
16
  """
17
17
 
18
18
  AbortButton = "AbortButton"
19
+ BECColorMapWidget = "BECColorMapWidget"
19
20
  BECDock = "BECDock"
20
21
  BECDockArea = "BECDockArea"
21
22
  BECFigure = "BECFigure"
@@ -34,6 +35,7 @@ class Widgets(str, enum.Enum):
34
35
  PositionIndicator = "PositionIndicator"
35
36
  PositionerBox = "PositionerBox"
36
37
  PositionerControlLine = "PositionerControlLine"
38
+ PositionerGroup = "PositionerGroup"
37
39
  ResetButton = "ResetButton"
38
40
  ResumeButton = "ResumeButton"
39
41
  RingProgressBar = "RingProgressBar"
@@ -64,6 +66,15 @@ class AbortButton(RPCBase):
64
66
  """
65
67
 
66
68
 
69
+ class BECColorMapWidget(RPCBase):
70
+ @property
71
+ @rpc_call
72
+ def colormap(self):
73
+ """
74
+ Get the current colormap name.
75
+ """
76
+
77
+
67
78
  class BECCurve(RPCBase):
68
79
  @rpc_call
69
80
  def remove(self):
@@ -2690,6 +2701,16 @@ class PositionerControlLine(RPCBase):
2690
2701
  """
2691
2702
 
2692
2703
 
2704
+ class PositionerGroup(RPCBase):
2705
+ @rpc_call
2706
+ def set_positioners(self, device_names: "str"):
2707
+ """
2708
+ Redraw grid with positioners from device_names string
2709
+
2710
+ Device names must be separated by space
2711
+ """
2712
+
2713
+
2693
2714
  class ResetButton(RPCBase):
2694
2715
  @property
2695
2716
  @rpc_call
@@ -468,7 +468,7 @@ class Colors:
468
468
  return color
469
469
 
470
470
  @staticmethod
471
- def validate_color_map(color_map: str) -> str:
471
+ def validate_color_map(color_map: str, return_error: bool = True) -> str | bool:
472
472
  """
473
473
  Validate the colormap input if it is supported by pyqtgraph. Can be used in any pydantic model as a field validator. If validation fails it prints all available colormaps from pyqtgraph instance.
474
474
 
@@ -476,13 +476,24 @@ class Colors:
476
476
  color_map(str): The colormap to be validated.
477
477
 
478
478
  Returns:
479
- str: The validated colormap.
479
+ str: The validated colormap, if colormap is valid.
480
+ bool: False, if colormap is invalid.
481
+
482
+ Raises:
483
+ PydanticCustomError: If colormap is invalid.
480
484
  """
481
- available_colormaps = pg.colormap.listMaps()
485
+ available_pg_maps = pg.colormap.listMaps()
486
+ available_mpl_maps = pg.colormap.listMaps("matplotlib")
487
+ available_mpl_colorcet = pg.colormap.listMaps("colorcet")
488
+
489
+ available_colormaps = available_pg_maps + available_mpl_maps + available_mpl_colorcet
482
490
  if color_map not in available_colormaps:
483
- raise PydanticCustomError(
484
- "unsupported colormap",
485
- f"Colormap '{color_map}' not found in the current installation of pyqtgraph. Choose on the following: {available_colormaps}.",
486
- {"wrong_value": color_map},
487
- )
491
+ if return_error:
492
+ raise PydanticCustomError(
493
+ "unsupported colormap",
494
+ f"Colormap '{color_map}' not found in the current installation of pyqtgraph. Choose on the following: {available_colormaps}.",
495
+ {"wrong_value": color_map},
496
+ )
497
+ else:
498
+ return False
488
499
  return color_map
@@ -0,0 +1,26 @@
1
+ from enum import IntFlag
2
+
3
+ try:
4
+
5
+ from enum import KEEP
6
+
7
+ class IFBase(IntFlag, boundary=KEEP): ...
8
+
9
+ except ImportError:
10
+
11
+ IFBase = IntFlag
12
+
13
+
14
+ class Kind(IFBase):
15
+ """
16
+ This is used in the .kind attribute of all OphydObj (Signals, Devices).
17
+
18
+ A Device examines its components' .kind atttribute to decide whether to
19
+ traverse it in read(), read_configuration(), or neither. Additionally, if
20
+ decides whether to include its name in `hints['fields']`.
21
+ """
22
+
23
+ omitted = 0b000
24
+ normal = 0b001
25
+ config = 0b010
26
+ hinted = 0b101 # Notice that bool(hinted & normal) is True.
@@ -1,12 +1,12 @@
1
1
  from bec_lib.callback_handler import EventType
2
2
  from bec_lib.device import Signal
3
3
  from bec_lib.logger import bec_logger
4
- from ophyd import Kind
5
4
  from qtpy.QtCore import Property, Slot
6
5
 
7
6
  from bec_widgets.utils import ConnectionConfig
8
7
  from bec_widgets.utils.bec_widget import BECWidget
9
8
  from bec_widgets.utils.filter_io import FilterIO
9
+ from bec_widgets.utils.ophyd_kind_util import Kind
10
10
  from bec_widgets.utils.widget_io import WidgetIO
11
11
 
12
12
  logger = bec_logger.logger
File without changes
@@ -0,0 +1 @@
1
+ {'files': ['colormap_widget.py']}
@@ -0,0 +1,54 @@
1
+ # Copyright (C) 2022 The Qt Company Ltd.
2
+ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
+
4
+ from qtpy.QtDesigner import QDesignerCustomWidgetInterface
5
+
6
+ from bec_widgets.utils.bec_designer import designer_material_icon
7
+ from bec_widgets.widgets.colormap_widget.colormap_widget import BECColorMapWidget
8
+
9
+ DOM_XML = """
10
+ <ui language='c++'>
11
+ <widget class='BECColorMapWidget' name='bec_color_map_widget'>
12
+ </widget>
13
+ </ui>
14
+ """
15
+
16
+
17
+ class BECColorMapWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
18
+ def __init__(self):
19
+ super().__init__()
20
+ self._form_editor = None
21
+
22
+ def createWidget(self, parent):
23
+ t = BECColorMapWidget(parent)
24
+ return t
25
+
26
+ def domXml(self):
27
+ return DOM_XML
28
+
29
+ def group(self):
30
+ return "BEC Buttons"
31
+
32
+ def icon(self):
33
+ return designer_material_icon(BECColorMapWidget.ICON_NAME)
34
+
35
+ def includeFile(self):
36
+ return "bec_color_map_widget"
37
+
38
+ def initialize(self, form_editor):
39
+ self._form_editor = form_editor
40
+
41
+ def isContainer(self):
42
+ return False
43
+
44
+ def isInitialized(self):
45
+ return self._form_editor is not None
46
+
47
+ def name(self):
48
+ return "BECColorMapWidget"
49
+
50
+ def toolTip(self):
51
+ return "BECColorMapWidget"
52
+
53
+ def whatsThis(self):
54
+ return self.toolTip()
@@ -0,0 +1,73 @@
1
+ from pyqtgraph.widgets.ColorMapButton import ColorMapButton
2
+ from qtpy.QtCore import Property, Signal, Slot
3
+ from qtpy.QtWidgets import QSizePolicy, QVBoxLayout, QWidget
4
+
5
+ from bec_widgets.utils import Colors
6
+ from bec_widgets.utils.bec_widget import BECWidget
7
+
8
+
9
+ class BECColorMapWidget(BECWidget, QWidget):
10
+ colormap_changed_signal = Signal(str)
11
+ ICON_NAME = "palette"
12
+ USER_ACCESS = ["colormap"]
13
+
14
+ def __init__(self, parent=None, cmap: str = "magma"):
15
+ super().__init__()
16
+ QWidget.__init__(self, parent=parent)
17
+
18
+ # Create the ColorMapButton
19
+ self.button = ColorMapButton()
20
+
21
+ # Set the size policy and minimum width
22
+ size_policy = QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed)
23
+ self.button.setSizePolicy(size_policy)
24
+ self.button.setMinimumWidth(100)
25
+ self.button.setMinimumHeight(30)
26
+
27
+ # Create the layout
28
+ self.layout = QVBoxLayout(self)
29
+ self.layout.addWidget(self.button)
30
+ self.layout.setSpacing(0)
31
+ self.layout.setContentsMargins(0, 0, 0, 0)
32
+
33
+ # Set the initial colormap
34
+ self.button.setColorMap(cmap)
35
+ self._cmap = cmap
36
+
37
+ # Connect the signal
38
+ self.button.sigColorMapChanged.connect(self.colormap_changed)
39
+
40
+ @Property(str)
41
+ def colormap(self):
42
+ """Get the current colormap name."""
43
+ return self._cmap
44
+
45
+ @colormap.setter
46
+ def colormap(self, name):
47
+ """Set the colormap by name."""
48
+ if self._cmap != name:
49
+ if Colors.validate_color_map(name, return_error=False) is False:
50
+ return
51
+ self.button.setColorMap(name)
52
+ self._cmap = name
53
+ self.colormap_changed_signal.emit(name)
54
+
55
+ @Slot()
56
+ def colormap_changed(self):
57
+ """
58
+ Emit the colormap changed signal with the current colormap selected in the button.
59
+ """
60
+ cmap = self.button.colorMap().name
61
+ self._cmap = cmap
62
+ self.colormap_changed_signal.emit(cmap)
63
+
64
+
65
+ if __name__ == "__main__": # pragma: no cover
66
+ import sys
67
+
68
+ from qtpy.QtWidgets import QApplication
69
+
70
+ app = QApplication(sys.argv)
71
+ window = BECColorMapWidget()
72
+ window.show()
73
+ sys.exit(app.exec())
@@ -0,0 +1,17 @@
1
+ def main(): # pragma: no cover
2
+ from qtpy import PYSIDE6
3
+
4
+ if not PYSIDE6:
5
+ print("PYSIDE6 is not available in the environment. Cannot patch designer.")
6
+ return
7
+ from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
8
+
9
+ from bec_widgets.widgets.colormap_widget.bec_color_map_widget_plugin import (
10
+ BECColorMapWidgetPlugin,
11
+ )
12
+
13
+ QPyDesignerCustomWidgetCollection.addCustomWidget(BECColorMapWidgetPlugin())
14
+
15
+
16
+ if __name__ == "__main__": # pragma: no cover
17
+ main()
@@ -1,9 +1,9 @@
1
1
  from bec_lib.device import Positioner
2
- from ophyd import Kind
3
2
  from qtpy.QtCore import QSize, Signal, Slot
4
3
  from qtpy.QtWidgets import QComboBox, QSizePolicy
5
4
 
6
5
  from bec_widgets.utils.filter_io import ComboBoxFilterHandler, FilterIO
6
+ from bec_widgets.utils.ophyd_kind_util import Kind
7
7
  from bec_widgets.widgets.base_classes.device_signal_input_base import DeviceSignalInputBase
8
8
 
9
9
 
@@ -1,10 +1,10 @@
1
1
  from bec_lib.device import Positioner
2
- from ophyd import Kind
3
2
  from qtpy.QtCore import QSize, Signal, Slot
4
3
  from qtpy.QtGui import QPainter, QPaintEvent, QPen
5
4
  from qtpy.QtWidgets import QCompleter, QLineEdit, QSizePolicy
6
5
 
7
6
  from bec_widgets.utils.colors import get_accent_colors
7
+ from bec_widgets.utils.ophyd_kind_util import Kind
8
8
  from bec_widgets.widgets.base_classes.device_signal_input_base import DeviceSignalInputBase
9
9
 
10
10
 
@@ -53,7 +53,7 @@ class CurveSettings(SettingWidget):
53
53
  x_entry = self.target_widget.waveform._x_axis_mode["entry"]
54
54
  self._enable_ui_elements(x_name, x_entry)
55
55
  cm = self.target_widget.config.color_palette
56
- self.ui.color_map_selector_scan.combo.setCurrentText(cm)
56
+ self.ui.color_map_selector_scan.colormap = cm
57
57
 
58
58
  # Scan Curve Table
59
59
  for source in ["scan_segment", "async"]:
@@ -115,10 +115,10 @@ class CurveSettings(SettingWidget):
115
115
  @Slot()
116
116
  def change_colormap(self, target: Literal["scan", "dap"]):
117
117
  if target == "scan":
118
- cm = self.ui.color_map_selector_scan.combo.currentText()
118
+ cm = self.ui.color_map_selector_scan.colormap
119
119
  table = self.ui.scan_table
120
120
  if target == "dap":
121
- cm = self.ui.color_map_selector_dap.combo.currentText()
121
+ cm = self.ui.color_map_selector_dap.colormap
122
122
  table = self.ui.dap_table
123
123
  rows = table.rowCount()
124
124
  colors = Colors.golden_angle_color(colormap=cm, num=max(10, rows + 1), format="HEX")
@@ -231,7 +231,14 @@
231
231
  </widget>
232
232
  </item>
233
233
  <item row="0" column="3">
234
- <widget class="ColormapSelector" name="color_map_selector_scan"/>
234
+ <widget class="BECColorMapWidget" name="color_map_selector_scan">
235
+ <property name="sizePolicy">
236
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
237
+ <horstretch>0</horstretch>
238
+ <verstretch>0</verstretch>
239
+ </sizepolicy>
240
+ </property>
241
+ </widget>
235
242
  </item>
236
243
  </layout>
237
244
  </widget>
@@ -330,7 +337,14 @@
330
337
  </widget>
331
338
  </item>
332
339
  <item row="0" column="3">
333
- <widget class="ColormapSelector" name="color_map_selector_dap"/>
340
+ <widget class="BECColorMapWidget" name="color_map_selector_dap">
341
+ <property name="sizePolicy">
342
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
343
+ <horstretch>0</horstretch>
344
+ <verstretch>0</verstretch>
345
+ </sizepolicy>
346
+ </property>
347
+ </widget>
334
348
  </item>
335
349
  </layout>
336
350
  </widget>
@@ -348,9 +362,9 @@
348
362
  <header>device_line_edit</header>
349
363
  </customwidget>
350
364
  <customwidget>
351
- <class>ColormapSelector</class>
365
+ <class>BECColorMapWidget</class>
352
366
  <extends>QWidget</extends>
353
- <header>colormap_selector</header>
367
+ <header>bec_color_map_widget</header>
354
368
  </customwidget>
355
369
  </customwidgets>
356
370
  <resources/>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 1.2.0
3
+ Version: 1.3.1
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=Dc1iDjsc72UxdUtihx4uSZU0lrTQeR8hZwGx1MQBfKE,8432
3
3
  .pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=3_0bPYAjcDl2neoJ8ImU4r8g9n_IM9EGNEoD9TRiGoM,7560
5
+ CHANGELOG.md,sha256=A0GM9Fa5jYkqKeEcw5IAZ81RgMpNy2293E5E2JQgfZY,7469
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=KM4OB0J4rRxGsMYKqC8hDTlD589qR8qiw7jSRCCQrI4,1332
7
+ PKG-INFO,sha256=eXtOE9B-l0s9uksPdM43GA1jzVY7LLSPCyB9IkoaZ2Q,1332
8
8
  README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
9
- pyproject.toml,sha256=tIRsuL8VDjpXoSFHlVYosPz5TzLwc6t-TzGOV8vKP-Y,2592
9
+ pyproject.toml,sha256=ktS8Ms0WgS8GzDEpQU5mJOWMFduMmKogyAmmoE5XK-E,2592
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
@@ -24,7 +24,7 @@ bec_widgets/assets/app_icons/alignment_1d.png,sha256=5VouaWieb4lVv3wUBNHaO5ovUW2
24
24
  bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqgdX7a00nM3igZdc20pkYM,1747017
25
25
  bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
26
26
  bec_widgets/cli/auto_updates.py,sha256=DwzRChcFIWPH2kCYvp8H7dXvyYSKGYv6LwCmK2sDR2E,5676
27
- bec_widgets/cli/client.py,sha256=TBsXvRgmua7rW_MSQgI2iMmI86ml4PqwAUaC5vt1xQ8,85032
27
+ bec_widgets/cli/client.py,sha256=IT6tg-_SaJ5heTb6qE9P7aSs50tiR8Xh3BDmkkHnv5I,85502
28
28
  bec_widgets/cli/client_utils.py,sha256=EdDfo3uuYAWtZiDGGu3_GPnl94FSLkNG2N_4I9FNfMc,11809
29
29
  bec_widgets/cli/generate_cli.py,sha256=C5SOlUeDzFgEptgpa5vdiF6c-YILLcfILZZtk9jr_H0,6637
30
30
  bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
@@ -60,7 +60,7 @@ bec_widgets/utils/bec_dispatcher.py,sha256=OFmkx9vOz4pA4Sdc14QreyDZ870QYskJ4B5da
60
60
  bec_widgets/utils/bec_signal_proxy.py,sha256=PKJ7v8pKrAaqA9XNDMZZBlhVtEInX-ae6_0m2cQhiEw,2107
61
61
  bec_widgets/utils/bec_table.py,sha256=nA2b8ukSeUfquFMAxGrUVOqdrzMoDYD6O_4EYbOG2zk,717
62
62
  bec_widgets/utils/bec_widget.py,sha256=1lrHNuvW6uOuPpr-cJBYJNbFekTsqpnQdfTo3P5tbWI,3330
63
- bec_widgets/utils/colors.py,sha256=Lpwm9ayTQ_BxQ977HWDZatf1OM7n2kEWzyJKvdjng-Y,16048
63
+ bec_widgets/utils/colors.py,sha256=zL9ieD_Bsb2ehd6tPpgfkhu1u5qrQRIE4mvoqM2iqko,16546
64
64
  bec_widgets/utils/container_utils.py,sha256=0wr3ZfuMiAFKCrQHVjxjw-Vuk8wsHdridqcjy2eY840,1531
65
65
  bec_widgets/utils/crosshair.py,sha256=f13tn1v_8FJ6C0WOLyDUXHaG_Nfzj4nMlLVEGqvs5Zc,11838
66
66
  bec_widgets/utils/entry_validator.py,sha256=3skJIsUwTYicT76AMHm_M78RiWtUgyD2zb-Rxo2HdHQ,1313
@@ -69,6 +69,7 @@ bec_widgets/utils/fps_counter.py,sha256=seuCWwiNP5q2e2OEztloa66pNb3Sygh-0lEHAcYa
69
69
  bec_widgets/utils/generate_designer_plugin.py,sha256=eidqauS8YLgoxkPntPL0oSG_lYqI2D7fSyOZvOtCU_U,5891
70
70
  bec_widgets/utils/layout_manager.py,sha256=H0nKsIMaPxRkof1MEXlSmW6w1dFxA6astaGzf4stI84,4727
71
71
  bec_widgets/utils/linear_region_selector.py,sha256=83qMSGnxCePdI5UL8_M4sMeK_BU9sZBzcw0o3Z_Jgxw,3286
72
+ bec_widgets/utils/ophyd_kind_util.py,sha256=3azqxajYZY4crM04NqDqbEx7zPkWzZGYtWeCzfJu6UE,603
72
73
  bec_widgets/utils/plot_indicator_items.py,sha256=OGL7wq-cj1IBn5dfNPP12HBcT55RiBriibQPT00wK7c,9819
73
74
  bec_widgets/utils/plugin_utils.py,sha256=njvVdvF-AR47Yn80ntpvFldEvLuFx9GV-qEX4p_n4AI,5263
74
75
  bec_widgets/utils/reference_utils.py,sha256=8pq06TOvZBZdim0G6hvPJXzVDib7ve4o-Ptvfp563nk,2859
@@ -83,7 +84,7 @@ bec_widgets/utils/plugin_templates/register.template,sha256=XyL3OZPT_FTArLAM8tHd
83
84
  bec_widgets/widgets/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
84
85
  bec_widgets/widgets/base_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
86
  bec_widgets/widgets/base_classes/device_input_base.py,sha256=rM2ab6QwyLwcNNYSQI71D3i-2NN9uNr-r0GquV764Gc,15005
86
- bec_widgets/widgets/base_classes/device_signal_input_base.py,sha256=y1ebxk1FjOPNh_yg5JnYwaN0gQg5Cgf8iu4Cfyo2DQQ,9524
87
+ bec_widgets/widgets/base_classes/device_signal_input_base.py,sha256=8pzzxm_Er_Anlhq1K0lSrMTDq58CBHYUI742NNisLx8,9552
87
88
  bec_widgets/widgets/bec_progressbar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
89
  bec_widgets/widgets/bec_progressbar/bec_progress_bar.pyproject,sha256=Pb3n9seM95_8myKJ0pv_9IcfJDNJJNOFBskuRdEVzhU,33
89
90
  bec_widgets/widgets/bec_progressbar/bec_progress_bar_plugin.py,sha256=b0b0F37HrwFAtizF4VC9udOe1eKbpDkrUE1pM7fI_f0,1352
@@ -125,6 +126,11 @@ bec_widgets/widgets/colormap_selector/colormap_selector.py,sha256=axDOBNY8-KkavJ
125
126
  bec_widgets/widgets/colormap_selector/colormap_selector.pyproject,sha256=lHl9qmlMCB6BKB2orqctKwLcKK3Swc0THsyr-5O_vXM,35
126
127
  bec_widgets/widgets/colormap_selector/colormap_selector_plugin.py,sha256=c5Kk4do8vi0y1bC54zaihvBC55iXaVkc8UMaCQEPwyE,1388
127
128
  bec_widgets/widgets/colormap_selector/register_colormap_selector.py,sha256=bfw7RWmTmMLTLxGT-izSwcGtxGLKvL3jdivJw2z8oN4,512
129
+ bec_widgets/widgets/colormap_widget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
+ bec_widgets/widgets/colormap_widget/bec_color_map_widget.pyproject,sha256=mGOToBLJAbXOuDLMXzQgcrAvLs9CuMKAucwlpntd6-M,33
131
+ bec_widgets/widgets/colormap_widget/bec_color_map_widget_plugin.py,sha256=qWaeoeYvaNhr3rDDW8bda7aAq1SDNoWqrAu4RPX0OY0,1331
132
+ bec_widgets/widgets/colormap_widget/colormap_widget.py,sha256=dIXKureIA8JY5ntJMFnoaBu824AilWjRMTrA5kyzTa8,2227
133
+ bec_widgets/widgets/colormap_widget/register_bec_color_map_widget.py,sha256=6-i1IDzHNOhO6H1nwm2eqKiGuQZaRoIGgLYdRCdtsCM,515
128
134
  bec_widgets/widgets/console/console.py,sha256=f6wlG8ToLdspEzTVPs8NtYUGsUbfc1_mObLZGS1_ulM,24563
129
135
  bec_widgets/widgets/console/console.pyproject,sha256=JcoDuZG03g1Bxkd3Aipo7jjLexujfbibIZqXHIgLSWc,26
130
136
  bec_widgets/widgets/console/console_plugin.py,sha256=Jc1m24cjwyZI6cZB5twDTq9zjleeAMTaCDEJo5l5Q88,1349
@@ -235,12 +241,12 @@ bec_widgets/widgets/scan_control/scan_control_plugin.py,sha256=7GaqmaRgbwIPjVoXc
235
241
  bec_widgets/widgets/scan_control/scan_group_box.py,sha256=JKmuBFzIS_LwY0LJkikgBZjvsLdp18ruKqWst2g4syo,12865
236
242
  bec_widgets/widgets/signal_combobox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
243
  bec_widgets/widgets/signal_combobox/register_signal_combobox.py,sha256=VpdKxMVZ1VUvQwIaOEJccVApgEQtHYRbTllW4vvM5Es,487
238
- bec_widgets/widgets/signal_combobox/signal_combobox.py,sha256=IXO0ARQVXXvr8Fead69lFEOxd1W9vN8HpB81l9o5qIE,4496
244
+ bec_widgets/widgets/signal_combobox/signal_combobox.py,sha256=3qnwFKOv1ueBVMygHgFXNR1dQQWSOmp1aojZLXTA-Ek,4524
239
245
  bec_widgets/widgets/signal_combobox/signal_combobox.pyproject,sha256=xod6iyRD-WD0Uk6LWXjSxFJCQy-831pvTkKcw2FAdnM,33
240
246
  bec_widgets/widgets/signal_combobox/signal_combobox_plugin.py,sha256=Ow-gOeDtDUjX25KkxI0PKPamUokAaP25XzWKo3WtFsE,1292
241
247
  bec_widgets/widgets/signal_line_edit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
248
  bec_widgets/widgets/signal_line_edit/register_signal_line_edit.py,sha256=msxvE7K2BiLddp8UHDuYWXwi0Co95_I4c5AkdTWbjHg,489
243
- bec_widgets/widgets/signal_line_edit/signal_line_edit.py,sha256=WvuwJ9ObPO8cria-1ozJagMJHP36OpPETksfi2MfLHw,5098
249
+ bec_widgets/widgets/signal_line_edit/signal_line_edit.py,sha256=134O_djrPpDH5CBGmqPcZOqS0FOGFsMtgKQ-3qBwhFo,5126
244
250
  bec_widgets/widgets/signal_line_edit/signal_line_edit.pyproject,sha256=3NBnjBB6JRuF2W9-SR6x09KO1C2oB1IEV3VW__miIgI,34
245
251
  bec_widgets/widgets/signal_line_edit/signal_line_edit_plugin.py,sha256=ohbuSMRxlH69eMJdf6yJ04XSLPXVolKEYk9I7BYcph0,1296
246
252
  bec_widgets/widgets/spinner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -275,8 +281,8 @@ bec_widgets/widgets/waveform/register_bec_waveform_widget.py,sha256=qZHVZH_lP2hv
275
281
  bec_widgets/widgets/waveform/waveform_widget.py,sha256=x8OnXsSVTChceTO8l7ySY2oB2rpzHMZfS5PbxYV0LuY,25934
276
282
  bec_widgets/widgets/waveform/waveform_popups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
277
283
  bec_widgets/widgets/waveform/waveform_popups/curve_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
278
- bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py,sha256=VxbAtI_ZLfkrkTXqImQcNPwKDqFRWEj-vI8v6mmVMJ8,13025
279
- bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui,sha256=OaQE5HlyBQ3RQoHqxOFHiUoNcx8SDZP5sHJ9NNGhsPI,10404
284
+ bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py,sha256=znTKD1bChRr1kG9Jg2XaCdWiENUg9nX09LTN2VbWdlI,12992
285
+ bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui,sha256=vaOfrygcQp3-H82AkMUHgV2v0Y_TmRO5KLui-bWoado,11056
280
286
  bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
281
287
  bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py,sha256=XOHppMcONwfhAYpqIc51VOrpunWmPSn50sT3I0MjW2c,1173
282
288
  bec_widgets/widgets/website/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -284,8 +290,8 @@ bec_widgets/widgets/website/register_website_widget.py,sha256=LIQJpV9uqcBiPR9cEA
284
290
  bec_widgets/widgets/website/website.py,sha256=42pncCc_zI2eqeMArIurVmPUukRo5bTxa2h1Skah-io,3012
285
291
  bec_widgets/widgets/website/website_widget.pyproject,sha256=scOiV3cV1_BjbzpPzy2N8rIJL5P2qIZz8ObTJ-Uvdtg,25
286
292
  bec_widgets/widgets/website/website_widget_plugin.py,sha256=pz38_C2cZ0yvPPS02wdIPcmhFo_yiwUhflsASocAPQQ,1341
287
- bec_widgets-1.2.0.dist-info/METADATA,sha256=KM4OB0J4rRxGsMYKqC8hDTlD589qR8qiw7jSRCCQrI4,1332
288
- bec_widgets-1.2.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
289
- bec_widgets-1.2.0.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
290
- bec_widgets-1.2.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
291
- bec_widgets-1.2.0.dist-info/RECORD,,
293
+ bec_widgets-1.3.1.dist-info/METADATA,sha256=eXtOE9B-l0s9uksPdM43GA1jzVY7LLSPCyB9IkoaZ2Q,1332
294
+ bec_widgets-1.3.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
295
+ bec_widgets-1.3.1.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
296
+ bec_widgets-1.3.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
297
+ bec_widgets-1.3.1.dist-info/RECORD,,
pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "1.2.0"
7
+ version = "1.3.1"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [