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;