Mercurial > hg > ltpda
diff m-toolbox/classes/+utils/@helper/msg.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/+utils/@helper/msg.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,50 @@ +% MSG writes a message to the MATLAB terminal +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DESCRIPTION: Writes a message to the MATLAB terminal if its priority is +% equal or higher than the verbosity level in the LTPDA user preferences. The +% message can be a printf format string that describes how subsequent argument +% sare converted for output. +% +% CALL: utils.helper.msg(priority, message, ...) +% +% INPUTS: +% message - message string to print +% priority - priority of the message as defined in utils.const.msg +% +% EXAMPLE: +% +% >> import utils.const.* +% >> utils.helper.msg(msg.IMPORTANT, 'The Answer is %d.', 42); +% +% NOTE: The verbosity level can be set within the 'LTPDAprefs' dialog, or via +% +% >> p = getappdata(0, 'LTPDApreferences'); +% >> p.display.verboseLevel +% >> p.display.verboseLevel = utils.const.msg.PROC1 +% +% VERSION: $Id: msg.m,v 1.15 2010/08/16 14:04:58 hewitson Exp $ +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +function msg(varargin) + level = varargin{1}; + + % get prefereces + persistent prefs; + prefs = getappdata(0, 'LTPDApreferences'); + + % decide to print or not + if ~isempty(prefs) && level <= double(prefs.getDisplayPrefs.getDisplayVerboseLevel) + + % format message + msg = sprintf(varargin{2}, varargin{3:end}); + msg = ['M: ' repmat(char(32), 1, 2*level) msg]; + + fprintf('%s\n', msg) + wb = getappdata(0, 'LTPDAworkbench'); + if isa(wb, 'LTPDAworkbench') + wb.addMessage(msg); + end + end +end +