9 lines
16 KiB
HTML
9 lines
16 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Data.Progress.Meter</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
|
window.onload = function () {pageLoad();setSynopsis("mini_Data-Progress-Meter.html");};
|
|
//]]>
|
|
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">MissingH-1.3.0.1: Large utility library</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>Copyright (C) 2006-2011 John Goerzen</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>John Goerzen <jgoerzen@complete.org></td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Data.Progress.Meter</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Types</a></li><li><a href="#g:2">Creation and Configuration</a></li><li><a href="#g:3">Rendering and Output</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Tool for maintaining a status bar, supporting multiple simultaneous tasks,
|
|
as a layer atop <a href="Data-Progress-Tracker.html">Data.Progress.Tracker</a>.</p><p>Written by John Goerzen, jgoerzen@complete.org </p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:ProgressMeter">ProgressMeter</a> = <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Concurrent-MVar.html#t:MVar">MVar</a> ProgressMeterR</li><li class="src short"><a href="#v:simpleNewMeter">simpleNewMeter</a> :: <a href="Data-Progress-Tracker.html#t:Progress">Progress</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></li><li class="src short"><a href="#v:newMeter">newMeter</a> :: <a href="Data-Progress-Tracker.html#t:Progress">Progress</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a> -> ([<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Prelude.html#t:Integer">Integer</a>] -> [<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]) -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></li><li class="src short"><a href="#v:setComponents">setComponents</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> [<a href="Data-Progress-Tracker.html#t:Progress">Progress</a>] -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:addComponent">addComponent</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="Data-Progress-Tracker.html#t:Progress">Progress</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:removeComponent">removeComponent</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:setWidth">setWidth</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:renderMeter">renderMeter</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:displayMeter">displayMeter</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:clearMeter">clearMeter</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:writeMeterString">writeMeterString</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:autoDisplayMeter">autoDisplayMeter</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a> -> (<a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Concurrent.html#t:ThreadId">ThreadId</a></li><li class="src short"><a href="#v:killAutoDisplayMeter">killAutoDisplayMeter</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Concurrent.html#t:ThreadId">ThreadId</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1 id="g:1">Types</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ProgressMeter" class="def">ProgressMeter</a> = <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Concurrent-MVar.html#t:MVar">MVar</a> ProgressMeterR</p></div><h1 id="g:2">Creation and Configuration</h1><div class="top"><p class="src"><a name="v:simpleNewMeter" class="def">simpleNewMeter</a> :: <a href="Data-Progress-Tracker.html#t:Progress">Progress</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></p><div class="doc"><p>Set up a new status bar using defaults:</p><ul><li>The given tracker</li><li>Width 80</li><li>Data.Quantity.renderNums binaryOpts 1</li><li>Unit inticator <code><a href="B.html">B</a></code></li></ul></div></div><div class="top"><p class="src"><a name="v:newMeter" class="def">newMeter</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-Progress-Tracker.html#t:Progress">Progress</a></td><td class="doc"><p>The top-level <code><a href="Data-Progress-Tracker.html#t:Progress">Progress</a></code></p></td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Unit indicator string</p></td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Width of the terminal -- usually 80</p></td></tr><tr><td class="src">-> ([<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Prelude.html#t:Integer">Integer</a>] -> [<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])</td><td class="doc"><p>A function to render sizes</p></td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Set up a new status bar. </p></div></div><div class="top"><p class="src"><a name="v:setComponents" class="def">setComponents</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> [<a href="Data-Progress-Tracker.html#t:Progress">Progress</a>] -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Adjust the list of components of this <code><a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></code>. </p></div></div><div class="top"><p class="src"><a name="v:addComponent" class="def">addComponent</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="Data-Progress-Tracker.html#t:Progress">Progress</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Add a new component to the list of components. </p></div></div><div class="top"><p class="src"><a name="v:removeComponent" class="def">removeComponent</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Remove a component by name. </p></div></div><div class="top"><p class="src"><a name="v:setWidth" class="def">setWidth</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Adjusts the width of this <code><a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></code>. </p></div></div><h1 id="g:3">Rendering and Output</h1><div class="top"><p class="src"><a name="v:renderMeter" class="def">renderMeter</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Render the current status. </p></div></div><div class="top"><p class="src"><a name="v:displayMeter" class="def">displayMeter</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Like renderMeter, but prints it to the screen instead of returning it.</p><p>This function will output CR, then the meter.</p><p>Pass stdout as the handle for regular display to the screen. </p></div></div><div class="top"><p class="src"><a name="v:clearMeter" class="def">clearMeter</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Clears the meter -- outputs CR, spaces equal to the width - 1,
|
|
then another CR.</p><p>Pass stdout as the handle for regular display to the screen. </p></div></div><div class="top"><p class="src"><a name="v:writeMeterString" class="def">writeMeterString</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Clears the meter, writes the given string, then restores the meter.
|
|
The string is assumed to contain a trailing newline.</p><p>Pass stdout as the handle for regular display to the screen. </p></div></div><div class="top"><p class="src"><a name="v:autoDisplayMeter" class="def">autoDisplayMeter</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a></td><td class="doc"><p>The meter to display</p></td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Update interval in seconds</p></td></tr><tr><td class="src">-> (<a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ())</td><td class="doc"><p>Function to display it</p></td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Concurrent.html#t:ThreadId">ThreadId</a></td><td class="doc"><p>Resulting thread id</p></td></tr></table></div><div class="doc"><p>Starts a thread that updates the meter every n seconds by calling
|
|
the specified function. Note: <code>displayMeter stdout</code>
|
|
is an ideal function here.</p><p>Save this threadID and use it later to call <code>stopAutoDisplayMeter</code>.</p></div></div><div class="top"><p class="src"><a name="v:killAutoDisplayMeter" class="def">killAutoDisplayMeter</a> :: <a href="Data-Progress-Meter.html#t:ProgressMeter">ProgressMeter</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Concurrent.html#t:ThreadId">ThreadId</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Stops the specified meter from displaying.</p><p>You should probably call <code><a href="Data-Progress-Meter.html#v:clearMeter">clearMeter</a></code> after a call to this. </p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html> |