Home > classes > @plist > set.m

set

PURPOSE ^

SET set parameter list properties.

SYNOPSIS ^

function pl = set(pl, varargin)

DESCRIPTION ^

 SET set parameter list properties.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: SET set parameter list properties.

 CALL: pl = set(pl,   key,      val);
       pl = set(pl, 'params',   p);
       pl = set(pl, 'version', 'plist/set.m,v 1.7...');

 VERSION: $Id: set.m,v 1.8 2007/07/11 16:01:24 ingo Exp $

 HISTORY: 30-01-07 M Hewitson
             Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function pl = set(pl, varargin)
0002 % SET set parameter list properties.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SET set parameter list properties.
0007 %
0008 % CALL: pl = set(pl,   key,      val);
0009 %       pl = set(pl, 'params',   p);
0010 %       pl = set(pl, 'version', 'plist/set.m,v 1.7...');
0011 %
0012 % VERSION: $Id: set.m,v 1.8 2007/07/11 16:01:24 ingo Exp $
0013 %
0014 % HISTORY: 30-01-07 M Hewitson
0015 %             Creation
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  % pl = set(pl, key, val)
0033         % check to see if this is one of the parameters we can set, otherwise
0034         % add it
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         % add this parameter if necessary
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 % END

Generated on Mon 03-Sep-2007 12:12:34 by m2html © 2003