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

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