function schema
% SCHEMA - define Simulink.DialogProvider class structure

%   Copyright 2008-2012 The MathWorks, Inc.

% Simulink.DialogProvider is derived from DAStudio.Object
pk = findpackage('DAStudio');
hDeriveFromClass   = findclass(pk, 'Object');
% Construct class
hThisClass = schema.class(pk, 'DialogProvider', hDeriveFromClass);

%%%%%%%%%%%%%% Properties %%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Private storage used for dialogs
hThisProp = schema.prop(hThisClass, 'pDialogData', 'MATLAB array');
hThisProp.AccessFlags.PublicSet = 'off';

% Public properties

% The user can optionally specify the icon used in the titlebar 
% of the dialog by setting the DisplayIcon property. This string 
% should be a path to a PNG file relative to matlabroot.
% If the string is empty, the default icon is used.
hThisProp = schema.prop(hThisClass, 'DisplayIcon', 'string');
hThisProp.FactoryValue = ''; 
hThisProp.AccessFlags.PublicSet = 'on';
hThisProp.AccessFlags.Init = 'on';

% The user can optionally specify the image used in the error or 
% message dialogs by setting the DialogImage property. This string 
% should be the absolute location to a PNG file.
% If the string is empty, the default image is used.
hThisProp = schema.prop(hThisClass, 'DialogImage', 'string');
hThisProp.FactoryValue = ''; 
hThisProp.AccessFlags.PublicSet = 'on';
hThisProp.AccessFlags.Init = 'on';

%%%%%%%%%%%%%%%%%%%%%% Methods %%%%%%%%%%%%%%%%%%%%

m = schema.method(hThisClass, 'pDialogCallback');
s = m.Signature;
s.varargin = 'off';
s.InputTypes = {'handle','string','handle'};
s.OutputTypes = {'bool','string'};

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

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