Home > classes > @cdata > set.m

set

PURPOSE ^

SET set a cdata property.

SYNOPSIS ^

function c = set(c, varargin)

DESCRIPTION ^

 SET set a cdata property.

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

 DESCRIPTION: SET set a cdata property.

 CALL: c = set(c, 'name',    'my_name');
       c = set(c, 'y',        y);
       c = set(c, 'y',       [1 2 3]);
       c = set(c, 'vals',    [1 2 3]);
       c = set(c, 'x',        x);
       c = set(c, 'x',       {'a', 'c', 'c'});
       c = set(c, 'tags',    {'a', 'c', 'c'});
       c = set(c, 'xunits',  'sec');
       c = set(c, 'yunits',  'V');
       c = set(c, 'created',  time());
       c = set(c, 'version', 'cdata/set.m,v 1.7...');

 VERSION: $Id: set.m,v 1.9 2007/11/13 16:03:20 ingo Exp $

 HISTORY: 30-01-07 M Hewitson
             Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function c = set(c, varargin)
0002 % SET set a cdata property.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SET set a cdata property.
0007 %
0008 % CALL: c = set(c, 'name',    'my_name');
0009 %       c = set(c, 'y',        y);
0010 %       c = set(c, 'y',       [1 2 3]);
0011 %       c = set(c, 'vals',    [1 2 3]);
0012 %       c = set(c, 'x',        x);
0013 %       c = set(c, 'x',       {'a', 'c', 'c'});
0014 %       c = set(c, 'tags',    {'a', 'c', 'c'});
0015 %       c = set(c, 'xunits',  'sec');
0016 %       c = set(c, 'yunits',  'V');
0017 %       c = set(c, 'created',  time());
0018 %       c = set(c, 'version', 'cdata/set.m,v 1.7...');
0019 %
0020 % VERSION: $Id: set.m,v 1.9 2007/11/13 16:03:20 ingo Exp $
0021 %
0022 % HISTORY: 30-01-07 M Hewitson
0023 %             Creation
0024 %
0025 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0026 
0027 VERSION  = '$Id: set.m,v 1.9 2007/11/13 16:03:20 ingo Exp $';
0028 
0029 % Check if this is a call for parameters
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

Generated on Tue 22-Jan-2008 10:39:13 by m2html © 2003