bec-widgets 2.10.1__py3-none-any.whl → 2.10.3__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.
- .github/workflows/formatter.yml +7 -2
- CHANGELOG.md +21 -0
- PKG-INFO +1 -1
- bec_widgets/utils/settings_dialog.py +1 -1
- bec_widgets/utils/ui_loader.py +1 -1
- bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_tree.py +8 -11
- bec_widgets/widgets/utility/visual/color_button_native/color_button_native.py +17 -2
- {bec_widgets-2.10.1.dist-info → bec_widgets-2.10.3.dist-info}/METADATA +1 -1
- {bec_widgets-2.10.1.dist-info → bec_widgets-2.10.3.dist-info}/RECORD +13 -13
- pyproject.toml +1 -1
- {bec_widgets-2.10.1.dist-info → bec_widgets-2.10.3.dist-info}/WHEEL +0 -0
- {bec_widgets-2.10.1.dist-info → bec_widgets-2.10.3.dist-info}/entry_points.txt +0 -0
- {bec_widgets-2.10.1.dist-info → bec_widgets-2.10.3.dist-info}/licenses/LICENSE +0 -0
.github/workflows/formatter.yml
CHANGED
@@ -14,10 +14,15 @@ jobs:
|
|
14
14
|
|
15
15
|
- name: Run black and isort
|
16
16
|
run: |
|
17
|
-
pip install
|
18
|
-
pip install
|
17
|
+
pip install uv
|
18
|
+
uv pip install --system black isort
|
19
|
+
uv pip install --system -e .[dev]
|
19
20
|
black --check --diff --color .
|
20
21
|
isort --check --diff ./
|
22
|
+
|
23
|
+
- name: Check for disallowed imports from PySide
|
24
|
+
run: '! grep -re "from PySide6\." bec_widgets/ | grep -v -e "PySide6.QtDesigner" -e "PySide6.scripts"'
|
25
|
+
|
21
26
|
Pylint:
|
22
27
|
runs-on: ubuntu-latest
|
23
28
|
|
CHANGELOG.md
CHANGED
@@ -1,6 +1,27 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
+
## v2.10.3 (2025-06-04)
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
- **color_button_native**: Popup logic to choose color moved to ColorButtonNative
|
9
|
+
([`2d0ed94`](https://github.com/bec-project/bec_widgets/commit/2d0ed94f3feb38dfc9645f2c3b9d6a06b92637bb))
|
10
|
+
|
11
|
+
|
12
|
+
## v2.10.2 (2025-06-03)
|
13
|
+
|
14
|
+
### Bug Fixes
|
15
|
+
|
16
|
+
- Remove unnecessary PySide imports
|
17
|
+
([`1df6c19`](https://github.com/bec-project/bec_widgets/commit/1df6c1925b6ec88df8d7a1a5a79a5ddc6b1161b5))
|
18
|
+
|
19
|
+
### Continuous Integration
|
20
|
+
|
21
|
+
- Check for disallowed imports from PySide
|
22
|
+
([`6b939ac`](https://github.com/bec-project/bec_widgets/commit/6b939ac34d01cdbb0e8e32a0bd4e56cad032e75b))
|
23
|
+
|
24
|
+
|
4
25
|
## v2.10.1 (2025-06-02)
|
5
26
|
|
6
27
|
### Bug Fixes
|
PKG-INFO
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
from bec_lib.logger import bec_logger
|
2
|
-
from
|
2
|
+
from qtpy.QtGui import QCloseEvent
|
3
3
|
from qtpy.QtWidgets import QDialog, QDialogButtonBox, QHBoxLayout, QPushButton, QVBoxLayout, QWidget
|
4
4
|
|
5
5
|
from bec_widgets.utils.error_popups import SafeSlot
|
bec_widgets/utils/ui_loader.py
CHANGED
@@ -9,7 +9,7 @@ from bec_widgets.utils.plugin_utils import get_custom_classes
|
|
9
9
|
logger = bec_logger.logger
|
10
10
|
|
11
11
|
if PYSIDE6:
|
12
|
-
from
|
12
|
+
from qtpy.QtUiTools import QUiLoader
|
13
13
|
|
14
14
|
class CustomUiLoader(QUiLoader):
|
15
15
|
def __init__(self, baseinstance, custom_widgets: dict | None = None):
|
@@ -22,6 +22,7 @@ from qtpy.QtWidgets import (
|
|
22
22
|
QWidget,
|
23
23
|
)
|
24
24
|
|
25
|
+
from bec_widgets import SafeSlot
|
25
26
|
from bec_widgets.utils import ConnectionConfig, EntryValidator
|
26
27
|
from bec_widgets.utils.bec_widget import BECWidget
|
27
28
|
from bec_widgets.utils.colors import Colors
|
@@ -154,7 +155,7 @@ class CurveRow(QTreeWidgetItem):
|
|
154
155
|
"""Create columns 3..6: color button, style combo, width spin, symbol spin."""
|
155
156
|
# Color in col 3
|
156
157
|
self.color_button = ColorButtonNative(color=self.config.color)
|
157
|
-
self.color_button.
|
158
|
+
self.color_button.color_changed.connect(self._on_color_changed)
|
158
159
|
self.tree.setItemWidget(self, 3, self.color_button)
|
159
160
|
|
160
161
|
# Style in col 4
|
@@ -177,20 +178,16 @@ class CurveRow(QTreeWidgetItem):
|
|
177
178
|
self.symbol_spin.setValue(self.config.symbol_size)
|
178
179
|
self.tree.setItemWidget(self, 6, self.symbol_spin)
|
179
180
|
|
180
|
-
|
181
|
+
@SafeSlot(str, verify_sender=True)
|
182
|
+
def _on_color_changed(self, new_color: str):
|
181
183
|
"""
|
182
|
-
|
183
|
-
related configuration properties based on the chosen color.
|
184
|
+
Update configuration when the color button emits a change.
|
184
185
|
|
185
186
|
Args:
|
186
|
-
|
187
|
+
new_color (str): The new color in hex format.
|
187
188
|
"""
|
188
|
-
|
189
|
-
|
190
|
-
if chosen_color.isValid():
|
191
|
-
button.set_color(chosen_color)
|
192
|
-
self.config.color = chosen_color.name()
|
193
|
-
self.config.symbol_color = chosen_color.name()
|
189
|
+
self.config.color = new_color
|
190
|
+
self.config.symbol_color = new_color
|
194
191
|
|
195
192
|
def add_dap_row(self):
|
196
193
|
"""Create a new DAP row as a child. Only valid if source='device'."""
|
@@ -1,5 +1,8 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from qtpy.QtCore import Signal
|
1
4
|
from qtpy.QtGui import QColor
|
2
|
-
from qtpy.QtWidgets import QPushButton
|
5
|
+
from qtpy.QtWidgets import QColorDialog, QPushButton
|
3
6
|
|
4
7
|
from bec_widgets import BECWidget, SafeProperty, SafeSlot
|
5
8
|
|
@@ -12,6 +15,8 @@ class ColorButtonNative(BECWidget, QPushButton):
|
|
12
15
|
to guarantee good readability.
|
13
16
|
"""
|
14
17
|
|
18
|
+
color_changed = Signal(str)
|
19
|
+
|
15
20
|
RPC = False
|
16
21
|
PLUGIN = True
|
17
22
|
ICON_NAME = "colors"
|
@@ -25,9 +30,10 @@ class ColorButtonNative(BECWidget, QPushButton):
|
|
25
30
|
"""
|
26
31
|
super().__init__(parent=parent, **kwargs)
|
27
32
|
self.set_color(color)
|
33
|
+
self.clicked.connect(self._open_color_dialog)
|
28
34
|
|
29
35
|
@SafeSlot()
|
30
|
-
def set_color(self, color):
|
36
|
+
def set_color(self, color: str | QColor):
|
31
37
|
"""Set the button's color and update its appearance.
|
32
38
|
|
33
39
|
Args:
|
@@ -38,6 +44,7 @@ class ColorButtonNative(BECWidget, QPushButton):
|
|
38
44
|
else:
|
39
45
|
self._color = color
|
40
46
|
self._update_appearance()
|
47
|
+
self.color_changed.emit(self._color)
|
41
48
|
|
42
49
|
@SafeProperty("QColor")
|
43
50
|
def color(self):
|
@@ -56,3 +63,11 @@ class ColorButtonNative(BECWidget, QPushButton):
|
|
56
63
|
text_color = "#000000" if brightness > 0.5 else "#FFFFFF"
|
57
64
|
self.setStyleSheet(f"background-color: {self._color}; color: {text_color};")
|
58
65
|
self.setText(self._color)
|
66
|
+
|
67
|
+
@SafeSlot()
|
68
|
+
def _open_color_dialog(self):
|
69
|
+
"""Open a QColorDialog and apply the selected color."""
|
70
|
+
current_color = QColor(self._color)
|
71
|
+
chosen_color = QColorDialog.getColor(current_color, self, "Select Curve Color")
|
72
|
+
if chosen_color.isValid():
|
73
|
+
self.set_color(chosen_color)
|
@@ -2,11 +2,11 @@
|
|
2
2
|
.gitlab-ci.yml,sha256=1nMYldzVk0tFkBWYTcUjumOrdSADASheWOAc0kOFDYs,9509
|
3
3
|
.pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
|
4
4
|
.readthedocs.yaml,sha256=ivqg3HTaOxNbEW3bzWh9MXAkrekuGoNdj0Mj3SdRYuw,639
|
5
|
-
CHANGELOG.md,sha256=
|
5
|
+
CHANGELOG.md,sha256=cWrA4_qflE6UwtdjVRKaazD6sHWKNKRysZZ4ks6dWNI,293110
|
6
6
|
LICENSE,sha256=Daeiu871NcAp8uYi4eB_qHgvypG-HX0ioRQyQxFwjeg,1531
|
7
|
-
PKG-INFO,sha256=
|
7
|
+
PKG-INFO,sha256=Srgpj3zqyK5vthPGAPDziOYXfH_LYjLNYDT97SgjTuY,1254
|
8
8
|
README.md,sha256=oY5Jc1uXehRASuwUJ0umin2vfkFh7tHF-LLruHTaQx0,3560
|
9
|
-
pyproject.toml,sha256=
|
9
|
+
pyproject.toml,sha256=bHRGb77fRv3z8fPACmRZ1tuwrHgEzFbebpQJO1tbpjc,2835
|
10
10
|
.git_hooks/pre-commit,sha256=n3RofIZHJl8zfJJIUomcMyYGFi_rwq4CC19z0snz3FI,286
|
11
11
|
.github/pull_request_template.md,sha256=F_cJXzooWMFgMGtLK-7KeGcQt0B4AYFse5oN0zQ9p6g,801
|
12
12
|
.github/ISSUE_TEMPLATE/bug_report.yml,sha256=WdRnt7HGxvsIBLzhkaOWNfg8IJQYa_oV9_F08Ym6znQ,1081
|
@@ -18,7 +18,7 @@ pyproject.toml,sha256=T1p9cRdEf-x8mv73uVd77Cq2gmvp3vu7tihGr2VnxOk,2835
|
|
18
18
|
.github/workflows/check_pr.yml,sha256=jKMtYBJTNRAdw_MAS4JzdKVSoNrv8nxUQMqobsYFAXw,903
|
19
19
|
.github/workflows/ci.yml,sha256=OVZt0UxN4wQInuMucuQcKsvHDiz27sLeuQRskxjtkY0,1863
|
20
20
|
.github/workflows/end2end-conda.yml,sha256=yTH-CS8xxQ7kMo4BDpWwOeef1xmsV6gyrgqnFPHTo30,2278
|
21
|
-
.github/workflows/formatter.yml,sha256=
|
21
|
+
.github/workflows/formatter.yml,sha256=CrYpMfUaZmFFvCk8sK-_7dTtngVxob0Cb1PaJZAZYWw,1918
|
22
22
|
.github/workflows/generate-cli-check.yml,sha256=b6TcK8F5Hy0sFjgXpk0w3BO9eMDZw9WysTl3P7zEPuQ,1742
|
23
23
|
.github/workflows/pytest-matrix.yml,sha256=0gL5wNPJKJF1JapqstlYNYiJ44ko05uaTD7epa7smVw,1834
|
24
24
|
.github/workflows/pytest.yml,sha256=hYOB7XK_79MaiELaTH7zDT-WRw-pRDe4mHyB_WfcGDc,1747
|
@@ -91,11 +91,11 @@ bec_widgets/utils/round_frame.py,sha256=SLtoPi8sfJvjfK7G_a4_sRBMGivF5fTHNwMLq93-
|
|
91
91
|
bec_widgets/utils/rpc_decorator.py,sha256=pIvtqySQLnuS7l2Ti_UAe4WX7CRivZnsE5ZdKAihxh0,479
|
92
92
|
bec_widgets/utils/rpc_server.py,sha256=6FqSsjndXwLoL5d-zIHHLMg_U3GyK0aSk5gc1833UGw,10311
|
93
93
|
bec_widgets/utils/serialization.py,sha256=_SO8q0ylC0MWckT9yTbCtF0QNsRoT6ysL8WnN8-GQ-U,1174
|
94
|
-
bec_widgets/utils/settings_dialog.py,sha256=
|
94
|
+
bec_widgets/utils/settings_dialog.py,sha256=jSR6s1DW8KMbvCTM4gab2ESgHja9KTOHU079oOUzW7w,4304
|
95
95
|
bec_widgets/utils/side_panel.py,sha256=enxcQOwJOMfD3MxgPA9mQSKSX_F6Omy2zePncYDW1FA,14193
|
96
96
|
bec_widgets/utils/thread_checker.py,sha256=rDNuA3X6KQyA7JPb67mccTg0z8YkInynLAENQDQpbuE,1607
|
97
97
|
bec_widgets/utils/toolbar.py,sha256=nQM2h5WqTmQDxlU4GMk6OyRJr-0_4VAKSbug7yOUwWY,40769
|
98
|
-
bec_widgets/utils/ui_loader.py,sha256=
|
98
|
+
bec_widgets/utils/ui_loader.py,sha256=c3F1lC1FlRpJ_kUloPE5D8Lo3pbXuj9KgtKEY0DEz34,4999
|
99
99
|
bec_widgets/utils/validator_delegate.py,sha256=Emj1WF6W8Ke1ruBWUfmHdVJpmOSPezuOt4zvQTay_44,442
|
100
100
|
bec_widgets/utils/widget_io.py,sha256=afR7i59fw2WrEQCmkH5dwhz1uNjfMPnJTIhE8NWVBsU,21552
|
101
101
|
bec_widgets/utils/widget_state_manager.py,sha256=tzrxVmnGa6IHSEdeh-R68aQ934BsuS9nLQbwYQ78J90,7651
|
@@ -316,7 +316,7 @@ bec_widgets/widgets/plots/waveform/waveform_plugin.py,sha256=2AZPtBHs75l9cdhwQnY
|
|
316
316
|
bec_widgets/widgets/plots/waveform/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
317
317
|
bec_widgets/widgets/plots/waveform/settings/curve_settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
318
318
|
bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_setting.py,sha256=Q-wgtzsllExbeOxQoCPmcCQfKRjp_hJeYcinSSy_0HI,4454
|
319
|
-
bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_tree.py,sha256=
|
319
|
+
bec_widgets/widgets/plots/waveform/settings/curve_settings/curve_tree.py,sha256=Os5u5ZP4L7erClXtkuHMHMvf-a1dTO7ZL8W9Rk3nnWY,20742
|
320
320
|
bec_widgets/widgets/plots/waveform/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
321
321
|
bec_widgets/widgets/plots/waveform/utils/roi_manager.py,sha256=zCl3-p3qP02zi837Udz8VUzsbUAwiP-26K3VpLsvaUU,2964
|
322
322
|
bec_widgets/widgets/progress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -384,7 +384,7 @@ bec_widgets/widgets/utility/visual/color_button/color_button.pyproject,sha256=LU
|
|
384
384
|
bec_widgets/widgets/utility/visual/color_button/color_button_plugin.py,sha256=Eqp6eW1Iu1uS40_rHzgA_Hxy1F6Co7pzv2fdz5cWNGU,1282
|
385
385
|
bec_widgets/widgets/utility/visual/color_button/register_color_button.py,sha256=BD1XGznJqYX3DgUPy2HWDgzu8KdLspR6wagseG5Bo2s,507
|
386
386
|
bec_widgets/widgets/utility/visual/color_button_native/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
387
|
-
bec_widgets/widgets/utility/visual/color_button_native/color_button_native.py,sha256=
|
387
|
+
bec_widgets/widgets/utility/visual/color_button_native/color_button_native.py,sha256=M7owSqPjYIlOou9U-M9Sxp7QzaIN2Q3cWeWkDdTjlDA,2383
|
388
388
|
bec_widgets/widgets/utility/visual/color_button_native/color_button_native.pyproject,sha256=ceGob3QdHeAvyTj5RQTuxpUB2hNFh3nhRfNpHep4K_k,37
|
389
389
|
bec_widgets/widgets/utility/visual/color_button_native/color_button_native_plugin.py,sha256=RfGUHfLRqRfXGbDAR6SJ46OleXaXEmXyfCjqtQ9yjBs,1389
|
390
390
|
bec_widgets/widgets/utility/visual/color_button_native/register_color_button_native.py,sha256=-TLOcJNpg0hsUaGBNPhWFrzgVwSmXuk8xtY48zAERSc,533
|
@@ -403,8 +403,8 @@ bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py,sha256=O
|
|
403
403
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject,sha256=Lbi9zb6HNlIq14k6hlzR-oz6PIFShBuF7QxE6d87d64,34
|
404
404
|
bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py,sha256=CzChz2SSETYsR8-36meqWnsXCT-FIy_J_xeU5coWDY8,1350
|
405
405
|
bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py,sha256=rMpZ1CaoucwobgPj1FuKTnt07W82bV1GaSYdoqcdMb8,521
|
406
|
-
bec_widgets-2.10.
|
407
|
-
bec_widgets-2.10.
|
408
|
-
bec_widgets-2.10.
|
409
|
-
bec_widgets-2.10.
|
410
|
-
bec_widgets-2.10.
|
406
|
+
bec_widgets-2.10.3.dist-info/METADATA,sha256=Srgpj3zqyK5vthPGAPDziOYXfH_LYjLNYDT97SgjTuY,1254
|
407
|
+
bec_widgets-2.10.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
408
|
+
bec_widgets-2.10.3.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
|
409
|
+
bec_widgets-2.10.3.dist-info/licenses/LICENSE,sha256=Daeiu871NcAp8uYi4eB_qHgvypG-HX0ioRQyQxFwjeg,1531
|
410
|
+
bec_widgets-2.10.3.dist-info/RECORD,,
|
pyproject.toml
CHANGED
File without changes
|
File without changes
|
File without changes
|