Skip to content

Commit a1150de

Browse files
Fix deprecation GUI warnings for private napari attribute access (#396)
Replace `Window._dock_widgets` with the public `dock_widgets` property (removing now-redundant `.widget()` calls since the public API returns the inner widget directly). Remove dead-code assignments to `DataModel._region_key` and `DataModel._instance_key`, whose backing fields are never read — the public properties derive both values from `get_table_keys(self.adata)` — and drop the unused dataclass fields. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 3dfb2c0 commit a1150de

2 files changed

Lines changed: 5 additions & 15 deletions

File tree

src/napari_spatialdata/_model.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ class DataModel:
2828
_layer: Layer = field(init=False, default=None, repr=True)
2929
_adata: AnnData | None = field(init=False, default=None, repr=True)
3030
_adata_layer: str | None = field(init=False, default=None, repr=False)
31-
_region_key: str | None = field(default=None, repr=True)
32-
_instance_key: str | None = field(default=None, repr=True)
3331
_color_by: str = field(default="", repr=True, init=False)
3432
_system_name: str | None = field(default=None, repr=True)
3533

src/napari_spatialdata/_view.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ def __init__(
6565
self._viewer = napari_viewer
6666

6767
self._model = (
68-
model
69-
if model is not None
70-
else self._viewer.window._dock_widgets["SpatialData"].widget().viewer_model._model
68+
model if model is not None else self._viewer.window.dock_widgets["SpatialData"].viewer_model._model
7169
)
7270

7371
self._select_layer()
@@ -241,9 +239,8 @@ def export(self) -> None:
241239

242240
# check that the view widget is present
243241
# and trigger its update
244-
if "View (napari-spatialdata)" in dict(self._viewer.window._dock_widgets.items()):
245-
view_widget = dict(self._viewer.window._dock_widgets.items())["View (napari-spatialdata)"]
246-
qtAdataViewWidget = [x for x in view_widget.children() if isinstance(x, QtAdataViewWidget)][0]
242+
if "View (napari-spatialdata)" in self._viewer.window.dock_widgets:
243+
qtAdataViewWidget = self._viewer.window.dock_widgets["View (napari-spatialdata)"]
247244
qtAdataViewWidget._on_layer_update()
248245

249246
# new annotation - update options
@@ -306,9 +303,7 @@ def save_sdata(self) -> None:
306303
selected_table = self.table_name_widget.currentText()
307304

308305
# trigger saving of the table
309-
# TODO: have to find another way to pass this as this is deprecated from 0.5.0 onwards
310-
# it's used in the save_sdata method
311-
self._viewer_model = self._viewer.window._dock_widgets["SpatialData"].widget().viewer_model
306+
self._viewer_model = self._viewer.window.dock_widgets["SpatialData"].viewer_model
312307
self._viewer_model._write_element_to_disk(
313308
selected_layer.metadata["sdata"],
314309
selected_table,
@@ -611,8 +606,6 @@ def _select_layer(self) -> None:
611606
if self.model.adata.shape == (0, 0):
612607
return
613608

614-
self.model._region_key = layer.metadata["region_key"] if isinstance(layer, Labels) else None
615-
self.model._instance_key = layer.metadata["instance_key"] if isinstance(layer, Labels) else None
616609
self.model.system_name = layer.metadata.get("name", None)
617610

618611
if hasattr(
@@ -695,8 +688,7 @@ class QtAdataAnnotationWidget(QWidget):
695688
def __init__(self, napari_viewer: Viewer):
696689
super().__init__()
697690
self._viewer = napari_viewer
698-
# TODO: have to find another way to pass this as this is deprecated from 0.5.0 onwards
699-
self._viewer_model = self._viewer.window._dock_widgets["SpatialData"].widget().viewer_model
691+
self._viewer_model = self._viewer.window.dock_widgets["SpatialData"].viewer_model
700692

701693
self.setLayout(QGridLayout())
702694
self._current_color = "#FFFFFF"

0 commit comments

Comments
 (0)