Home > classes > @plist > char.m

char

PURPOSE ^

CHAR convert a parameter list into a string.

SYNOPSIS ^

function pstr = char(pl, varargin)

DESCRIPTION ^

 CHAR convert a parameter list into a string.

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

 DESCRIPTION: CHAR convert a parameter list into a string.

 CALL:        string = char(plist);

 VERSION:     $Id: char.html,v 1.14 2008/03/31 10:27:41 hewitson Exp $

 HISTORY:     04-02-2007 M Hewitson
                 Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function pstr = char(pl, varargin)
0002 % CHAR convert a parameter list into a string.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: CHAR convert a parameter list into a string.
0007 %
0008 % CALL:        string = char(plist);
0009 %
0010 % VERSION:     $Id: char.html,v 1.14 2008/03/31 10:27:41 hewitson Exp $
0011 %
0012 % HISTORY:     04-02-2007 M Hewitson
0013 %                 Creation
0014 %
0015 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0016 
0017 VERSION = '$Id: char.html,v 1.14 2008/03/31 10:27:41 hewitson Exp $';
0018 CATEGORY = 'Output';
0019 
0020 % Check if this is a call for parameters
0021 if nargin == 2
0022   if isa(pl, 'plist') && ischar(varargin{1})
0023     in = char(varargin{1});
0024     if strcmp(in, 'Params')
0025       pstr = plist;
0026       return
0027     elseif strcmp(in, 'Version')
0028       pstr = VERSION;
0029       return
0030     elseif strcmp(in, 'Category')
0031       pstr = CATEGORY;
0032       return
0033     end
0034   end
0035 end
0036 
0037 np   = length(pl.params);
0038 pstr = '';
0039 if np > 0
0040   pstr = ['('];
0041   for j=1:np
0042     p = pl.params(j);
0043 
0044     %%%%%%%%%%   cell   %%%%%%%%%%
0045     if iscell(p.val)
0046       pstr = [pstr p.key '={'];
0047       for ii = 1:length(p.val)
0048         if ischar(p.val{ii})
0049           pstr = [pstr '''' p.val{ii} ''', ' ];
0050         elseif isnumeric(p.val{ii})
0051           pstr = [pstr '' ltpda_mat2str(p.val{ii}) ', '];
0052         else
0053           pstr = [pstr '' class(p.val{ii}) '-object, '];
0054         end
0055       end
0056       if strcmp(pstr(end-1:end), ', ')
0057         pstr = [pstr(1:end-2) '}, '];
0058       else
0059         pstr = [pstr '}, '];
0060       end
0061 
0062     %%%%%%%%%%   character   %%%%%%%%%%
0063     elseif ischar(p.val)
0064       sval = char(p.val);
0065       if length(sval) == 0
0066         sval = [''' '''];
0067       elseif length(sval) >= 10
0068         sval = [sval(1:10) '...'];
0069       end
0070       pstr = [pstr p.key '=' sval ', '];
0071 
0072     %%%%%%%%%%   numbers   %%%%%%%%%%
0073     elseif isnumeric(p.val)
0074       val_str = ltpda_mat2str(p.val);
0075       if length(val_str) > 25
0076         val_str = [val_str(1:25) ' ...]'];
0077       end
0078       pstr = [pstr p.key '=' val_str ', '];
0079 
0080     %%%%%%%%%%   specwin   %%%%%%%%%%
0081     elseif isa(p.val, 'specwin')
0082       % display only the window name here
0083       w = p.val;
0084       pstr = [pstr p.key '=' w.name ', '];
0085 
0086     %%%%%%%%%%   miir   %%%%%%%%%%
0087     elseif isa(p.val, 'miir')
0088       f = p.val;
0089       if strcmp(get(f, 'infile'), '')
0090         pstr = [pstr p.key '=' get(f, 'name') ', '];
0091       else
0092         pstr = [pstr p.key '=' get(f, 'infile') ', '];
0093       end
0094 
0095     %%%%%%%%%%   mfir   %%%%%%%%%%
0096     elseif isa(p.val, 'mfir')
0097       f = p.val;
0098       pstr = [pstr p.key '=' get(f, 'name') ', '];
0099 
0100     %%%%%%%%%%   time, timeformat, timespan   %%%%%%%%%%
0101     elseif isa(p.val, 'time') || isa(p.val, 'timeformat') || isa(p.val, 'timespan')
0102       pstr = [pstr p.key '=' char(p.val) ', '];
0103 
0104     %%%%%%%%%%   all other classes   %%%%%%%%%%
0105     else
0106       pstr = [pstr p.key '=' class(p.val) '-object, '];
0107 %     else
0108 %       warning('!!! unknown parameter type. Can''t convert to string.');
0109     end
0110   end
0111   % remove last ', '
0112   if length(pstr)>1
0113     pstr = pstr(1:end-2);
0114   end
0115   % close bracket
0116   pstr = [pstr ')'];
0117 end
0118 
0119 
0120 % END

Generated on Mon 31-Mar-2008 12:20:24 by m2html © 2003