0001 function pl = set(pl, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 if (nargout ~= 0)
0020
0021 propArgin = varargin;
0022
0023 while length(propArgin) >= 2
0024 prop = propArgin{1};
0025 val = propArgin{2};
0026 propArgin = propArgin(3:end);
0027 switch prop
0028 case 'params'
0029 pl.params = val;
0030 case 'version'
0031 pl.version = val;
0032 otherwise
0033
0034
0035 params = pl.params;
0036 plo = plist();
0037 found = 0;
0038 for j=1:length(params)
0039 p = params(j);
0040 if strcmp(p.key, prop)
0041 plo = append(plo, param(prop, val));
0042 found = 1;
0043 else
0044 plo = append(plo, p);
0045 end
0046 end
0047
0048 if ~found
0049 plo = append(plo, param(prop, val));
0050 end
0051 pl = plo;
0052 end
0053 end
0054
0055 else
0056 if ischar(varargin{2})
0057 error('### please use: %s = set(%s, ''%s'', ''%s'');', ...
0058 inputname(1), ...
0059 inputname(1), ...
0060 varargin{1}, ...
0061 varargin{2});
0062 elseif isnumeric(varargin{2})
0063 error('### please use: %s = set(%s, ''%s'', %d);', ...
0064 inputname(1), ...
0065 inputname(1), ...
0066 varargin{1}, ...
0067 varargin{2});
0068 else
0069 error('### please use: %s = set(%s, key, ''value'');', ...
0070 inputname(1), ...
0071 inputname(1));
0072 end
0073 end
0074
0075