Skip to content

Commit 76b9cbc

Browse files
committed
Fix ROI action state updates after ROI modifications
The "Edit numerically" menu entry was remaining disabled after adding ROI through graphical editor, even though the image had a valid ROI. This was caused by missing calls to selection_changed() which updates action states based on current selection conditions.
1 parent 04134a4 commit 76b9cbc

3 files changed

Lines changed: 4 additions & 1 deletion

File tree

datalab/gui/panel/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,7 @@ def paste_roi(self) -> None:
825825
obj.roi = self.__roi_clipboard.copy()
826826
else:
827827
obj.roi = obj.roi.combine_with(self.__roi_clipboard)
828+
self.selection_changed(update_items=True)
828829
self.refresh_plot(
829830
"selected", update_items=True, only_visible=False, only_existing=True
830831
)
@@ -1341,6 +1342,7 @@ def import_roi_from_file(self, filename: str | None = None) -> None:
13411342
obj.roi = roi
13421343
else:
13431344
obj.roi.combine_with(roi)
1345+
self.selection_changed(update_items=True)
13441346
self.refresh_plot("selected", True, False)
13451347

13461348
def export_roi_to_file(self, filename: str | None = None) -> None:

datalab/gui/processor/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1959,7 +1959,7 @@ def edit_roi_graphically(
19591959
for obj_i in objs:
19601960
obj_i.roi = edited_roi
19611961
self.SIG_ADD_SHAPE.emit(get_uuid(obj))
1962-
# self.panel.selection_changed(update_items=True)
1962+
self.panel.selection_changed(update_items=True)
19631963
self.panel.refresh_plot(
19641964
"selected",
19651965
update_items=True,

datalab/gui/processor/image.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,7 @@ def create_roi_grid(self) -> None:
762762
for obj in self.panel.objview.get_sel_objects():
763763
obj.roi = editor.get_roi()
764764
self.SIG_ADD_SHAPE.emit(get_uuid(obj0))
765+
self.panel.selection_changed(update_items=True)
765766
self.panel.refresh_plot(
766767
"selected",
767768
update_items=True,

0 commit comments

Comments
 (0)