Skip to content
Snippets Groups Projects
tsgqc_GUI.m 72.9 KiB
Newer Older
        warning('tsgqc_GUI:SaveMenuCallback', ...
                'NetCDF writing error: %s %s', pathName, fileName);
      % update the display
      % ------------------
      set( hInfoFileText, 'String', fileName);
      % enable Quality Control mode
      % ---------------------------
      hdl_pushtool = findobj('Tag', 'QC');
      set(hdl_pushtool, 'Enable', 'on');
%% UndoMenuCallback
  % -----------------------------------------------------------------------
  % Callback function run when the Edit/Undo menu item is selected (Ctrl+Z)
  % -----------------------------------------------------------------------
  function UndoMenuCallback(hObject, eventdata)  
 
    % Undo module not yet implemented
    % -------------------------------
    % msgbox('Undo module not yet implemented', 'modal');
    
    tsg.queue = undo(tsg.queue);
    tsg.SSPS_QC = get(tsg.queue);
   
    % Make the Salinity, temperature and velocity plot
    % ------------------------------------------------
    plot_SalTempVel( hMainFig, hPlotAxes );

  end

%% RedoMenuCallback
  % -----------------------------------------------------------------------
  % Callback function run when the Edit/Redo menu item is selected (Ctrl+R)
  % -----------------------------------------------------------------------
  function RedoMenuCallback(hObject, eventdata)  
 
    % Redo module not yet implemented
    % -------------------------------
    msgbox('Redo module not yet implemented', 'modal');
    
  end

  % -----------------------------------------------------------------
  % Callback function run when the Quit menu item is selected
  % -----------------------------------------------------------------
  function QuitMenuCallback(hObject, eventdata)  
    % get root struct from root object
    % --------------------------------
    root = get(0,'Userdata');

    % save config mat file in prefdir
    % -------------------------------
    config_file = [prefdir, filesep, tsgqcname, '.mat'];

    % set tsg.levitus empty before save preferences in mat file
    % ---------------------------------------------------------
    tsg.levitus = [];

    % save preference mat file
    % ------------------------
    save( config_file, 'root', 'tsg');

    % If the data have been modified and not save, the program
    % --------------------------------------------------------
    if  strcmp( get( hSaveMenu, 'UserData' ), 'on')
      selection = ...
        questdlg('The file has been modified.  Do you want to save it ?',...
        'Save before Quit?',...
        'Yes', 'No', 'Yes');
        
        % call File/Save Menu Callback before before quit
        % -----------------------------------------------
        SaveMenuCallback;
             
      
      % quit program
      % ------------
      QuitProgram;
      
    else
      selection = ...
        questdlg(['Quit ' get(hMainFig, 'Name') '?'],...
        ['Quit ' get(hMainFig, 'Name') '?'],...
        'Yes', 'No', 'Yes');
      if strcmp(selection, 'No')
        return;
      else
        QuitProgram;
      end
  % -----------------------------------------------------------------
  % call from: 
  %   QuitMenuCallback
  %   callback 'CloseRequestFcn', @QuitProgram
  % -----------------------------------------------------------------
  function QuitProgram(hObject, eventdata)
    
    % reset userdata property of root Matalab object (0) for next use
    % ---------------------------------------------------------------
    set(0, 'userdata', []);
    rmpath( [DEFAULT_PATH_FILE filesep 'tsg_util'] );
    rmpath( [DEFAULT_PATH_FILE filesep 'tsg_data'] );
    rmpath( [DEFAULT_PATH_FILE filesep 'tsg_io'] );
% end of tsgqc_GUI
% ----------------
end