Commit 1ae3673a authored by Matthew Dawson's avatar Matthew Dawson
Browse files

Add the let statments data store.

Add the ability to store let statements.


git-svn-id: https://groke.mcmaster.ca/svn/grad/colin/branches/TableTool_refactor@8743 57e6efec-57d4-0310-aeb1-a6c144bb1a8b
parent 5b9106f4
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
classdef LetStatments < handle
    %LETSTATMENTS Summary of this class goes here
    %   Detailed explanation goes here
    
    properties(Access = private)
        statements = {}
    end
    
    methods
        function object = LetStatments()
        end
        
        function count = size(object)
            count = size(object.statements, 2);
        end
        
        function [name, assignment] = get_statement(object, index)
            name = object.statements{index}.name;
            assignment = object.statements{index}.assignment;
        end
        
        function insert_space(object)
            p = struct();
            p.name = '';
            p.assignment = '';
            object.statements(size(object.statements, 2)+1) = {p};
            
            notify(object, 'StructureChanged');
        end
        
        function delete_end(object)
            object.statements(size(object.statements, 2)) = [];
            
            notify(object, 'StructureChanged');
        end
        
        function set_statement_name(object, index, name)
            object.statements{index}.name = name;
        end
        
        function set_statement_assignment(object, index, assignment)
            object.statements{index}.assignment = assignment;
        end
    end
    
    events
        StructureChanged
    end
    
end