view m-toolbox/classes/@LTPDAprefs/cb_guiClosed.m @ 24:056f8e1e995e database-connection-manager

Properly record history in fromRepository constructors
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Mon, 05 Dec 2011 16:20:06 +0100
parents f0afece42f48
children ce4df2e95a55
line wrap: on
line source

% cb_guiClosed callback for closing the LTPDAprefs GUI
%
% Parameters:
%       first  - LTPDAprefs object
%       second - Source object (here: java LTPDAPrefsGui)
%       third  - Event Object (here: WindowEvent)
%
% Version:
%     $Id: cb_guiClosed.m,v 1.4 2011/04/27 12:45:49 hewitson Exp $
%

function cb_guiClosed(varargin)
  disp('*** Goodbye from LTPDAprefs');
  ltpdaPrefs = varargin{1};
  
  if ~isempty(ltpdaPrefs) && isvalid(ltpdaPrefs)
%     fprintf(2, 'deleting handles\n');
    %--- called when window is closed
    h = handle(ltpdaPrefs.gui, 'callbackproperties');
    set(h, 'WindowClosedCallback', []);
    %--- Add extension path button
    h = handle(ltpdaPrefs.gui.getPrefsTabPane().getExtensionsPanel().getAddPathBtn(), 'callbackproperties');
    set(h, 'ActionPerformedCallback', []);
    %--- Remove extension path button
    h = handle(ltpdaPrefs.gui.getPrefsTabPane().getExtensionsPanel().getRemovePathBtn(), 'callbackproperties');
    set(h, 'ActionPerformedCallback', []);
    %--- Plot preferences changed
    h = handle(ltpdaPrefs.gui.getPrefs().getPlotPrefs(), 'callbackproperties');
    set(h, 'PropertyChangeCallback', []);
        
    ltpdaPrefs.gui.setPrefs([]);
    
    %--- It is also necessary to destroy the GUI with the destructor 'delete'
    delete(ltpdaPrefs);
    
  end
  
  java.lang.System.gc
  clear();
  
end