Commit 36bbdd82 authored by Colin Eles's avatar Colin Eles
Browse files

begining of undo/redo functionality

git-svn-id: https://groke.mcmaster.ca/svn/grad/colin/trunk/TableTool@6199 57e6efec-57d4-0310-aeb1-a6c144bb1a8b
parent f5602166
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ classdef GUI < handle
        multi_opt_reg = [];
        multi_opt_out = [];
        version = '0.1';
        
        undo_man = [];
        
    end
    
+9 −2
Original line number Diff line number Diff line
@@ -163,8 +163,9 @@
            uimenu(filemenu,'Label','Save to Block','Separator','on','Accelerator','s','Callback',@(src,event)save_call(object,src,event));
            uimenu(filemenu,'Label','Save to M-File','Callback',@(src,event)save_ext_call(object,src,event));
            uimenu(filemenu,'Label','Close','Accelerator','w','Separator','on','Callback',@(src,event)close_fig(object,src,event));     
    
            uimenu(editmenu,'Label','Show edit controls','Checked','on');
            uimenu(editmenu,'Label','Undo','Accelerator','z','Callback',@(src,event)undo_call(object,src,event));
            uimenu(editmenu,'Label','Redo','Accelerator','z','Callback',@(src,event)redo_call(object,src,event));
            uimenu(editmenu,'Label','Show edit controls','Checked','on','Separator','on');
            uimenu(editmenu,'Label','Ports and Data Manager','Accelerator','p','Callback',@(src,event)input_call(object,src,event));
            multi_mode_menu = uimenu(editmenu,'Label','Output Mode');
            object.multi_opt_reg = uimenu(multi_mode_menu,'Label','One Output','Callback',@(src,event)multi_select_call(object,src,event));
@@ -193,6 +194,8 @@
            end
            
            
            
            
            object.update_Statusbar;
            object.update_multi_check_status;
            
@@ -200,11 +203,15 @@
            object.PVS = PVS_checker(object.Data);
            object.EMLGen = EMLGenerator(object.Data);
            
            object.undo_man = UndoManager();
            
            
            object.initialized = 1;
            object.Data.open = 1;
            object.Data.fig = object.fig;
            
            
            
        end
        
        
+0 −1
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@
            object.pvs_checked = Data.checked;
            object.function_name_text = Data.function_name;
            object.function_inputs_text = Data.function_inputs;
            object.settings = Data.settings;
            object.multi_mode = Data.multi_mode;
            if isempty(object.multi_mode)
                object.multi_mode = 0;
+39 −11
Original line number Diff line number Diff line
@@ -8,6 +8,10 @@
        %   none   
        function [] = textbox_callback(object,src,event)
            % make sure the character pressed isn't empty
            
            if((strcmp(event.Character,'z')) && (strcmp(char(event.Modifier),'command') || strcmp(char(event.Modifier),'control')))
                return
            end
             if(~isempty(unicode2native(event.Character)))
                 % make sure the character is a printable character
                 if event.Character > 33 || event.Character == 8
@@ -19,6 +23,30 @@
                         end
                     end
                 end
            end
                 time = toc
                %if time > 0.2
                
                %uicontrol(object.function_name_control);
                uicontrol(object.name_label);
                   
                
                undo_data.action = 1;
                undo_data.grid = [];
                undo_data.cell = src;
                undo_data.text = get(src,'String');
               undo_data.subgrid = []
               get(src,'String')
               event
                
                object.undo_man.new_state(undo_data);
                %end
                tic;
                uicontrol(src);
                figure(object.fig);
                
            %end
           
            

            
        end
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
                set(object.delete_cell_pb,'Enable','off');
            end
            
            
        end
        
       
 No newline at end of file
Loading