bec-widgets 1.17.1__py3-none-any.whl → 1.17.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.
- CHANGELOG.md +9 -0
- PKG-INFO +1 -1
- bec_widgets/qt_utils/round_frame.py +1 -0
- bec_widgets/qt_utils/side_panel.py +3 -1
- bec_widgets/utils/widget_state_manager.py +84 -12
- bec_widgets/widgets/containers/layout_manager/layout_manager.py +1 -0
- bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py +22 -19
- {bec_widgets-1.17.1.dist-info → bec_widgets-1.17.2.dist-info}/METADATA +1 -1
- {bec_widgets-1.17.1.dist-info → bec_widgets-1.17.2.dist-info}/RECORD +13 -13
- pyproject.toml +1 -1
- {bec_widgets-1.17.1.dist-info → bec_widgets-1.17.2.dist-info}/WHEEL +0 -0
- {bec_widgets-1.17.1.dist-info → bec_widgets-1.17.2.dist-info}/entry_points.txt +0 -0
- {bec_widgets-1.17.1.dist-info → bec_widgets-1.17.2.dist-info}/licenses/LICENSE +0 -0
CHANGELOG.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
+
## v1.17.2 (2025-01-28)
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
- **widget_state_manager**: Skip QLabel saving; skip_setting property widget excluded from INI;
|
9
|
+
stored=False property excluded from INI
|
10
|
+
([`b2b0450`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b2b0450bcb07c974e5f8002e084b350599c32d39))
|
11
|
+
|
12
|
+
|
4
13
|
## v1.17.1 (2025-01-26)
|
5
14
|
|
6
15
|
### Bug Fixes
|
PKG-INFO
CHANGED
@@ -34,6 +34,9 @@ class SidePanel(QWidget):
|
|
34
34
|
):
|
35
35
|
super().__init__(parent=parent)
|
36
36
|
|
37
|
+
self.setProperty("skip_settings", True)
|
38
|
+
self.setObjectName("SidePanel")
|
39
|
+
|
37
40
|
self._orientation = orientation
|
38
41
|
self._panel_max_width = panel_max_width
|
39
42
|
self._animation_duration = animation_duration
|
@@ -286,7 +289,6 @@ class SidePanel(QWidget):
|
|
286
289
|
"""
|
287
290
|
container_widget = QWidget()
|
288
291
|
container_layout = QVBoxLayout(container_widget)
|
289
|
-
container_widget.setStyleSheet("background-color: rgba(0,0,0,0);")
|
290
292
|
title_label = QLabel(f"<b>{title}</b>")
|
291
293
|
title_label.setStyleSheet("font-size: 16px;")
|
292
294
|
spacer = QSpacerItem(0, 0, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
@@ -1,11 +1,13 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
from bec_lib import bec_logger
|
3
4
|
from qtpy.QtCore import QSettings
|
4
5
|
from qtpy.QtWidgets import (
|
5
6
|
QApplication,
|
6
7
|
QCheckBox,
|
7
8
|
QFileDialog,
|
8
9
|
QHBoxLayout,
|
10
|
+
QLabel,
|
9
11
|
QLineEdit,
|
10
12
|
QPushButton,
|
11
13
|
QSpinBox,
|
@@ -13,6 +15,8 @@ from qtpy.QtWidgets import (
|
|
13
15
|
QWidget,
|
14
16
|
)
|
15
17
|
|
18
|
+
logger = bec_logger.logger
|
19
|
+
|
16
20
|
|
17
21
|
class WidgetStateManager:
|
18
22
|
"""
|
@@ -27,7 +31,7 @@ class WidgetStateManager:
|
|
27
31
|
|
28
32
|
def save_state(self, filename: str = None):
|
29
33
|
"""
|
30
|
-
Save the state of the widget to
|
34
|
+
Save the state of the widget to an INI file.
|
31
35
|
|
32
36
|
Args:
|
33
37
|
filename(str): The filename to save the state to.
|
@@ -42,7 +46,7 @@ class WidgetStateManager:
|
|
42
46
|
|
43
47
|
def load_state(self, filename: str = None):
|
44
48
|
"""
|
45
|
-
Load the state of the widget from
|
49
|
+
Load the state of the widget from an INI file.
|
46
50
|
|
47
51
|
Args:
|
48
52
|
filename(str): The filename to load the state from.
|
@@ -63,18 +67,33 @@ class WidgetStateManager:
|
|
63
67
|
widget(QWidget): The widget to save the state for.
|
64
68
|
settings(QSettings): The QSettings object to save the state to.
|
65
69
|
"""
|
70
|
+
if widget.property("skip_settings") is True:
|
71
|
+
return
|
72
|
+
|
66
73
|
meta = widget.metaObject()
|
67
|
-
|
74
|
+
widget_name = self._get_full_widget_name(widget)
|
75
|
+
settings.beginGroup(widget_name)
|
68
76
|
for i in range(meta.propertyCount()):
|
69
77
|
prop = meta.property(i)
|
70
78
|
name = prop.name()
|
79
|
+
if (
|
80
|
+
name == "objectName"
|
81
|
+
or not prop.isReadable()
|
82
|
+
or not prop.isWritable()
|
83
|
+
or not prop.isStored() # can be extended to fine filter
|
84
|
+
):
|
85
|
+
continue
|
71
86
|
value = widget.property(name)
|
72
87
|
settings.setValue(name, value)
|
73
88
|
settings.endGroup()
|
74
89
|
|
75
|
-
# Recursively
|
76
|
-
for child in widget.
|
77
|
-
if
|
90
|
+
# Recursively process children (only if they aren't skipped)
|
91
|
+
for child in widget.children():
|
92
|
+
if (
|
93
|
+
child.objectName()
|
94
|
+
and child.property("skip_settings") is not True
|
95
|
+
and not isinstance(child, QLabel)
|
96
|
+
):
|
78
97
|
self._save_widget_state_qsettings(child, settings)
|
79
98
|
|
80
99
|
def _load_widget_state_qsettings(self, widget: QWidget, settings: QSettings):
|
@@ -85,8 +104,12 @@ class WidgetStateManager:
|
|
85
104
|
widget(QWidget): The widget to load the state for.
|
86
105
|
settings(QSettings): The QSettings object to load the state from.
|
87
106
|
"""
|
107
|
+
if widget.property("skip_settings") is True:
|
108
|
+
return
|
109
|
+
|
88
110
|
meta = widget.metaObject()
|
89
|
-
|
111
|
+
widget_name = self._get_full_widget_name(widget)
|
112
|
+
settings.beginGroup(widget_name)
|
90
113
|
for i in range(meta.propertyCount()):
|
91
114
|
prop = meta.property(i)
|
92
115
|
name = prop.name()
|
@@ -95,13 +118,35 @@ class WidgetStateManager:
|
|
95
118
|
widget.setProperty(name, value)
|
96
119
|
settings.endGroup()
|
97
120
|
|
98
|
-
# Recursively
|
99
|
-
for child in widget.
|
100
|
-
if
|
121
|
+
# Recursively process children (only if they aren't skipped)
|
122
|
+
for child in widget.children():
|
123
|
+
if (
|
124
|
+
child.objectName()
|
125
|
+
and child.property("skip_settings") is not True
|
126
|
+
and not isinstance(child, QLabel)
|
127
|
+
):
|
101
128
|
self._load_widget_state_qsettings(child, settings)
|
102
129
|
|
130
|
+
def _get_full_widget_name(self, widget: QWidget):
|
131
|
+
"""
|
132
|
+
Get the full name of the widget including its parent names.
|
133
|
+
|
134
|
+
Args:
|
135
|
+
widget(QWidget): The widget to get the full name for.
|
136
|
+
|
137
|
+
Returns:
|
138
|
+
str: The full name of the widget.
|
139
|
+
"""
|
140
|
+
name = widget.objectName()
|
141
|
+
parent = widget.parent()
|
142
|
+
while parent:
|
143
|
+
obj_name = parent.objectName() or parent.metaObject().className()
|
144
|
+
name = obj_name + "." + name
|
145
|
+
parent = parent.parent()
|
146
|
+
return name
|
147
|
+
|
103
148
|
|
104
|
-
class ExampleApp(QWidget): # pragma: no cover
|
149
|
+
class ExampleApp(QWidget): # pragma: no cover:
|
105
150
|
def __init__(self):
|
106
151
|
super().__init__()
|
107
152
|
self.setObjectName("MainWindow")
|
@@ -126,7 +171,34 @@ class ExampleApp(QWidget): # pragma: no cover
|
|
126
171
|
self.check_box.setObjectName("MyCheckBox")
|
127
172
|
layout.addWidget(self.check_box)
|
128
173
|
|
129
|
-
#
|
174
|
+
# A checkbox that we want to skip
|
175
|
+
self.check_box_skip = QCheckBox("Enable feature - skip save?", self)
|
176
|
+
self.check_box_skip.setProperty("skip_state", True)
|
177
|
+
self.check_box_skip.setObjectName("MyCheckBoxSkip")
|
178
|
+
layout.addWidget(self.check_box_skip)
|
179
|
+
|
180
|
+
# CREATE A "SIDE PANEL" with nested structure and skip all what is inside
|
181
|
+
self.side_panel = QWidget(self)
|
182
|
+
self.side_panel.setObjectName("SidePanel")
|
183
|
+
self.side_panel.setProperty("skip_settings", True) # skip the ENTIRE panel
|
184
|
+
layout.addWidget(self.side_panel)
|
185
|
+
|
186
|
+
# Put some sub-widgets inside side_panel
|
187
|
+
panel_layout = QVBoxLayout(self.side_panel)
|
188
|
+
self.panel_label = QLabel("Label in side panel", self.side_panel)
|
189
|
+
self.panel_label.setObjectName("PanelLabel")
|
190
|
+
panel_layout.addWidget(self.panel_label)
|
191
|
+
|
192
|
+
self.panel_edit = QLineEdit(self.side_panel)
|
193
|
+
self.panel_edit.setObjectName("PanelLineEdit")
|
194
|
+
self.panel_edit.setPlaceholderText("I am inside side panel")
|
195
|
+
panel_layout.addWidget(self.panel_edit)
|
196
|
+
|
197
|
+
self.panel_checkbox = QCheckBox("Enable feature in side panel?", self.side_panel)
|
198
|
+
self.panel_checkbox.setObjectName("PanelCheckBox")
|
199
|
+
panel_layout.addWidget(self.panel_checkbox)
|
200
|
+
|
201
|
+
# Save/Load buttons
|
130
202
|
button_layout = QHBoxLayout()
|
131
203
|
self.save_button = QPushButton("Save State", self)
|
132
204
|
self.load_button = QPushButton("Load State", self)
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import os
|
2
2
|
|
3
3
|
from bec_lib.logger import bec_logger
|
4
|
-
from qtpy.QtCore import
|
4
|
+
from qtpy.QtCore import Signal
|
5
5
|
from qtpy.QtWidgets import QPushButton, QTreeWidgetItem, QVBoxLayout, QWidget
|
6
6
|
|
7
|
+
from bec_widgets.qt_utils.error_popups import SafeProperty, SafeSlot
|
7
8
|
from bec_widgets.utils import UILoader
|
8
9
|
from bec_widgets.utils.bec_widget import BECWidget
|
9
10
|
from bec_widgets.utils.colors import get_accent_colors
|
@@ -43,6 +44,8 @@ class LMFitDialog(BECWidget, QWidget):
|
|
43
44
|
"""
|
44
45
|
super().__init__(client=client, config=config, gui_id=gui_id)
|
45
46
|
QWidget.__init__(self, parent=parent)
|
47
|
+
self.setProperty("skip_settings", True)
|
48
|
+
self.setObjectName("LMFitDialog")
|
46
49
|
self._ui_file = ui_file
|
47
50
|
self.target_widget = target_widget
|
48
51
|
|
@@ -65,7 +68,7 @@ class LMFitDialog(BECWidget, QWidget):
|
|
65
68
|
|
66
69
|
@property
|
67
70
|
def enable_actions(self) -> bool:
|
68
|
-
"""
|
71
|
+
"""SafeProperty to enable the move to buttons."""
|
69
72
|
return self._enable_actions
|
70
73
|
|
71
74
|
@enable_actions.setter
|
@@ -74,37 +77,37 @@ class LMFitDialog(BECWidget, QWidget):
|
|
74
77
|
for button in self.action_buttons.values():
|
75
78
|
button.setEnabled(enable)
|
76
79
|
|
77
|
-
@
|
80
|
+
@SafeProperty(list)
|
78
81
|
def active_action_list(self) -> list[str]:
|
79
|
-
"""
|
82
|
+
"""SafeProperty to list the names of the fit parameters for which actions should be enabled."""
|
80
83
|
return self._active_actions
|
81
84
|
|
82
85
|
@active_action_list.setter
|
83
86
|
def active_action_list(self, actions: list[str]):
|
84
87
|
self._active_actions = actions
|
85
88
|
|
86
|
-
# This
|
87
|
-
@
|
89
|
+
# This SafeSlot needed?
|
90
|
+
@SafeSlot(bool)
|
88
91
|
def set_actions_enabled(self, enable: bool) -> bool:
|
89
|
-
"""
|
92
|
+
"""SafeSlot to enable the move to buttons.
|
90
93
|
|
91
94
|
Args:
|
92
95
|
enable (bool): Whether to enable the action buttons.
|
93
96
|
"""
|
94
97
|
self.enable_actions = enable
|
95
98
|
|
96
|
-
@
|
99
|
+
@SafeProperty(bool)
|
97
100
|
def always_show_latest(self):
|
98
|
-
"""
|
101
|
+
"""SafeProperty to indicate if always the latest DAP update is displayed."""
|
99
102
|
return self._always_show_latest
|
100
103
|
|
101
104
|
@always_show_latest.setter
|
102
105
|
def always_show_latest(self, show: bool):
|
103
106
|
self._always_show_latest = show
|
104
107
|
|
105
|
-
@
|
108
|
+
@SafeProperty(bool)
|
106
109
|
def hide_curve_selection(self):
|
107
|
-
"""
|
110
|
+
"""SafeProperty for showing the curve selection."""
|
108
111
|
return not self.ui.group_curve_selection.isVisible()
|
109
112
|
|
110
113
|
@hide_curve_selection.setter
|
@@ -116,9 +119,9 @@ class LMFitDialog(BECWidget, QWidget):
|
|
116
119
|
"""
|
117
120
|
self.ui.group_curve_selection.setVisible(not show)
|
118
121
|
|
119
|
-
@
|
122
|
+
@SafeProperty(bool)
|
120
123
|
def hide_summary(self) -> bool:
|
121
|
-
"""
|
124
|
+
"""SafeProperty for showing the summary."""
|
122
125
|
return not self.ui.group_summary.isVisible()
|
123
126
|
|
124
127
|
@hide_summary.setter
|
@@ -130,9 +133,9 @@ class LMFitDialog(BECWidget, QWidget):
|
|
130
133
|
"""
|
131
134
|
self.ui.group_summary.setVisible(not show)
|
132
135
|
|
133
|
-
@
|
136
|
+
@SafeProperty(bool)
|
134
137
|
def hide_parameters(self) -> bool:
|
135
|
-
"""
|
138
|
+
"""SafeProperty for showing the parameters."""
|
136
139
|
return not self.ui.group_parameters.isVisible()
|
137
140
|
|
138
141
|
@hide_parameters.setter
|
@@ -146,7 +149,7 @@ class LMFitDialog(BECWidget, QWidget):
|
|
146
149
|
|
147
150
|
@property
|
148
151
|
def fit_curve_id(self) -> str:
|
149
|
-
"""
|
152
|
+
"""SafeProperty for the currently displayed fit curve_id."""
|
150
153
|
return self._fit_curve_id
|
151
154
|
|
152
155
|
@fit_curve_id.setter
|
@@ -159,7 +162,7 @@ class LMFitDialog(BECWidget, QWidget):
|
|
159
162
|
self._fit_curve_id = curve_id
|
160
163
|
self.selected_fit.emit(curve_id)
|
161
164
|
|
162
|
-
@
|
165
|
+
@SafeSlot(str)
|
163
166
|
def remove_dap_data(self, curve_id: str):
|
164
167
|
"""Remove the DAP data for the given curve_id.
|
165
168
|
|
@@ -169,7 +172,7 @@ class LMFitDialog(BECWidget, QWidget):
|
|
169
172
|
self.summary_data.pop(curve_id, None)
|
170
173
|
self.refresh_curve_list()
|
171
174
|
|
172
|
-
@
|
175
|
+
@SafeSlot(str)
|
173
176
|
def select_curve(self, curve_id: str):
|
174
177
|
"""Select active curve_id in the curve list.
|
175
178
|
|
@@ -178,7 +181,7 @@ class LMFitDialog(BECWidget, QWidget):
|
|
178
181
|
"""
|
179
182
|
self.fit_curve_id = curve_id
|
180
183
|
|
181
|
-
@
|
184
|
+
@SafeSlot(dict, dict)
|
182
185
|
def update_summary_tree(self, data: dict, metadata: dict):
|
183
186
|
"""Update the summary tree with the given data.
|
184
187
|
|
@@ -2,11 +2,11 @@
|
|
2
2
|
.gitlab-ci.yml,sha256=CLlFGYRGKp4FxCPTkyF9p-7qx67KmbM9Yok9JQEU_Ls,8677
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=Pax-uPAaYn8csLuucWlT_ny-E9Oo_E-Ir94imzNuv_M,225112
|
6
6
|
LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=Xieot1CKf9UiNlNzp6GtvSokBCzpDaGWAjaBexmeez4,1339
|
8
8
|
README.md,sha256=Od69x-RS85Hph0-WwWACwal4yUd67XkEn4APEfHhHFw,2649
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=LTLlpnOWmwLbVgsGbAyIeQyIfWNeU4DMTVz4FdKgfOM,2596
|
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
|
@@ -52,9 +52,9 @@ bec_widgets/qt_utils/compact_popup.py,sha256=3yeb-GJ1PUla5Q_hT0XDKqvyIEH9yV_eGid
|
|
52
52
|
bec_widgets/qt_utils/error_popups.py,sha256=7bL-Lil1G8reQPaRZo8NfG_7Cq2Y0HkF3KREJUE0ZlQ,11545
|
53
53
|
bec_widgets/qt_utils/palette_viewer.py,sha256=--B0x7aE7bniHIeuuLY_pH8yBDrTTXaE0IDrC_AM1mo,6326
|
54
54
|
bec_widgets/qt_utils/redis_message_waiter.py,sha256=fvL_QgC0cTDv_FPJdRyp5AKjf401EJU4z3r38p47ydY,1745
|
55
|
-
bec_widgets/qt_utils/round_frame.py,sha256=
|
55
|
+
bec_widgets/qt_utils/round_frame.py,sha256=wC7R5y50Cbb4RoGqDaEjO8SnhCZifgMkL6zOmo2QUgE,5782
|
56
56
|
bec_widgets/qt_utils/settings_dialog.py,sha256=NhtzTer_xzlB2lLLrGklkI1QYLJEWQpJoZbCz4o5daI,3645
|
57
|
-
bec_widgets/qt_utils/side_panel.py,sha256=
|
57
|
+
bec_widgets/qt_utils/side_panel.py,sha256=IYeDrliW40x1EBlCSCGBsfvt8rjhfGHmId4cUK1l7OM,12346
|
58
58
|
bec_widgets/qt_utils/toolbar.py,sha256=YY_-UGc7uZhahYn7xnTvBGbalmTkpTa4WLikpsHwnMw,24433
|
59
59
|
bec_widgets/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
60
|
bec_widgets/tests/utils.py,sha256=GbQtN7qf9n-8FoAfNddZ4aAqA7oBo_hGAlnKELd6Xzw,6943
|
@@ -83,7 +83,7 @@ bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQ
|
|
83
83
|
bec_widgets/utils/ui_loader.py,sha256=6z0Qvt99XWoIk_YMACShwQ1p7PbDh6uJ9wS6e2wZs0w,4878
|
84
84
|
bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
|
85
85
|
bec_widgets/utils/widget_io.py,sha256=gLyAwXZbkNQ8sMBmnNB822FrVEk9oSSm0l57tHAgdp0,15710
|
86
|
-
bec_widgets/utils/widget_state_manager.py,sha256=
|
86
|
+
bec_widgets/utils/widget_state_manager.py,sha256=tzrxVmnGa6IHSEdeh-R68aQ934BsuS9nLQbwYQ78J90,7651
|
87
87
|
bec_widgets/utils/yaml_dialog.py,sha256=T6UyGNGdmpXW74fa_7Nk6b99T5pp2Wvyw3AOauRc8T8,2407
|
88
88
|
bec_widgets/utils/plugin_templates/plugin.template,sha256=DWtJdHpdsVtbiTTOniH3zBe5a40ztQ20o_-Hclyu38s,1266
|
89
89
|
bec_widgets/utils/plugin_templates/register.template,sha256=XyL3OZPT_FTArLAM8tHd5qMqv2ZuAbJAZLsNNnHcagU,417
|
@@ -113,7 +113,7 @@ bec_widgets/widgets/containers/figure/plots/waveform/__init__.py,sha256=47DEQpj8
|
|
113
113
|
bec_widgets/widgets/containers/figure/plots/waveform/waveform.py,sha256=6j-3hg0tVtpCnDgbYObTYwiNI7ciuWgQ5L1TlAN0Kg8,57543
|
114
114
|
bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py,sha256=9rOFHIxRjz0-G6f-mpw0FNmX846ZPwGn8yrJ3FpxlVc,8725
|
115
115
|
bec_widgets/widgets/containers/layout_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
116
|
-
bec_widgets/widgets/containers/layout_manager/layout_manager.py,sha256=
|
116
|
+
bec_widgets/widgets/containers/layout_manager/layout_manager.py,sha256=mPKLWp1ZJtr1K59jJWbpDaWUjGr47QG3-nNrEqo6a0E,33811
|
117
117
|
bec_widgets/widgets/containers/main_window/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
118
118
|
bec_widgets/widgets/containers/main_window/main_window.py,sha256=YwHXA4bliPvuHicE0ur4QctNcZv5hnWbas83tAPkUf4,1649
|
119
119
|
bec_widgets/widgets/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -205,7 +205,7 @@ bec_widgets/widgets/dap/dap_combo_box/register_dap_combo_box.py,sha256=IDeZWx4z2
|
|
205
205
|
bec_widgets/widgets/dap/lmfit_dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
206
206
|
bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog.pyproject,sha256=PTvg1ddrW_R2_gd1cfA8UyxeVlgg5B-y71-F3lY6vKI,30
|
207
207
|
bec_widgets/widgets/dap/lmfit_dialog/lm_fit_dialog_plugin.py,sha256=joM5DIJbrfwCd3xEZY7v5cXOHzsqR3Uo9JlCVnB6RHI,1271
|
208
|
-
bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py,sha256=
|
208
|
+
bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog.py,sha256=lbwOjQXL7FpZo4adzFcbUkpVAluMjKRSuP3iKrw4oHI,11889
|
209
209
|
bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_compact.ui,sha256=JbdMEPzbA3p2Ekz6U6NwXs1BqdBr71NUJNVOnhrN1dE,3397
|
210
210
|
bec_widgets/widgets/dap/lmfit_dialog/lmfit_dialog_vertical.ui,sha256=LQCQKQMcocdDElz-TbgC5kN6FTl4kUYh2zFbCjqtUQc,4877
|
211
211
|
bec_widgets/widgets/dap/lmfit_dialog/register_lm_fit_dialog.py,sha256=7tB1gsvv310_kVuKf2u4EdSR4F1posm7QCrWH5Kih-Q,480
|
@@ -332,8 +332,8 @@ bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py,sha256=Z
|
|
332
332
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject,sha256=Lbi9zb6HNlIq14k6hlzR-oz6PIFShBuF7QxE6d87d64,34
|
333
333
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py,sha256=CzChz2SSETYsR8-36meqWnsXCT-FIy_J_xeU5coWDY8,1350
|
334
334
|
bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py,sha256=rMpZ1CaoucwobgPj1FuKTnt07W82bV1GaSYdoqcdMb8,521
|
335
|
-
bec_widgets-1.17.
|
336
|
-
bec_widgets-1.17.
|
337
|
-
bec_widgets-1.17.
|
338
|
-
bec_widgets-1.17.
|
339
|
-
bec_widgets-1.17.
|
335
|
+
bec_widgets-1.17.2.dist-info/METADATA,sha256=Xieot1CKf9UiNlNzp6GtvSokBCzpDaGWAjaBexmeez4,1339
|
336
|
+
bec_widgets-1.17.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
337
|
+
bec_widgets-1.17.2.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
|
338
|
+
bec_widgets-1.17.2.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
|
339
|
+
bec_widgets-1.17.2.dist-info/RECORD,,
|
pyproject.toml
CHANGED
File without changes
|
File without changes
|
File without changes
|