


Publisher (printing manager) for PenLab
Print 'msg' with optional data in varargin to the screen, to a log file or
using the user's printing routine; depending on printing level (outlev) set
in the option settings.
Input:
minlev, maxlev ... minimum (inclusive) and maximum (exclusive) output level
when the message gets printed, levels are typically 1~5, use Inf if there
is no maximal restriction
msg, varargin ... message in the sprintf/fprintf format, \n is added
Output:
errmsg ... error message from sprintf (if any)

0001 % Publisher (printing manager) for PenLab 0002 % Print 'msg' with optional data in varargin to the screen, to a log file or 0003 % using the user's printing routine; depending on printing level (outlev) set 0004 % in the option settings. 0005 % Input: 0006 % minlev, maxlev ... minimum (inclusive) and maximum (exclusive) output level 0007 % when the message gets printed, levels are typically 1~5, use Inf if there 0008 % is no maximal restriction 0009 % msg, varargin ... message in the sprintf/fprintf format, \n is added 0010 % Output: 0011 % errmsg ... error message from sprintf (if any) 0012 % 0013 function [errmsg] = print(obj, minlev, maxlev, msg, varargin) 0014 0015 errmsg=[]; 0016 [text, errmsg] = sprintf(msg,varargin{:}); 0017 0018 level=obj.allopts.outlev; 0019 if (level>=minlev && level<maxlev) 0020 disp(text); 0021 end 0022 0023 level=obj.allopts.outlev_file; 0024 if (obj.fid~=-1 && level>=minlev && level<maxlev) 0025 fprintf(obj.fid,[text '\n']); 0026 end 0027 0028 if (~isempty(obj.allopts.user_prn)) 0029 user_prn(minlev, maxlev, text); 0030 end 0031