classdef (Hidden) PoleZeroSimplificationTool < mrtool.tools.AbstractTool
    % Pole/Zero Simplification Tool consisting its tab, plot and data
    % compatible with MATLAB Online       
    
    % Author(s): Suat Gumussoy
    % Copyright 2016 The MathWorks, Inc.    
       
    methods
        %% Constructor
        function this = PoleZeroSimplificationTool(Target,TargetList,ParentToolGroup,varargin)
            this = this@mrtool.tools.AbstractTool(mrtool.util.setSingleTarget(Target),TargetList,ParentToolGroup,varargin{:});
            enableEventManager(this.ToolData,true);
        end  
        function setToolData(this,Target,TargetList)
            this.ToolData = mrtool.data.PoleZeroSimplificationData(Target,TargetList);            
        end
        function setToolPlot(this,ToolData)
            this.ToolPlot = mrtool.plots.PoleZeroSimplificationPlot(ToolData);             
        end
        function setToolTab(this,ToolData,ToolFlot,ParentToolGroup)
            if mrtool.util.MRToolstripSettings.isNewAPI
                this.ToolTab = mrtool.tabs.PoleZeroSimplificationTabMLOnline(ToolData,ToolFlot,ParentToolGroup);
            else
                this.ToolTab = mrtool.tabs.PoleZeroSimplificationTab(ToolData,ToolFlot,ParentToolGroup);
            end
        end
    end  
end