Skip to content

Commit

Permalink
enh: do not keep dataset references in QuickView, only remember IDs
Browse files Browse the repository at this point in the history
  • Loading branch information
paulmueller committed Feb 11, 2025
1 parent 65ad1eb commit c6804ba
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
2.21.5
- fix: disable table graphs widget when an image-type table is shown
- fix: accessing table data from DCOR
- enh: do not keep dataset references in QuickView, only remember IDs
- setup: bump dclab to 0.62.13
2.21.4
- fix: incorrect path list check when loading broken dataset
Expand Down
19 changes: 10 additions & 9 deletions shapeout2/gui/quick_view/qv_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ class QuickView(QtWidgets.QWidget):
polygon_filter_about_to_be_deleted = QtCore.pyqtSignal(int)

def __init__(self, *args, **kwargs):
self._hover_ds = None
self._hover_event = None
self._hover_ds_id = None
self._hover_event_idx = None
super(QuickView, self).__init__(*args, **kwargs)
ref = importlib.resources.files(
"shapeout2.gui.quick_view") / "qv_main.ui"
Expand Down Expand Up @@ -292,8 +292,8 @@ def _check_file_open(self, rtdc_ds):
return isopen

def _set_initial_ui(self):
self._hover_ds = None
self._hover_event = None
self._hover_ds_id = None
self._hover_event_idx = None
# Initially, only show the info about how QuickView works
self.widget_tool.setEnabled(False)
self.widget_scatter.hide()
Expand All @@ -316,8 +316,8 @@ def rtdc_ds(self):
@rtdc_ds.setter
def rtdc_ds(self, rtdc_ds):
if self._rtdc_ds is not rtdc_ds:
self._hover_ds = None
self._hover_event = None
self._hover_ds_id = None
self._hover_event_idx = None

self._rtdc_ds = rtdc_ds

Expand Down Expand Up @@ -574,10 +574,11 @@ def on_event_scatter_hover(self, pos):
event = np.where(plotted)[0][point.index()]

# Only plot if we have not plotted this event before
if self._hover_ds is not ds or self._hover_event != event:
if (self._hover_ds_id != id(ds)
or self._hover_event_idx != event):
# remember where we were
self._hover_ds = ds
self._hover_event = event
self._hover_ds_id = id(ds)
self._hover_event_idx = event
view = "view_poly"
for key in self.img_info.keys():
self.img_info[key][view].hide()
Expand Down

0 comments on commit c6804ba

Please sign in to comment.