0001 function c = set(c, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 VERSION = '$Id: set.m,v 1.9 2007/11/13 16:03:20 ingo Exp $';
0028
0029
0030 if nargin == 2
0031 if isa(c, 'cdata') && ischar(varargin{1})
0032 in = char(varargin{1});
0033 if strcmp(in, 'Params')
0034 c = plist;
0035 return
0036 elseif strcmp(in, 'Version')
0037 c = VERSION;
0038 return
0039 end
0040 end
0041 end
0042
0043
0044 if (nargout ~= 0)
0045
0046 propArgin = varargin;
0047
0048 while length(propArgin) >= 2
0049 prop = propArgin{1};
0050 val = propArgin{2};
0051 propArgin = propArgin(3:end);
0052 switch prop
0053 case 'name'
0054 c.name = val;
0055 case 'created'
0056 c.created = val;
0057 case 'version'
0058 c.version = val;
0059 case 'vals'
0060 c.y = val;
0061 case 'y'
0062 c.y = val;
0063 case 'tags'
0064 c.x = val;
0065 case 'x'
0066 c.x = val;
0067 case 'xunits'
0068 c.xunits = val;
0069 case 'yunits'
0070 c.yunits = val;
0071 otherwise
0072 error([val, ' is not a property of cdata class']);
0073 end
0074 end
0075
0076 else
0077 if ischar(varargin{2})
0078 error('### please use: %s = set(%s, ''%s'', ''%s'');', ...
0079 inputname(1), ...
0080 inputname(1), ...
0081 varargin{1}, ...
0082 varargin{2});
0083 elseif isnumeric(varargin{2})
0084 error('### please use: %s = set(%s, ''%s'', %d);', ...
0085 inputname(1), ...
0086 inputname(1), ...
0087 varargin{1}, ...
0088 varargin{2});
0089 else
0090 error('### please use: %s = set(%s, ''key'', ''value'');', ...
0091 inputname(1), ...
0092 inputname(1));
0093 end
0094 end