function schema
% Defines properties for derived timeplot class.
%
%   Author(s): James G. Owen
%   Copyright 1986-2002 The MathWorks, Inc. 
%   $Revision: 1.1.6.1 $ $Date: 2004/12/26 21:41:14 $

% Register class 
p = findpackage('tsguis');
pparent = findpackage('wavepack');
% Register class 
c = schema.class(p,'timeplot',findclass(pparent,'timeplot'));

% Data selection mode
if isempty(findtype('tsSelectionMode'))
    schema.EnumType('tsSelectionMode', ...
        {'None', 'DataSelect', 'TimeseriesTranslate','TimeseriesTranslating', ...
        'TimeseriesScale','TimeseriesScaling','TimeSelect','TimeSelecting'});
end
p = schema.prop(c,'State','tsSelectionMode');
p.FactoryValue = 'None';
schema.prop(c, 'Uistate', 'MATLAB array');

%% Absolute reference time for absolute time plots
schema.prop(c, 'Startdate', 'string');

%% AxesTable handle for Proeprty Editor Panels
schema.prop(c, 'PropEditor', 'MATLAB array');

%% Absolute/relative status of the time vector
p = schema.prop(c, 'Absolutetime', 'on/off');
p.FactoryValue = 'off';

%% Time units for this plot
if isempty(findtype('TimeUnits'))
    schema.EnumType('TimeUnits',{'years', 'weeks', 'days', 'hours', ...
        'mins', 'secs'});
end
p = schema.prop(c, 'TimeUnits','TimeUnits');
p.Factoryvalue = 'secs';

%% Absolute time display format
p = schema.prop(c, 'Timeformat','string');
p.Factoryvalue = 'dd-mmm-yyyy HH:MM:SS';

%% Store parent @tsseriesnode. This is needed so that context menus 
%% can invoke dialogs which are aware of sibling nodes in the htree
schema.prop(c, 'Parent', 'handle');

%% Storage for selected waveform
% Start point is the x-index of the dragged point
% Centroid is the y-mean of the time series being scaled
% Arrowpressed indicates an arrow key has been pressed, disabling mouse
% scaling
p = schema.prop(c, 'SelectionStruct', 'MATLAB array');
p.FactoryValue = struct('Selectedwave',[],'Arrowpressed',[],...
    'StartPoint',[],'Centroid',[],'XLimMode','','YLimMode','','History',{{}});

