Revision history for ProgressMonitor 0.01 2006-11-27 First version. 0.02 2007-03-20 Added the setMessage method and associated configuration options for the various monitors. 0.03 2007-03-21 Minor fixes to adjust the tar building (my gnuwin32 tar creates weird permissions in the archive). 0.04 2007-03-23 Replaced wipeAtEnd with atEndStrategy Clear any message when ending 0.05 2007-03-27 Made the Null monitor a singleton Made passMessageToParent default to 0 and parentTicks to 1 Made it allowable to skip calling prepare() and go directly to begin() The messageFiller can be blank/undef, causing partial overlay Minor help text changes messageStart/EndOverlayFields are now 1 based indices. 0.06 2007-04-05 - Fixed a loophole; if maxwidth not set we must fall back to hardcoded 79 unless the Term::Size... stuff returns something worthwhile - Added a convenience subMonitor method to the interface; makes it cleaner to instantiate a SubTask monitor - Added a setErrorMessage method and associated support - Fixed bug where the Bar never indicated empty progress when it was blank - Mumbo jumbo with getting stuff printed right when backspacing before or after - 'backspaceAfterRender' 0.07 2007-04-11 - Added a clone method to progressmonitors - made sure error messages are cleaned from ws - set[Error]Message msgs are no longer mangled, but passed right through - a msg is passed through as-is if messageStrategy is newline (message filler applied though...should it?) 0.08 2007-04-23 - It's possible to call 'end' directly if no work is needed at all This signals 'completion' of the monitor. - Avoid treating a 'begin(0)' the same as 'begin()' - Division by zero in some fields when totalTicks is explicitly '0'. 0.09 2007-05-09 - When using an overlay message on a field shorter than the msg, the rendition became longer than its maxwidth 0.10 2007-05-21 - Removed the setting of ticks == totalTicks at 'end' 0.11 2007-05-25 - Added a new message strategy - 'overlay_newline'. 0.12 2007-05-25 - When streaming a msg with \n at the end, no need to bs then. 0.20 2007-06-08 - changing the setMessage API, to enable setting 'delayed' messages i.e. 'set message on next tick' etc. 0.21 2007-06-08 - the newline message strategy now better handles embedded/trailing \n characters. - new strategy 'overlay_honor_newline' 0.22 2007-06-11 - when overlaying a message, make sure to restrict it to field size, except when a newline will be printed 0.23 2007-06-14 - added the Dynamic field. 0.24 2007-11-09 - Made end() autocomplete ticks.