Skip to content

Commit ffc0750

Browse files
committed
factorize management of closing image frames
1 parent 5c77fd5 commit ffc0750

File tree

4 files changed

+29
-40
lines changed

4 files changed

+29
-40
lines changed

ImageM/+imagem/+gui/Image3DSliceViewer.m

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -387,19 +387,6 @@ function onKeyReleased(obj, hObject, eventdata) %#ok<INUSD>
387387

388388
%% Figure management
389389
methods
390-
function close(obj, varargin)
391-
% disp('Close image viewer');
392-
if ~isempty(obj.Doc)
393-
try
394-
removeView(obj.Doc, obj);
395-
catch ME %#ok<NASGU>
396-
warning('PlanarImageViewer:close', ...
397-
'Current view is not referenced in document...');
398-
end
399-
end
400-
delete(obj.Handles.Figure);
401-
end
402-
403390
function onScrollPanelResized(obj, varargin)
404391
% function called when the Scroll panel has been resized
405392

ImageM/+imagem/+gui/Image5DSliceViewer.m

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -536,19 +536,6 @@ function onKeyReleased(obj, hObject, eventdata) %#ok<INUSD>
536536

537537
%% Figure management
538538
methods
539-
function close(obj, varargin)
540-
% disp('Close image viewer');
541-
if ~isempty(obj.Doc)
542-
try
543-
removeView(obj.Doc, obj);
544-
catch ME %#ok<NASGU>
545-
warning('PlanarImageViewer:close', ...
546-
'Current view is not referenced in document...');
547-
end
548-
end
549-
delete(obj.Handles.Figure);
550-
end
551-
552539
function onScrollPanelResized(obj, varargin)
553540
% function called when the Scroll panel has been resized
554541

ImageM/+imagem/+gui/ImageViewer.m

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,35 @@ function clearPreviewImage(obj)
185185
end
186186

187187

188+
%% Figure management
189+
methods
190+
function close(obj, varargin)
191+
% Default implementation for closing frame.
192+
%
193+
% Actions:
194+
% * remove the view from the doc
195+
% * if this view was the last one attached to the doc, remove the
196+
% doc from the app
197+
% * close the Figure widget
198+
199+
if ~isempty(obj.Doc)
200+
try
201+
removeView(obj.Doc, obj);
202+
203+
if isempty(obj.Doc.Views)
204+
obj.Gui.App.removeDocument(obj.Doc);
205+
end
206+
207+
catch ME %#ok<NASGU>
208+
warning([mfilename ':close'], ...
209+
'Current view is not referenced in document...');
210+
end
211+
end
212+
delete(obj.Handles.Figure);
213+
end
214+
end
215+
216+
188217
%% Image display listeners management
189218
methods
190219
function addImageDisplayListener(obj, listener)

ImageM/+imagem/+gui/PlanarImageViewer.m

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -329,20 +329,6 @@ function onKeyReleased(obj, hObject, eventdata) %#ok<INUSD>
329329

330330
%% Figure management
331331
methods
332-
function close(obj, varargin)
333-
% disp('Close image viewer');
334-
if ~isempty(obj.Doc)
335-
try
336-
removeView(obj.Doc, obj);
337-
catch ME %#ok<NASGU>
338-
name = obj.Doc.Image.Name;
339-
warning('PlanarImageViewer:close', ...
340-
'Current view is not referenced in document ''%s''...', name);
341-
end
342-
end
343-
delete(obj.Handles.Figure);
344-
end
345-
346332
function onScrollPanelResized(obj, varargin)
347333
% function called when the Scroll panel has been resized
348334

0 commit comments

Comments
 (0)