Home > classes > @param > display2.m

display2

PURPOSE ^

DISPLAY display a parameter

SYNOPSIS ^

function varargout = display2(varargin)

DESCRIPTION ^

 DISPLAY display a parameter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: DISPLAY display a parameter

 CALL FOR PARAMETERS:

              pl  = obj.getDefaultPlist('display'); Gets the default parameter list
              ver = obj.getVersion('dispaly');      Gets the CVS version string
              cat = obj.getCategory('dispaly');     Gets the category

 VERSION:     $Id: display2.m,v 1.4 2008/09/04 15:29:31 ingo Exp $

 HISTORY:     30-01-2007 M Hewitson
                 Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % DISPLAY display a parameter
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % DESCRIPTION: DISPLAY display a parameter
0005 %
0006 % CALL FOR PARAMETERS:
0007 %
0008 %              pl  = obj.getDefaultPlist('display'); Gets the default parameter list
0009 %              ver = obj.getVersion('dispaly');      Gets the CVS version string
0010 %              cat = obj.getCategory('dispaly');     Gets the category
0011 %
0012 % VERSION:     $Id: display2.m,v 1.4 2008/09/04 15:29:31 ingo Exp $
0013 %
0014 % HISTORY:     30-01-2007 M Hewitson
0015 %                 Creation
0016 %
0017 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0018 
0019 function varargout = display2(varargin)
0020 
0021   %%% Check if this is a call for parameters
0022   if utils.helper.isinfocall(varargin{:})
0023     varargout{1} = getInfo(varargin{3});
0024     return
0025   end
0026 
0027   objs = utils.helper.collect_objects(varargin(:), 'param');
0028 
0029   txt = {};
0030 
0031   for i=1:numel(objs)
0032     banner = sprintf('---- param %d ----', i);
0033     txt{end+1} = banner;
0034 
0035     % get key and value
0036     name = objs(i).key;
0037     v    = objs(i).val;
0038 
0039     txt{end+1} = ['key: ' name];
0040 
0041     % convert value for printing
0042     txt = main(txt, 'val: ', v);
0043 
0044     banner_end(1:length(banner)) = '-';
0045     txt{end+1} = banner_end;
0046 
0047   end
0048 
0049   if nargout == 0
0050     char(txt)
0051   end
0052   
0053   varargout{1} = txt;
0054 
0055 end
0056 
0057 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0058 %                               Local Functions                               %
0059 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0060 
0061 function txt = main(txt, prefix, val)
0062 
0063   %%%%%   Structures   %%%%%
0064   if isstruct(val)
0065 
0066     fields = fieldnames(val);
0067     txt{end+1} = [prefix, 'structure'];
0068     for ii=1:length(fields)
0069       field = fields{ii};
0070       prefix(1:end) = ' ';
0071       new_prefix = [prefix field ': '];
0072       txt = main(txt, new_prefix, val.(field));
0073     end
0074 
0075   %%%%%   Cell   %%%%%
0076   elseif iscell(val)
0077 
0078     if prefix(end) == '[', prefix = prefix(1:end-1); end
0079 
0080     txt{end+1} = sprintf('%scell-array {%dx%d}', prefix, size(val,1), size(val,2));
0081     for ii = 1:size(val,1)
0082       for jj = 1:size(val,2)
0083         prefix(1:end) = ' ';
0084         if ischar(val{ii,jj})
0085           new_prefix = sprintf('%s{%d,%d} ', prefix, ii, jj);
0086         else
0087           new_prefix = sprintf('%s{%d,%d} ', prefix, ii, jj);
0088         end
0089         txt = main(txt, new_prefix, val{ii,jj});
0090       end
0091     end
0092 
0093   else
0094     if numel(val) > 1
0095       txt = atomic_value(txt, prefix, val, true);
0096     else
0097       txt = atomic_value(txt, prefix, val, false);
0098     end
0099   end
0100 end
0101 
0102 function txt = atomic_value(txt, prefix, val, disp_class_only)
0103 
0104   %%%%%   Character   %%%%%
0105   if ischar(val)
0106     if length(val) > 45
0107       txt{end+1} = [prefix '''' val(1:45) ' ...'''];
0108     else
0109       txt{end+1} = [prefix '''' val ''''];
0110     end
0111 
0112   %%%%%   Logical   %%%%%
0113   elseif islogical(val)
0114     if val == true
0115       txt{end+1} = [prefix 'true'];
0116     else
0117       txt{end+1} = [prefix 'false'];
0118     end
0119 
0120   %%%%%   Numeric   %%%%%
0121   elseif isnumeric(val)
0122     sval = '';
0123     if size(val,1) == 1 || size(val,2) == 1
0124       for j=1:min(length(val), 10)
0125         sval = [sval sprintf('%g ', val(j))];
0126       end
0127       if length(val) > 10
0128         sval = [sval '...'];
0129       end
0130       if sval(end) == ' '
0131         sval = sval(1:end-1);
0132       end
0133     elseif isempty(val)
0134       if prefix(end) == '[', prefix = prefix(1:end-1); end
0135       sval = '[]';
0136     else
0137       sval = sprintf('matrix [%dx%d]', size(val,1), size(val,2));
0138     end
0139     txt{end+1} = [prefix sval];
0140 
0141   %%%%%   Symbolic Object   %%%%%
0142   elseif isa(val, 'sym')
0143     txt{end+1} = [prefix char(val)];
0144     
0145   elseif isobject(val)
0146     sval = display(val);
0147 
0148     for j=1:numel(sval)
0149       txt{end+1} =  [prefix sval{j}];
0150     end
0151     
0152 %   %%%%%   pole, zero and pole/zero model Object   %%%%%
0153 %   elseif isa(val, 'pole') || isa(val, 'zero') || isa(val, 'pzmodel')
0154 %     sval = '';
0155 %     for j=1:length(val)
0156 %       sval = [sval char(val(j)) ', '];
0157 %     end
0158 %     sval = sval(1:end-2);
0159 %     txt{end+1} = [prefix sval];
0160 %
0161 %   elseif disp_class_only
0162 %     if prefix(end) == '[', prefix = prefix(1:end-1); end
0163 %
0164 %     txt{end+1} = sprintf('%s[%dx%d %s]', prefix, size(val,1), size(val,2), class(val));
0165 %
0166 %     %%%%%   Specwin Object   %%%%%
0167 %   elseif isa(val, 'specwin');
0168 %     txt{end+1} = [prefix 'spectral window'];
0169 %     prefix(1:end) = ' ';
0170 %     txt{end+1} = [prefix 'name     = ' val.name];
0171 %     txt{end+1} = [prefix 'alpha    = ' num2str(val.alpha)];
0172 %     txt{end+1} = [prefix 'psll     = ' num2str(val.psll)];
0173 %     txt{end+1} = [prefix 'rov      = ' num2str(val.rov)];
0174 %     txt{end+1} = [prefix 'nenbw    = ' num2str(val.nenbw)];
0175 %     txt{end+1} = [prefix 'w3db     = ' num2str(val.w3db)];
0176 %     txt{end+1} = [prefix 'flatness = ' num2str(val.flatness)];
0177 %
0178 %   %%%%%   Provenance Object   %%%%%
0179 %   elseif isa(val, 'provenance')
0180 %     txt{end+1} = [prefix val.creator '@' val.hostname ' (' val.ip ')'];
0181 %
0182 %   %%%%%   miir and mfir Object   %%%%%
0183 %   elseif isa(val, 'miir') || isa(val, 'mfir')
0184 %     txt{end+1} = [prefix char(val)];
0185 %
0186 %   %%%%%   time, timespan and timeformat Object   %%%%%
0187 %   elseif isa(val, 'time') || isa(val, 'timespan') || isa(val, 'timeformat')
0188 %     txt{end+1} = [prefix char(val)];
0189 %
0190 %   %%%%%   ao                              %%%%%
0191 %   %%%%%   cdata, fsdata, tsdata, xydata   %%%%%
0192 %   %%%%%   plist, param                    %%%%%
0193 %   %%%%%   history                         %%%%%
0194 %   elseif isa(val, 'ao')    || isa(val, 'fsdata')  || isa(val, 'tsdata') || ...
0195 %          isa(val, 'cdata') || isa(val, 'xydata')  || isa(val, 'plist')  || ...
0196 %          isa(val, 'param') || isa(val, 'history')
0197 %     vinfo = whos('val');
0198 %     txt{end+1} = [prefix vinfo.class '-object'];
0199 
0200   %%%%%   JAVA   %%%%%
0201   elseif isjava(val)
0202     txt{end+1} = [prefix class(val)];
0203 
0204   else
0205     if isobject(val)
0206       txt{end+1} = sprintf('%s<%s>', prefix, class(val));
0207     else
0208       txt{end+1} = sprintf('%s<unknown type>', prefix);
0209     end
0210   end
0211 
0212 end
0213 
0214 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0215 %
0216 % FUNCTION:    getInfo
0217 %
0218 % DESCRIPTION: Get Info Object
0219 %
0220 % HISTORY:     11-07-07 M Hewitson
0221 %                Creation.
0222 %
0223 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0224 
0225 function ii = getInfo(varargin)
0226   if nargin == 1 && strcmpi(varargin{1}, 'None')
0227     sets = {};
0228     pl   = [];
0229   else
0230     sets = {'Default'};
0231     pl   = getDefaultPlist;
0232   end
0233   % Build info object
0234   ii = minfo(mfilename, 'param', '', utils.const.categories.output, '$Id: display2.m,v 1.4 2008/09/04 15:29:31 ingo Exp $', sets, pl);
0235 end
0236 
0237 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0238 %
0239 % FUNCTION:    getDefaultPlist
0240 %
0241 % DESCRIPTION: Get Default Plist
0242 %
0243 % HISTORY:     11-07-07 M Hewitson
0244 %                Creation.
0245 %
0246 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0247 
0248 function plo = getDefaultPlist()
0249   plo = plist();
0250 end
0251 
0252 
0253 
0254 
0255 
0256 
0257 
0258 
0259 
0260

Generated on Mon 08-Sep-2008 13:18:47 by m2html © 2003