bec-widgets 0.88.0__py3-none-any.whl → 0.88.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 +14 -8
- PKG-INFO +1 -1
- bec_widgets/assets/designer_icons/motor_map.png +0 -0
- bec_widgets/cli/client.py +13 -0
- bec_widgets/qt_utils/toolbar.py +74 -2
- bec_widgets/widgets/figure/plots/plot_base.py +13 -0
- bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py +4 -2
- bec_widgets/widgets/motor_map/motor_map_widget.py +11 -12
- bec_widgets/widgets/waveform/waveform_widget.py +24 -16
- {bec_widgets-0.88.0.dist-info → bec_widgets-0.88.1.dist-info}/METADATA +1 -1
- {bec_widgets-0.88.0.dist-info → bec_widgets-0.88.1.dist-info}/RECORD +25 -28
- docs/conf.py +1 -1
- pyproject.toml +1 -1
- bec_widgets/widgets/motor_map/assets/motor_map.png +0 -0
- bec_widgets/widgets/motor_map/assets/settings.svg +0 -4
- bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py +0 -59
- bec_widgets/widgets/waveform/waveform_toolbar/waveform_toolbar.py +0 -117
- /bec_widgets/{widgets/motor_map/assets → assets/toolbar_icons}/connection.svg +0 -0
- /bec_widgets/{widgets/motor_map/assets → assets/toolbar_icons}/history.svg +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/__init__.py +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/curve_dialog/__init__.py +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/curve_dialog/curve_dialog.py +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/curve_dialog/curve_dialog.ui +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/dap_summary_dialog/__init__.py +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/dap_summary_dialog/dap_summary.ui +0 -0
- /bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/dap_summary_dialog/dap_summary_dialog.py +0 -0
- {bec_widgets-0.88.0.dist-info → bec_widgets-0.88.1.dist-info}/WHEEL +0 -0
- {bec_widgets-0.88.0.dist-info → bec_widgets-0.88.1.dist-info}/entry_points.txt +0 -0
- {bec_widgets-0.88.0.dist-info → bec_widgets-0.88.1.dist-info}/licenses/LICENSE +0 -0
CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.88.1 (2024-07-22)
|
4
|
+
|
5
|
+
### Documentation
|
6
|
+
|
7
|
+
* docs: readthedocs icon path fixed ([`2bcaa42`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2bcaa4256d6daaefacb3ead8c72458d7b1498e29))
|
8
|
+
|
9
|
+
### Fix
|
10
|
+
|
11
|
+
* fix(plot_base): set_xy autorange moved to plotbase from waveform ([`a3dff7d`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/a3dff7decc16115c12dc6b4ef1572552368da309))
|
12
|
+
|
13
|
+
### Refactor
|
14
|
+
|
15
|
+
* refactor(toolbar): generalizations of the ToolBarAction ([`ad112d1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ad112d1f08157f6987edd48a0bacf9f669ef1997))
|
16
|
+
|
3
17
|
## v0.88.0 (2024-07-19)
|
4
18
|
|
5
19
|
### Feature
|
@@ -112,8 +126,6 @@ Handles closeEvent() and RPC registering/unregistering ([`c7feb69`](https://gitl
|
|
112
126
|
|
113
127
|
* feat(waveform): async readback update implemented for async devices ([`0c6a9f2`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0c6a9f2310df31ddcd68050a17cfbf52c3e2e226))
|
114
128
|
|
115
|
-
* feat(waveform): data are taken directly from ScanItem which is defined from scan_status endpoint; scan update is triggered from scan_segment; plots can be added just specifying y_name -> best effort for setting x reported device ([`b8717f1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b8717f13276734dd655ab03cd6005985ad5af9fb))
|
116
|
-
|
117
129
|
### Fix
|
118
130
|
|
119
131
|
* fix(waveform): timestamp are not converted to human readable format ([`e495fd3`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/e495fd30c4c16474689943c7263e3060cb09ffb4))
|
@@ -124,12 +136,6 @@ Handles closeEvent() and RPC registering/unregistering ([`c7feb69`](https://gitl
|
|
124
136
|
|
125
137
|
* fix(waveform): dap leaked RID for all daps in current process; dap RID is now f"{scan_id}-{gui_id}" to distinguish for each plot instance ([`d23fd8b`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/d23fd8bd074ede6e14eb8e85e025cbced4bd45ef))
|
126
138
|
|
127
|
-
* fix(waveform): only one type of x axis allowed; x mode validated ([`9d6ae87`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9d6ae87d0f03ca227570fcca8af2d8190828d271))
|
128
|
-
|
129
|
-
* fix(waveform): data for axis are taken by separate method; validation consolidated ([`fc5a8bd`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/fc5a8bdd8b260f5e9b59ec71a4610c57442e43fe))
|
130
|
-
|
131
|
-
* fix(bec_dispatcher): connect_slot can accept kwargs ([`0aa317a`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/0aa317aae58d3612d46f05b85f8b0db3d12bbe14))
|
132
|
-
|
133
139
|
### Refactor
|
134
140
|
|
135
141
|
* refactor(waveform): plot can be prompted without specifying kwargs ([`48911e9`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/48911e934815923c94edb5ced6042058a11a97f5))
|
PKG-INFO
CHANGED
Binary file
|
bec_widgets/cli/client.py
CHANGED
@@ -2057,6 +2057,19 @@ class BECWaveformWidget(RPCBase):
|
|
2057
2057
|
legend_label_size(int): Size of the legend labels.
|
2058
2058
|
"""
|
2059
2059
|
|
2060
|
+
@rpc_call
|
2061
|
+
def set_auto_range(self, enabled: "bool", axis: "str" = "xy"):
|
2062
|
+
"""
|
2063
|
+
Set the auto range of the plot widget.
|
2064
|
+
|
2065
|
+
Args:
|
2066
|
+
enabled(bool): If True, enable the auto range.
|
2067
|
+
axis(str, optional): The axis to enable the auto range.
|
2068
|
+
- "xy": Enable auto range for both x and y axis.
|
2069
|
+
- "x": Enable auto range for x axis.
|
2070
|
+
- "y": Enable auto range for y axis.
|
2071
|
+
"""
|
2072
|
+
|
2060
2073
|
@rpc_call
|
2061
2074
|
def set_grid(self, x_grid: "bool", y_grid: "bool"):
|
2062
2075
|
"""
|
bec_widgets/qt_utils/toolbar.py
CHANGED
@@ -1,12 +1,35 @@
|
|
1
|
+
# pylint: disable=no-name-in-module
|
2
|
+
import os
|
1
3
|
from abc import ABC, abstractmethod
|
2
4
|
from collections import defaultdict
|
3
5
|
|
4
|
-
# pylint: disable=no-name-in-module
|
5
6
|
from qtpy.QtCore import QSize
|
6
|
-
from qtpy.
|
7
|
+
from qtpy.QtGui import QAction, QIcon
|
8
|
+
from qtpy.QtWidgets import QHBoxLayout, QLabel, QToolBar, QToolButton, QWidget
|
9
|
+
|
10
|
+
import bec_widgets
|
11
|
+
|
12
|
+
MODULE_PATH = os.path.dirname(bec_widgets.__file__)
|
7
13
|
|
8
14
|
|
9
15
|
class ToolBarAction(ABC):
|
16
|
+
"""
|
17
|
+
Abstract base class for toolbar actions.
|
18
|
+
|
19
|
+
Args:
|
20
|
+
icon_path (str, optional): The name of the icon file from `assets/toolbar_icons`. Defaults to None.
|
21
|
+
tooltip (bool, optional): The tooltip for the action. Defaults to None.
|
22
|
+
checkable (bool, optional): Whether the action is checkable. Defaults to False.
|
23
|
+
"""
|
24
|
+
|
25
|
+
def __init__(self, icon_path: str = None, tooltip: str = None, checkable: bool = False):
|
26
|
+
self.icon_path = (
|
27
|
+
os.path.join(MODULE_PATH, "assets", "toolbar_icons", icon_path) if icon_path else None
|
28
|
+
)
|
29
|
+
self.tooltip = tooltip
|
30
|
+
self.checkable = checkable
|
31
|
+
self.action = None
|
32
|
+
|
10
33
|
@abstractmethod
|
11
34
|
def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
|
12
35
|
"""Adds an action or widget to a toolbar.
|
@@ -26,6 +49,55 @@ class SeparatorAction(ToolBarAction):
|
|
26
49
|
toolbar.addWidget(self.separator)
|
27
50
|
|
28
51
|
|
52
|
+
class IconAction(ToolBarAction):
|
53
|
+
"""
|
54
|
+
Action with an icon for the toolbar.
|
55
|
+
|
56
|
+
Args:
|
57
|
+
icon_path (str): The path to the icon file.
|
58
|
+
tooltip (str): The tooltip for the action.
|
59
|
+
checkable (bool, optional): Whether the action is checkable. Defaults to False.
|
60
|
+
"""
|
61
|
+
|
62
|
+
def __init__(self, icon_path: str = None, tooltip: str = None, checkable: bool = False):
|
63
|
+
super().__init__(icon_path, tooltip, checkable)
|
64
|
+
|
65
|
+
def add_to_toolbar(self, toolbar: QToolBar, target: QWidget):
|
66
|
+
icon = QIcon()
|
67
|
+
icon.addFile(self.icon_path, size=QSize(20, 20))
|
68
|
+
self.action = QAction(icon, self.tooltip, target)
|
69
|
+
self.action.setCheckable(self.checkable)
|
70
|
+
toolbar.addAction(self.action)
|
71
|
+
|
72
|
+
|
73
|
+
class DeviceSelectionAction(ToolBarAction):
|
74
|
+
"""
|
75
|
+
Action for selecting a device in a combobox.
|
76
|
+
|
77
|
+
Args:
|
78
|
+
label (str): The label for the combobox.
|
79
|
+
device_combobox (DeviceComboBox): The combobox for selecting the device.
|
80
|
+
|
81
|
+
"""
|
82
|
+
|
83
|
+
def __init__(self, label: str, device_combobox):
|
84
|
+
super().__init__()
|
85
|
+
self.label = label
|
86
|
+
self.device_combobox = device_combobox
|
87
|
+
self.device_combobox.currentIndexChanged.connect(lambda: self.set_combobox_style("#ffa700"))
|
88
|
+
|
89
|
+
def add_to_toolbar(self, toolbar, target):
|
90
|
+
widget = QWidget()
|
91
|
+
layout = QHBoxLayout(widget)
|
92
|
+
label = QLabel(f"{self.label}")
|
93
|
+
layout.addWidget(label)
|
94
|
+
layout.addWidget(self.device_combobox)
|
95
|
+
toolbar.addWidget(widget)
|
96
|
+
|
97
|
+
def set_combobox_style(self, color: str):
|
98
|
+
self.device_combobox.setStyleSheet(f"QComboBox {{ background-color: {color}; }}")
|
99
|
+
|
100
|
+
|
29
101
|
class ModularToolBar(QToolBar):
|
30
102
|
"""Modular toolbar with optional automatic initialization.
|
31
103
|
Args:
|
@@ -291,6 +291,19 @@ class BECPlotBase(BECConnector, pg.GraphicsLayout):
|
|
291
291
|
"""
|
292
292
|
self.plot_item.setAspectLocked(lock)
|
293
293
|
|
294
|
+
def set_auto_range(self, enabled: bool, axis: str = "xy"):
|
295
|
+
"""
|
296
|
+
Set the auto range of the plot widget.
|
297
|
+
|
298
|
+
Args:
|
299
|
+
enabled(bool): If True, enable the auto range.
|
300
|
+
axis(str, optional): The axis to enable the auto range.
|
301
|
+
- "xy": Enable auto range for both x and y axis.
|
302
|
+
- "x": Enable auto range for x axis.
|
303
|
+
- "y": Enable auto range for y axis.
|
304
|
+
"""
|
305
|
+
self.plot_item.enableAutoRange(axis, enabled)
|
306
|
+
|
294
307
|
def export(self):
|
295
308
|
"""Show the Export Dialog of the plot widget."""
|
296
309
|
scene = self.plot_item.scene()
|
@@ -3,6 +3,7 @@ import os
|
|
3
3
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
4
4
|
from qtpy.QtGui import QIcon
|
5
5
|
|
6
|
+
import bec_widgets
|
6
7
|
from bec_widgets.widgets.motor_map.motor_map_widget import BECMotorMapWidget
|
7
8
|
|
8
9
|
DOM_XML = """
|
@@ -12,6 +13,8 @@ DOM_XML = """
|
|
12
13
|
</ui>
|
13
14
|
"""
|
14
15
|
|
16
|
+
MODULE_PATH = os.path.dirname(bec_widgets.__file__)
|
17
|
+
|
15
18
|
|
16
19
|
class BECMotorMapWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cover
|
17
20
|
def __init__(self):
|
@@ -29,8 +32,7 @@ class BECMotorMapWidgetPlugin(QDesignerCustomWidgetInterface): # pragma: no cov
|
|
29
32
|
return "BEC Plots"
|
30
33
|
|
31
34
|
def icon(self):
|
32
|
-
|
33
|
-
icon_path = os.path.join(current_path, "assets", "motor_map.png")
|
35
|
+
icon_path = os.path.join(MODULE_PATH, "assets", "designer_icons", "motor_map.png")
|
34
36
|
return QIcon(icon_path)
|
35
37
|
|
36
38
|
def includeFile(self):
|
@@ -5,17 +5,12 @@ import sys
|
|
5
5
|
from qtpy.QtWidgets import QVBoxLayout, QWidget
|
6
6
|
|
7
7
|
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
|
8
|
-
from bec_widgets.qt_utils.toolbar import ModularToolBar
|
8
|
+
from bec_widgets.qt_utils.toolbar import DeviceSelectionAction, IconAction, ModularToolBar
|
9
9
|
from bec_widgets.utils.bec_widget import BECWidget
|
10
|
+
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
|
10
11
|
from bec_widgets.widgets.figure import BECFigure
|
11
12
|
from bec_widgets.widgets.figure.plots.motor_map.motor_map import MotorMapConfig
|
12
13
|
from bec_widgets.widgets.motor_map.motor_map_dialog.motor_map_settings import MotorMapSettings
|
13
|
-
from bec_widgets.widgets.motor_map.motor_map_dialog.motor_map_toolbar import (
|
14
|
-
ConnectAction,
|
15
|
-
DeviceSelectionAction,
|
16
|
-
ResetHistoryAction,
|
17
|
-
SettingsAction,
|
18
|
-
)
|
19
14
|
|
20
15
|
|
21
16
|
class BECMotorMapWidget(BECWidget, QWidget):
|
@@ -53,11 +48,15 @@ class BECMotorMapWidget(BECWidget, QWidget):
|
|
53
48
|
self.fig = BECFigure()
|
54
49
|
self.toolbar = ModularToolBar(
|
55
50
|
actions={
|
56
|
-
"motor_x": DeviceSelectionAction(
|
57
|
-
|
58
|
-
|
59
|
-
"
|
60
|
-
|
51
|
+
"motor_x": DeviceSelectionAction(
|
52
|
+
"Motor X:", DeviceComboBox(device_filter="Positioner")
|
53
|
+
),
|
54
|
+
"motor_y": DeviceSelectionAction(
|
55
|
+
"Motor Y:", DeviceComboBox(device_filter="Positioner")
|
56
|
+
),
|
57
|
+
"connect": IconAction(icon_path="connection.svg", tooltip="Connect Motors"),
|
58
|
+
"history": IconAction(icon_path="history.svg", tooltip="Reset Trace History"),
|
59
|
+
"config": IconAction(icon_path="settings.svg", tooltip="Open Configuration Dialog"),
|
61
60
|
},
|
62
61
|
target_widget=self,
|
63
62
|
)
|
@@ -5,22 +5,20 @@ from typing import Literal
|
|
5
5
|
|
6
6
|
import numpy as np
|
7
7
|
import pyqtgraph as pg
|
8
|
-
from qtpy.QtCore import Slot
|
9
8
|
from qtpy.QtWidgets import QVBoxLayout, QWidget
|
10
9
|
|
11
10
|
from bec_widgets.qt_utils.error_popups import SafeSlot, WarningPopupUtility
|
12
11
|
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
|
13
|
-
from bec_widgets.qt_utils.toolbar import ModularToolBar, SeparatorAction
|
12
|
+
from bec_widgets.qt_utils.toolbar import IconAction, ModularToolBar, SeparatorAction
|
14
13
|
from bec_widgets.utils.bec_widget import BECWidget
|
15
14
|
from bec_widgets.widgets.figure import BECFigure
|
16
15
|
from bec_widgets.widgets.figure.plots.axis_settings import AxisSettings
|
17
16
|
from bec_widgets.widgets.figure.plots.waveform.waveform import Waveform1DConfig
|
18
17
|
from bec_widgets.widgets.figure.plots.waveform.waveform_curve import BECCurve
|
19
|
-
from bec_widgets.widgets.waveform.
|
20
|
-
from bec_widgets.widgets.waveform.
|
18
|
+
from bec_widgets.widgets.waveform.waveform_popups.curve_dialog.curve_dialog import CurveSettings
|
19
|
+
from bec_widgets.widgets.waveform.waveform_popups.dap_summary_dialog.dap_summary_dialog import (
|
21
20
|
FitSummaryWidget,
|
22
21
|
)
|
23
|
-
from bec_widgets.widgets.waveform.waveform_toolbar.waveform_toolbar import *
|
24
22
|
|
25
23
|
try:
|
26
24
|
import pandas as pd
|
@@ -47,6 +45,7 @@ class BECWaveformWidget(BECWidget, QWidget):
|
|
47
45
|
"set_x_lim",
|
48
46
|
"set_y_lim",
|
49
47
|
"set_legend_label_size",
|
48
|
+
"set_auto_range",
|
50
49
|
"set_grid",
|
51
50
|
"lock_aspect_ratio",
|
52
51
|
"export",
|
@@ -75,19 +74,28 @@ class BECWaveformWidget(BECWidget, QWidget):
|
|
75
74
|
self.fig = BECFigure()
|
76
75
|
self.toolbar = ModularToolBar(
|
77
76
|
actions={
|
78
|
-
"save":
|
79
|
-
"matplotlib":
|
77
|
+
"save": IconAction(icon_path="save.svg", tooltip="Open Export Dialog"),
|
78
|
+
"matplotlib": IconAction(
|
79
|
+
icon_path="photo_library.svg", tooltip="Open Matplotlib Plot"
|
80
|
+
),
|
80
81
|
"separator_1": SeparatorAction(),
|
81
|
-
"drag_mode":
|
82
|
-
|
83
|
-
|
82
|
+
"drag_mode": IconAction(
|
83
|
+
icon_path="drag_pan_mode.svg", tooltip="Drag Mouse Mode", checkable=True
|
84
|
+
),
|
85
|
+
"rectangle_mode": IconAction(
|
86
|
+
icon_path="rectangle_mode.svg", tooltip="Rectangle Zoom Mode", checkable=True
|
87
|
+
),
|
88
|
+
"auto_range": IconAction(icon_path="auto_range.svg", tooltip="Autorange Plot"),
|
84
89
|
"separator_2": SeparatorAction(),
|
85
|
-
"curves":
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
90
|
+
"curves": IconAction(
|
91
|
+
icon_path="line_axis.svg", tooltip="Open Curves Configuration"
|
92
|
+
),
|
93
|
+
"fit_params": IconAction(
|
94
|
+
icon_path="fitting_parameters.svg", tooltip="Open Fitting Parameters"
|
95
|
+
),
|
96
|
+
"axis_settings": IconAction(
|
97
|
+
icon_path="settings.svg", tooltip="Open Configuration Dialog"
|
98
|
+
),
|
91
99
|
},
|
92
100
|
target_widget=self,
|
93
101
|
)
|
@@ -2,11 +2,11 @@
|
|
2
2
|
.gitlab-ci.yml,sha256=zvb4A6QI5lQTsdfI5nPPL-tUNfcrz__SQjxW03QZ5Ek,8204
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=HlkAp2hTCYOR0AGFikpdOCSm3k4dOGmdIqhAU-hKIB8,7845
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=PhNXXQmzzTVoVSMDhrCnMZDZWDJq9NgDdg9W56mXnfg,1308
|
8
8
|
README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=vQNtHmvPPn_W8rQf_4N6FH0JxA1rV254WjNiZan3A5I,2357
|
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,11 +17,14 @@ bec_widgets/assets/app_icons/bec_widgets_icon.png,sha256=K8dgGwIjalDh9PRHUsSQBqg
|
|
17
17
|
bec_widgets/assets/app_icons/terminal_icon.png,sha256=bJl7Tft4Fi2uxvuXI8o14uMHnI9eAWKSU2uftXCH9ws,3889
|
18
18
|
bec_widgets/assets/designer_icons/BECWaveformWidget.png,sha256=QKocOi6e1frT6anrTwIQqQEwkalbl2AoOrTpvN1dr90,3764
|
19
19
|
bec_widgets/assets/designer_icons/colormap_selector.png,sha256=KULLUA5T9SLhcSyrdouG07nXHZtE-LNNOn0ghG7T-OQ,6831
|
20
|
+
bec_widgets/assets/designer_icons/motor_map.png,sha256=8iqST5mTnZfv9rN9rx3D-XBm232Mwvzz9D0Wx6QaT8I,7293
|
20
21
|
bec_widgets/assets/toolbar_icons/add.svg,sha256=Co1Iueh0sqQ1LMQcvNXPLg6tC6MLtQviH-F79uhM2o0,228
|
21
22
|
bec_widgets/assets/toolbar_icons/auto_range.svg,sha256=hq6YMySVWF01SeEXzpF_h7BaqUPdsipTk_Z3nOjD8bg,487
|
23
|
+
bec_widgets/assets/toolbar_icons/connection.svg,sha256=czIb1BnshmxJnER8ssU3WcLENrFSIUfMwberajWOGAk,341
|
22
24
|
bec_widgets/assets/toolbar_icons/drag_pan_mode.svg,sha256=ruinkJ0dVEPSH7ll4Pufl9c7oTwVXvcN57oTgiVRY5I,470
|
23
25
|
bec_widgets/assets/toolbar_icons/export.svg,sha256=-kDEfxzloR1fOpZ5d4KIkxGH7wS_4Z1uJImtnKA5XxU,371
|
24
26
|
bec_widgets/assets/toolbar_icons/fitting_parameters.svg,sha256=k57fFm2xPyYQD0y1K4Mb-7uqDeVA6GBWq_oh4-rQQeE,366
|
27
|
+
bec_widgets/assets/toolbar_icons/history.svg,sha256=bd6p5saxRiNRpd5OsSwIOvRWvel0WFEHul9zw4y9vH0,392
|
25
28
|
bec_widgets/assets/toolbar_icons/import.svg,sha256=57-0ahjyIng5d3c0pSVCC2YwEYmQSyVVUdWkQXiVEVY,377
|
26
29
|
bec_widgets/assets/toolbar_icons/line_axis.svg,sha256=uguelNycsOl6DmjYfUPnPnkIxfrDHEiLCpHW7iKEyfk,450
|
27
30
|
bec_widgets/assets/toolbar_icons/photo_library.svg,sha256=weiDCYiHh9dzcA21D-37zpYts2CyoGAd9x-N_h292Mo,564
|
@@ -31,7 +34,7 @@ bec_widgets/assets/toolbar_icons/save.svg,sha256=rexWzbFExkh-NiAFP1909-1mm1BKU76
|
|
31
34
|
bec_widgets/assets/toolbar_icons/settings.svg,sha256=ro30oa9CF1YijOXoUl-hz2DilJcqTy4rlTrMYhggumQ,1473
|
32
35
|
bec_widgets/cli/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
|
33
36
|
bec_widgets/cli/auto_updates.py,sha256=DyBV3HnjMSH-cvVkYNcDiYKVf0Xut4Qy2qGQqkW47Bw,4833
|
34
|
-
bec_widgets/cli/client.py,sha256
|
37
|
+
bec_widgets/cli/client.py,sha256=RfaS3iyxPG8yUXDdFo-b0S9F4S62f7cwbAgDTO47tOs,70757
|
35
38
|
bec_widgets/cli/client_utils.py,sha256=cDhabblwaP88a0jlVpbn_RWWKVbsyjhmmGtMh9gesEw,12388
|
36
39
|
bec_widgets/cli/generate_cli.py,sha256=Ea5px9KblUlcGg-1JbJBTIU7laGg2n8PM7Efw9WVVzM,5889
|
37
40
|
bec_widgets/cli/rpc_register.py,sha256=QxXUZu5XNg00Yf5O3UHWOXg3-f_pzKjjoZYMOa-MOJc,2216
|
@@ -50,7 +53,7 @@ bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py,sha256=LNwplI6de
|
|
50
53
|
bec_widgets/qt_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
54
|
bec_widgets/qt_utils/error_popups.py,sha256=WAN3Qtccy9Yww29kZ3HbLt9VyipgrIamJ6y4PhGTe3I,7983
|
52
55
|
bec_widgets/qt_utils/settings_dialog.py,sha256=rR_Zk4RGTnI4dz5OEzCc13lVpxlOKuwOf4_7wqXSbRw,3373
|
53
|
-
bec_widgets/qt_utils/toolbar.py,sha256=
|
56
|
+
bec_widgets/qt_utils/toolbar.py,sha256=Ob7zItx06CbQIibInLLKyOXDJ2QiAneGL8Ubyn5iwNo,4892
|
54
57
|
bec_widgets/utils/__init__.py,sha256=1930ji1Jj6dVuY81Wd2kYBhHYNV-2R0bN_L4o9zBj1U,533
|
55
58
|
bec_widgets/utils/bec_connector.py,sha256=UK0GIWgcC_JTwgKCOmmuXnQvSwD3wiPsJQw6NBW3p74,9961
|
56
59
|
bec_widgets/utils/bec_designer.py,sha256=ak3G8FdojUPjVBBwdPXw7tN5P2Uxr-SSoQt394jXeAA,4308
|
@@ -125,7 +128,7 @@ bec_widgets/widgets/figure/figure.py,sha256=IP8Kr8mWOBRSeWsB17UYoU5bpE4WcrOCuN5H
|
|
125
128
|
bec_widgets/widgets/figure/plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
126
129
|
bec_widgets/widgets/figure/plots/axis_settings.py,sha256=_z20SrMu5iRM0eqhQjsCV1MDOY80hN2dqtvkeofXs0w,3510
|
127
130
|
bec_widgets/widgets/figure/plots/axis_settings.ui,sha256=zMKZK6lH_3KJGO4RA_paXAH7UzZJ4Snlil3MK4pK3L8,11589
|
128
|
-
bec_widgets/widgets/figure/plots/plot_base.py,sha256=
|
131
|
+
bec_widgets/widgets/figure/plots/plot_base.py,sha256=AxzH2J-bLngxlWcgWWgNpLhIQxQzFz-H6yLf5Dou93Y,10921
|
129
132
|
bec_widgets/widgets/figure/plots/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
130
133
|
bec_widgets/widgets/figure/plots/image/image.py,sha256=CoD1ODroBL0M-9xCyAyELz-UBSHGMoXqe_1GqhGrRN0,21294
|
131
134
|
bec_widgets/widgets/figure/plots/image/image_item.py,sha256=TyarahdWEn0jgalj5fqSAmcznXSbENkqHrrlL2GVdU4,10558
|
@@ -139,17 +142,12 @@ bec_widgets/widgets/jupyter_console/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
139
142
|
bec_widgets/widgets/jupyter_console/jupyter_console.py,sha256=mBKM89H6SuHuFy1lQg1n8s1gQiN5QEkZf0xua8aPDns,2402
|
140
143
|
bec_widgets/widgets/motor_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
144
|
bec_widgets/widgets/motor_map/bec_motor_map_widget.pyproject,sha256=NAI8s5gRKz80ED4KY7OgD2OgSH5HEsjt2ux2BYp66yg,63
|
142
|
-
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=
|
143
|
-
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=
|
145
|
+
bec_widgets/widgets/motor_map/bec_motor_map_widget_plugin.py,sha256=V6iN82E8Za8BharR_cSyZZShh4fI9yc5ky2TQBGELR0,1316
|
146
|
+
bec_widgets/widgets/motor_map/motor_map_widget.py,sha256=URcysThbJKGsCZUqQm2lCtVn5FG8t4kT7DaN5EJUexg,7555
|
144
147
|
bec_widgets/widgets/motor_map/register_bec_motor_map_widget.py,sha256=qRG8PtWGjso0pWbvj_DXKnbUfmQzfGqPSrnAozXfM7o,492
|
145
|
-
bec_widgets/widgets/motor_map/assets/connection.svg,sha256=czIb1BnshmxJnER8ssU3WcLENrFSIUfMwberajWOGAk,341
|
146
|
-
bec_widgets/widgets/motor_map/assets/history.svg,sha256=bd6p5saxRiNRpd5OsSwIOvRWvel0WFEHul9zw4y9vH0,392
|
147
|
-
bec_widgets/widgets/motor_map/assets/motor_map.png,sha256=xd6GFBM8gAb5c-xRgswxTZFtvo449yK57-EbkFvidOI,9746
|
148
|
-
bec_widgets/widgets/motor_map/assets/settings.svg,sha256=ro30oa9CF1YijOXoUl-hz2DilJcqTy4rlTrMYhggumQ,1473
|
149
148
|
bec_widgets/widgets/motor_map/motor_map_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
150
149
|
bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.py,sha256=terJ5NHRzAsiUwdqg-hTbkQ5gadnRT0Ol0_Fm66kPF4,2011
|
151
150
|
bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_settings.ui,sha256=nv5vPftt6vcIl60OOZLRvwD29rdHVWOoGmz168BnwKw,2685
|
152
|
-
bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py,sha256=R6pmxhB_1ouc6f6cNQQvbxTHb3Ko3K_gTGs5WIYgnRI,2194
|
153
151
|
bec_widgets/widgets/position_indicator/position_indicator.py,sha256=QVlWvs_RvEJe5IMxGYCpi-CXYF7vFeMqEMFCs6u5NGc,2020
|
154
152
|
bec_widgets/widgets/position_indicator/position_indicator.pyproject,sha256=s0JEf5YkpMag19ddFSYeRZ8erBau7erO3bqw05YrTyg,36
|
155
153
|
bec_widgets/widgets/position_indicator/position_indicator_plugin.py,sha256=h9EQU4t6KdKVAZh5ILalpl1K8b7JMHf-2AFYREej2-w,1241
|
@@ -184,19 +182,18 @@ bec_widgets/widgets/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
184
182
|
bec_widgets/widgets/waveform/bec_waveform_widget.pyproject,sha256=GLD8GN9dXx9wNbtnevrxqqcwk7vKV-Uv8QYSycdaoaI,33
|
185
183
|
bec_widgets/widgets/waveform/bec_waveform_widget_plugin.py,sha256=LjJJoRFlkcQWs7SUIPX859AeCiqVRsjgRWMNKE596uY,1429
|
186
184
|
bec_widgets/widgets/waveform/register_bec_waveform_widget.py,sha256=qZHVZH_lP2hvzkG1Ra0EyrXlMeLkRCy0aceH-bfJ1cs,490
|
187
|
-
bec_widgets/widgets/waveform/waveform_widget.py,sha256=
|
188
|
-
bec_widgets/widgets/waveform/
|
189
|
-
bec_widgets/widgets/waveform/
|
190
|
-
bec_widgets/widgets/waveform/
|
191
|
-
bec_widgets/widgets/waveform/
|
192
|
-
bec_widgets/widgets/waveform/
|
193
|
-
bec_widgets/widgets/waveform/
|
194
|
-
bec_widgets/widgets/waveform/
|
195
|
-
bec_widgets/widgets/waveform/waveform_toolbar/dap_summary_dialog/dap_summary_dialog.py,sha256=a5n_gBebETdj80TU7Dgy1cnazPFyxLlWk_lRdvy3qA4,2403
|
185
|
+
bec_widgets/widgets/waveform/waveform_widget.py,sha256=zErnkgwm69QZEVvNRLi57v9-zRQeu0IaJpYRj34mGmA,19125
|
186
|
+
bec_widgets/widgets/waveform/waveform_popups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
187
|
+
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
188
|
+
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.py,sha256=jCtWjNxsdOW7fA9BLdMAMrlCKHr2tFMHcVMxpeJ6YZE,13107
|
189
|
+
bec_widgets/widgets/waveform/waveform_popups/curve_dialog/curve_dialog.ui,sha256=OaQE5HlyBQ3RQoHqxOFHiUoNcx8SDZP5sHJ9NNGhsPI,10404
|
190
|
+
bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
191
|
+
bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary.ui,sha256=PFEKro61UXd-jmx65U4pqJ5D29DXtVnhQRnsnDvN-wM,6138
|
192
|
+
bec_widgets/widgets/waveform/waveform_popups/dap_summary_dialog/dap_summary_dialog.py,sha256=a5n_gBebETdj80TU7Dgy1cnazPFyxLlWk_lRdvy3qA4,2403
|
196
193
|
bec_widgets/widgets/website/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
197
194
|
bec_widgets/widgets/website/website.py,sha256=FmhVaasAU3ZSdKP-HHSnJHFbG8lIsNAPH9pZq55fhic,1731
|
198
195
|
docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
|
199
|
-
docs/conf.py,sha256=
|
196
|
+
docs/conf.py,sha256=__ETwe00VJvH5_570r-oZpLkTrHYlobMCEcknjYPyjo,2474
|
200
197
|
docs/index.md,sha256=8ZCgaLIbJsYvt-jwi--QxsNwnK4-k3rejIeOOLclG40,1101
|
201
198
|
docs/make.bat,sha256=vKazJE8RW49Cy8K7hm8QYbletvAd8YkeKsaPA_dWnXs,800
|
202
199
|
docs/requirements.txt,sha256=TcjRnzVYFOg64N-lJc2sn-G6YQdhPjzp0lrLuPsPMXY,156
|
@@ -300,8 +297,8 @@ tests/unit_tests/test_configs/config_device_no_entry.yaml,sha256=hdvue9KLc_kfNzG
|
|
300
297
|
tests/unit_tests/test_configs/config_scan.yaml,sha256=vo484BbWOjA_e-h6bTjSV9k7QaQHrlAvx-z8wtY-P4E,1915
|
301
298
|
tests/unit_tests/test_msgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
302
299
|
tests/unit_tests/test_msgs/available_scans_message.py,sha256=m_z97hIrjHXXMa2Ex-UvsPmTxOYXfjxyJaGkIY6StTY,46532
|
303
|
-
bec_widgets-0.88.
|
304
|
-
bec_widgets-0.88.
|
305
|
-
bec_widgets-0.88.
|
306
|
-
bec_widgets-0.88.
|
307
|
-
bec_widgets-0.88.
|
300
|
+
bec_widgets-0.88.1.dist-info/METADATA,sha256=PhNXXQmzzTVoVSMDhrCnMZDZWDJq9NgDdg9W56mXnfg,1308
|
301
|
+
bec_widgets-0.88.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
302
|
+
bec_widgets-0.88.1.dist-info/entry_points.txt,sha256=3otEkCdDB9LZJuBLzG4pFLK5Di0CVybN_12IsZrQ-58,166
|
303
|
+
bec_widgets-0.88.1.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
304
|
+
bec_widgets-0.88.1.dist-info/RECORD,,
|
docs/conf.py
CHANGED
pyproject.toml
CHANGED
Binary file
|
@@ -1,4 +0,0 @@
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#FFFFFF">
|
2
|
-
<path d="M0 0h24v24H0V0z" fill="none"/>
|
3
|
-
<path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/>
|
4
|
-
</svg>
|
@@ -1,59 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
|
3
|
-
from qtpy.QtCore import QSize
|
4
|
-
from qtpy.QtGui import QAction, QIcon
|
5
|
-
from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget
|
6
|
-
|
7
|
-
from bec_widgets.qt_utils.toolbar import ToolBarAction
|
8
|
-
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
|
9
|
-
|
10
|
-
|
11
|
-
class DeviceSelectionAction(ToolBarAction):
|
12
|
-
def __init__(self, label: str):
|
13
|
-
self.label = label
|
14
|
-
self.device_combobox = DeviceComboBox(device_filter="Positioner")
|
15
|
-
|
16
|
-
self.device_combobox.currentIndexChanged.connect(lambda: self.set_combobox_style("#ffa700"))
|
17
|
-
|
18
|
-
def add_to_toolbar(self, toolbar, target):
|
19
|
-
widget = QWidget()
|
20
|
-
layout = QHBoxLayout(widget)
|
21
|
-
|
22
|
-
label = QLabel(f"{self.label}")
|
23
|
-
|
24
|
-
layout.addWidget(label)
|
25
|
-
layout.addWidget(self.device_combobox)
|
26
|
-
toolbar.addWidget(widget)
|
27
|
-
|
28
|
-
def set_combobox_style(self, color: str):
|
29
|
-
self.device_combobox.setStyleSheet(f"QComboBox {{ background-color: {color}; }}")
|
30
|
-
|
31
|
-
|
32
|
-
class ConnectAction(ToolBarAction):
|
33
|
-
def add_to_toolbar(self, toolbar, target):
|
34
|
-
current_path = os.path.dirname(__file__)
|
35
|
-
parent_path = os.path.dirname(current_path)
|
36
|
-
icon = QIcon()
|
37
|
-
icon.addFile(os.path.join(parent_path, "assets", "connection.svg"), size=QSize(20, 20))
|
38
|
-
self.action = QAction(icon, "Connect Motors", target)
|
39
|
-
toolbar.addAction(self.action)
|
40
|
-
|
41
|
-
|
42
|
-
class ResetHistoryAction(ToolBarAction):
|
43
|
-
def add_to_toolbar(self, toolbar, target):
|
44
|
-
current_path = os.path.dirname(__file__)
|
45
|
-
parent_path = os.path.dirname(current_path)
|
46
|
-
icon = QIcon()
|
47
|
-
icon.addFile(os.path.join(parent_path, "assets", "history.svg"), size=QSize(20, 20))
|
48
|
-
self.action = QAction(icon, "Reset Trace History", target)
|
49
|
-
toolbar.addAction(self.action)
|
50
|
-
|
51
|
-
|
52
|
-
class SettingsAction(ToolBarAction):
|
53
|
-
def add_to_toolbar(self, toolbar, target):
|
54
|
-
current_path = os.path.dirname(__file__)
|
55
|
-
parent_path = os.path.dirname(current_path)
|
56
|
-
icon = QIcon()
|
57
|
-
icon.addFile(os.path.join(parent_path, "assets", "settings.svg"), size=QSize(20, 20))
|
58
|
-
self.action = QAction(icon, "Open Configuration Dialog", target)
|
59
|
-
toolbar.addAction(self.action)
|
@@ -1,117 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
|
3
|
-
from qtpy.QtCore import QSize
|
4
|
-
from qtpy.QtGui import QAction, QIcon
|
5
|
-
|
6
|
-
import bec_widgets
|
7
|
-
from bec_widgets.qt_utils.toolbar import ToolBarAction
|
8
|
-
|
9
|
-
MODULE_PATH = os.path.dirname(bec_widgets.__file__)
|
10
|
-
|
11
|
-
|
12
|
-
class SaveAction(ToolBarAction):
|
13
|
-
def add_to_toolbar(self, toolbar, target):
|
14
|
-
icon = QIcon()
|
15
|
-
icon.addFile(
|
16
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "save.svg"), size=QSize(20, 20)
|
17
|
-
)
|
18
|
-
self.action = QAction(icon, "Open Export Dialog", target)
|
19
|
-
toolbar.addAction(self.action)
|
20
|
-
|
21
|
-
|
22
|
-
class MatplotlibAction(ToolBarAction):
|
23
|
-
def add_to_toolbar(self, toolbar, target):
|
24
|
-
icon = QIcon()
|
25
|
-
icon.addFile(
|
26
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "photo_library.svg"),
|
27
|
-
size=QSize(20, 20),
|
28
|
-
)
|
29
|
-
self.action = QAction(icon, "Open Matplotlib Plot", target)
|
30
|
-
toolbar.addAction(self.action)
|
31
|
-
|
32
|
-
|
33
|
-
class DragModeAction(ToolBarAction):
|
34
|
-
def add_to_toolbar(self, toolbar, target):
|
35
|
-
icon = QIcon()
|
36
|
-
icon.addFile(
|
37
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "drag_pan_mode.svg"),
|
38
|
-
size=QSize(20, 20),
|
39
|
-
)
|
40
|
-
self.action = QAction(icon, "Drag Mouse Mode", target)
|
41
|
-
self.action.setCheckable(True)
|
42
|
-
toolbar.addAction(self.action)
|
43
|
-
|
44
|
-
|
45
|
-
class RectangeModeAction(ToolBarAction):
|
46
|
-
def add_to_toolbar(self, toolbar, target):
|
47
|
-
icon = QIcon()
|
48
|
-
icon.addFile(
|
49
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "rectangle_mode.svg"),
|
50
|
-
size=QSize(20, 20),
|
51
|
-
)
|
52
|
-
self.action = QAction(icon, "Rectangle Zoom Mode", target)
|
53
|
-
self.action.setCheckable(True)
|
54
|
-
toolbar.addAction(self.action)
|
55
|
-
|
56
|
-
|
57
|
-
class AutoRangeAction(ToolBarAction):
|
58
|
-
def add_to_toolbar(self, toolbar, target):
|
59
|
-
icon = QIcon()
|
60
|
-
icon.addFile(
|
61
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "auto_range.svg"),
|
62
|
-
size=QSize(20, 20),
|
63
|
-
)
|
64
|
-
self.action = QAction(icon, "Autorange Plot", target)
|
65
|
-
toolbar.addAction(self.action)
|
66
|
-
|
67
|
-
|
68
|
-
class CurveAction(ToolBarAction):
|
69
|
-
def add_to_toolbar(self, toolbar, target):
|
70
|
-
icon = QIcon()
|
71
|
-
icon.addFile(
|
72
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "line_axis.svg"),
|
73
|
-
size=QSize(20, 20),
|
74
|
-
)
|
75
|
-
self.action = QAction(icon, "Open Curves Configuration", target)
|
76
|
-
toolbar.addAction(self.action)
|
77
|
-
|
78
|
-
|
79
|
-
class FitParamsAction(ToolBarAction):
|
80
|
-
def add_to_toolbar(self, toolbar, target):
|
81
|
-
icon = QIcon()
|
82
|
-
icon.addFile(
|
83
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "fitting_parameters.svg"),
|
84
|
-
size=QSize(20, 20),
|
85
|
-
)
|
86
|
-
self.action = QAction(icon, "Open Fitting Parameters", target)
|
87
|
-
toolbar.addAction(self.action)
|
88
|
-
|
89
|
-
|
90
|
-
class SettingsAction(ToolBarAction):
|
91
|
-
def add_to_toolbar(self, toolbar, target):
|
92
|
-
icon = QIcon()
|
93
|
-
icon.addFile(
|
94
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "settings.svg"), size=QSize(20, 20)
|
95
|
-
)
|
96
|
-
self.action = QAction(icon, "Open Configuration Dialog", target)
|
97
|
-
toolbar.addAction(self.action)
|
98
|
-
|
99
|
-
|
100
|
-
class ImportAction(ToolBarAction):
|
101
|
-
def add_to_toolbar(self, toolbar, target):
|
102
|
-
icon = QIcon()
|
103
|
-
icon.addFile(
|
104
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "import.svg"), size=QSize(20, 20)
|
105
|
-
)
|
106
|
-
self.action = QAction(icon, "Import Configuration from YAML", target)
|
107
|
-
toolbar.addAction(self.action)
|
108
|
-
|
109
|
-
|
110
|
-
class ExportAction(ToolBarAction):
|
111
|
-
def add_to_toolbar(self, toolbar, target):
|
112
|
-
icon = QIcon()
|
113
|
-
icon.addFile(
|
114
|
-
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "export.svg"), size=QSize(20, 20)
|
115
|
-
)
|
116
|
-
self.action = QAction(icon, "Export Current Configuration to YAML", target)
|
117
|
-
toolbar.addAction(self.action)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/curve_dialog/curve_dialog.py
RENAMED
File without changes
|
/bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/curve_dialog/curve_dialog.ui
RENAMED
File without changes
|
/bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/dap_summary_dialog/__init__.py
RENAMED
File without changes
|
/bec_widgets/widgets/waveform/{waveform_toolbar → waveform_popups}/dap_summary_dialog/dap_summary.ui
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|