0001 function pstr = char(pl, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 VERSION = '$Id: char.m,v 1.12 2007/12/11 19:31:02 ingo Exp $';
0018
0019
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
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
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
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
0077 elseif isa(p.val, 'specwin')
0078
0079 w = p.val;
0080 pstr = [pstr p.key '=' w.name ', '];
0081
0082
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
0092 elseif isa(p.val, 'mfir')
0093 f = p.val;
0094 pstr = [pstr p.key '=' get(f, 'name') ', '];
0095
0096
0097 elseif isa(p.val, 'time') || isa(p.val, 'timeformat') || isa(p.val, 'timespan')
0098 pstr = [pstr p.key '=' char(p.val) ', '];
0099
0100
0101 else
0102 pstr = [pstr p.key '=' class(p.val) '-object, '];
0103
0104
0105 end
0106 end
0107
0108 if length(pstr)>1
0109 pstr = pstr(1:end-2);
0110 end
0111
0112 pstr = [pstr ')'];
0113 end
0114
0115
0116