function schema
%SCHEMA   Define the abstracthdltb class.

%   Author(s): J. Sun
%   Copyright 2008-2023 The MathWorks, Inc.
%     

% store persistent variables
mlock;

pk = findpackage('hdlcoderui');
parentcls = findclass(pk, 'abstracthdlcomps');
c  = schema.class(pk, 'abstracthdltb',parentcls);

%
% Methods
%
m = schema.method(c, 'getDialogSchema');
s = m.Signature;
s.varargin = 'off';
s.InputTypes = {'handle', 'string'};
s.OutputTypes = {'mxArray'};

m = schema.method(c, 'getTabDialogSchema');
s = m.Signature;
s.varargin = 'off';
s.InputTypes = {'handle', 'string', 'mxArray'};
s.OutputTypes = {'mxArray'};

p = schema.prop(c,'edalinksinstalled','bool'); 
p.AccessFlags.PublicSet = 'off';
p.AccessFlags.PublicGet = 'on';
set(p,'FactoryValue', false, 'Visible','off'); 

p = schema.prop(c,'svdpi_tb','bool'); 
p.AccessFlags.PublicSet = 'on';
p.AccessFlags.PublicGet = 'on';
set(p,'FactoryValue', false, 'Visible','off'); 


p = schema.prop(c,'CosimModel','bool'); 
p.AccessFlags.PublicSet = 'on';
p.AccessFlags.PublicGet = 'on';
set(p,'FactoryValue', false, 'Visible','off'); 

p = schema.prop(c,'HDLCodeCoverage','bool'); 
p.AccessFlags.PublicSet = 'on';
p.AccessFlags.PublicGet = 'on';
set(p,'FactoryValue', false, 'Visible','off'); 


if isempty(findtype('TestbenchSimulationToolType'))
    schema.EnumType( ...
        'TestbenchSimulationToolType', {'Mentor Graphics ModelSim', 'Cadence Incisive','Custom','Xilinx Vivado Simulator'});
end

p = schema.prop(c,'TestbenchSimulationTool','TestbenchSimulationToolType'); 
p.AccessFlags.PublicSet = 'on';
p.AccessFlags.PublicGet = 'on';
set(p, 'Visible','off'); 

if isempty(findtype('CosimUIType'))
    schema.EnumType( ...
        'CosimUIType', {'Mentor Graphics ModelSim', 'Cadence Incisive','Xilinx Vivado Simulator'});
end

p = schema.prop(c,'CosimModelType','CosimUIType'); 
p.AccessFlags.PublicSet = 'on';
p.AccessFlags.PublicGet = 'on';
set(p, 'Visible','off'); 



% [EOF]

% LocalWords:  edalinksinstalled svdpi
