www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@xregtools/@DiagnosticStatsTable/DiagnosticStatsTable.m

    function obj = DiagnosticStatsTable( varargin )
%DIAGNOSTICSTATSTABLE Class constructor for DiagnosticStatsTable
%
%  OBJ = DIAGNOSTICSTATSTABLE(Prop, Value, ...) creates a component for
%  displaying diagnostic statistics for a model.

%  Copyright 2005 The MathWorks, Inc. and Ford Global Technologies, Inc.


% Is the first input argument a udd object derived from me? If it is then
% we are being called as a super class constructor and don't have to
% construct an object
if nargin && isa(varargin{1}, 'xregtools.DiagnosticStatsTable')
	obj = varargin{1};
	varargin(1) = [];
else
	obj = xregtools.DiagnosticStatsTable;
end
% Call the inherited constructor
obj.Table2D( 'extendednumeric',...
    'ShowHeaderSelection', false,...
    'Editable', false,...
    varargin{:});

obj.Peer.setRowHeaderWidth( 100 );
obj.Peer.setCornerAsBlank();
obj.addPropertyListeners('mdev_local', @i_setmdev_local);
obj.addPropertyListeners('Type', @i_setType);
obj.addPropertyListeners('TypeIndex', @i_setType);
obj.addPropertyListeners('SweepNumber', @i_setSweepNumber);
obj.addPropertyListeners('LocalModel', @i_setLocalModel);
obj.addPropertyListeners('XData', @i_setXData);
obj.addPropertyListeners('YData', @i_setYData);

obj.pUpdateTable( obj.mdev_local, obj.Type, obj.SweepNumber );

function i_setYData( obj, evt )
obj.pUpdateTable( obj.mdev_local, obj.Type, obj.SweepNumber, obj.LocalModel, obj.XData, obj.YData );

function i_setXData( obj, evt )
X = evt.NewValue;
obj.pUpdateTable( obj.mdev_local, obj.Type, obj.SweepNumber, obj.LocalModel, X, obj.YData );

function i_setLocalModel( obj, evt )
L = evt.NewValue;
obj.pUpdateTable( obj.mdev_local, obj.Type, obj.SweepNumber, L, obj.XData, obj.YData );

function i_setSweepNumber( obj, evt )
sweepnumber = evt.NewValue;
obj.pUpdateTable( obj.mdev_local, obj.Type, sweepnumber, obj.LocalModel, obj.XData, obj.YData );

function i_setmdev_local( obj, evt )
md = evt.NewValue;
% update the other (related) fields now
[X,Y] = getdata( md );
obj.XData = X(:,:,obj.SweepNumber);
obj.YData = Y(:,:,obj.SweepNumber);
obj.LocalModel = LocalModel( md, obj.SweepNumbe );
obj.pUpdateTable( md, obj.Type, obj.SweepNumber, obj.LocalModel, obj.XData, obj.YData  );

function i_setType( obj, evt )
type = evt.NewValue;
switch evt.Source.Name
    case 'Type'
        set( obj, 'TypeIndex', obj.pConvertTypeToIndex( type ) );
    case 'TypeIndex'
        set( obj, 'Type', obj.pConvertIndexToType( type ) );
end
obj.pUpdateTable( obj.mdev_local, obj.Type, obj.SweepNumber, obj.LocalModel, obj.XData, obj.YData  );