From cccabfd5ccb784bf270b2cae818c9b70cf000002 Mon Sep 17 00:00:00 2001 From: Thomas Robitaille Date: Thu, 13 May 2021 16:30:38 +0100 Subject: [PATCH] EXP: show how one would always create a new subset --- glue/core/edit_subset_mode.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/glue/core/edit_subset_mode.py b/glue/core/edit_subset_mode.py index a1ac28169..bcb37c439 100644 --- a/glue/core/edit_subset_mode.py +++ b/glue/core/edit_subset_mode.py @@ -64,6 +64,7 @@ def _combine_data(self, new_state, override_mode=None): :param override_mode: Mode to use instead of EditSubsetMode.mode """ mode = override_mode or self.mode + len_edit_subset = len(self._edit_subset) if not self._edit_subset or mode is NewMode: if self.data_collection is None: raise RuntimeError("Must set data_collection before " @@ -72,6 +73,12 @@ def _combine_data(self, new_state, override_mode=None): subs = self._edit_subset for s in as_list(subs): mode(s, new_state) + # If we wanted to make sure that when in NewMode we go back to having + # no current subset selected (which would mean creating a new subset + # every time) we need to reset edit_subset here + print(self.mode, self._edit_subset) + if self.mode is NewMode or len_edit_subset == 0: + self.edit_subset = [] @contract(d='inst($DataCollection, $Data)', new_state='isinstance(SubsetState)',