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.13 2008/02/14 08:29:09 mauro Exp $';
0018 CATEGORY = 'Output';
0019
0020
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
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
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
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
0081 elseif isa(p.val, 'specwin')
0082
0083 w = p.val;
0084 pstr = [pstr p.key '=' w.name ', '];
0085
0086
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
0096 elseif isa(p.val, 'mfir')
0097 f = p.val;
0098 pstr = [pstr p.key '=' get(f, 'name') ', '];
0099
0100
0101 elseif isa(p.val, 'time') || isa(p.val, 'timeformat') || isa(p.val, 'timespan')
0102 pstr = [pstr p.key '=' char(p.val) ', '];
0103
0104
0105 else
0106 pstr = [pstr p.key '=' class(p.val) '-object, '];
0107
0108
0109 end
0110 end
0111
0112 if length(pstr)>1
0113 pstr = pstr(1:end-2);
0114 end
0115
0116 pstr = [pstr ')'];
0117 end
0118
0119
0120