classdef ExecutionTimelineViewModelBase < handle & matlab.mixin.Heterogeneous
    %ExecutionTimelineViewModelBase The super class to any
    %ExecutionTimelineView model.
%
%   The methods in this class are undocumented and subject to change from one
%   release to the next.

%   Copyright 2014-2017 The MathWorks, Inc.
    
    properties (Access = protected)
        TimelineController;
    end

    properties
        % The range of data to display in the x-axis
        XLimit = [0 0]; 
        
        TicksMin;
        
        TicksMax;
        
        % The range of data to display in the y-axis
        YLimit = [0 0];
        
        % The total time taken for the execution profiler
        ExecutionTimeRange = [0 0];
        
        % Array of Execution Blocks to plot
        ExecutionBlocks = coder.profile.ExecutionBlock.empty();
        
        TicksPerSecond;
        
        % Array of ExecutionTimelineTask objects
        Tasks = coder.profile.ExecutionTimelineTask.empty();
        
        VisibleSections;
        
        PlottedIndices;
        
        VerticalMarkers;
        
        TaskToHighlightIndex;
        
        TaskEndXPosition;
        
        PreviousXLimitTicks;
        
        MaxNewPoints = 20;
        SimulationStartTime
    end
    
    methods
        function this = ExecutionTimelineViewModelBase(tlController)
            this.TimelineController = tlController;
        end
        
        function update(this, lOperationType)
            editView(this.TimelineController, this, lOperationType);
        end
    end
    
    methods (Abstract)
        hf = show(this)
    end
    
end

% LocalWords:  Timeline
