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

    function obj = set(obj, Properties, Values)
%SET Set property values
%
%  SSF = SET(SSF, PROP, VALUE) sets a property value.  PROP and VALUE may
%  be cell arrays of the same length, with each cell pair corresponding to
%  a single property.

%  Copyright 2000-2011 The MathWorks, Inc. and Ford Global Technologies, Inc.


valid_props = {'reorder' 'label' 'date' 'comment'};

% Have we got any properties?
ALLPROPS = nargin < 2;
if ALLPROPS
    obj = valid_props';
    return
end

ISCHAR = ischar(Properties);
if ISCHAR
    Properties = {Properties};
    Values = {Values};
end

for i = 1:length(Properties)
    property = lower(Properties{i});
    mInd = find( strncmp( property,valid_props,length(property) ) );
    if isempty(mInd) || length(mInd) > 1
        error(message('mbc:sweepsetfilter:InvalidPropertyName2', property));
    end
    switch mInd
        case 1
            % Reorder
            obj = reorderSweeps(obj, Values{i});
        case 2
            % label
            obj = i_setName(obj, Values{i});
        case 3
            % Date
            obj = i_setDate(obj, Values{i});
        case 4
            % Comment
            obj = i_setComment(obj, Values{i});


    end
end


%------------------------------------------------------------------------
function obj = i_setName(obj, newName)
if ~ischar(newName)
    error('mbc:sweepsetfilter:InvalidPropertyValue', ...
        'Sweepsetfilter name property must be a character array.');
end
obj.name = newName;
% Tell everyone that the name has changed
queueEvent(obj, 'ssfNameChanged');


%------------------------------------------------------------------------
function obj = i_setDate(obj, newDate)
if isnumeric(newDate)
    newDate = datestr(newDate);
end
if ~ischar(newDate)
    error(message('mbc:sweepsetfilter:InvalidPropertyValue1'));
end
obj.date = newDate;


%------------------------------------------------------------------------
function obj = i_setComment(obj, newComment)
if ~ischar(newComment)
    error(message('mbc:sweepsetfilter:InvalidPropertyValue2'));
end
obj.comment = newComment;