<!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/xhtml;charset=UTF-8"/> <title>Wt examples: CountDownWidget Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Wt examples  <span id="projectnumber">3.2.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> </div> <div class="headertitle"> <div class="title">CountDownWidget Class Reference<div class="ingroups"><a class="el" href="group__missionexample.html">Timer example</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="CountDownWidget" --><!-- doxytag: inherits="Wt::WText" --> <p>A widget which displays a decrementing number. <a href="classCountDownWidget.html#details">More...</a></p> <p><code>#include <<a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CountDownWidget:</div> <div class="dyncontent"> <div class="center"><img src="classCountDownWidget__inherit__graph.png" border="0" usemap="#CountDownWidget_inherit__map" alt="Inheritance graph"/></div> <map name="CountDownWidget_inherit__map" id="CountDownWidget_inherit__map"> <area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html" title="Wt::WText" alt="" coords="36,304,119,331"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html" title="Wt::WInteractWidget" alt="" coords="5,229,149,256"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html" title="Wt::WWebWidget" alt="" coords="13,155,141,181"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html" title="Wt::WWidget" alt="" coords="28,80,127,107"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WObject.html" title="Wt::WObject" alt="" coords="29,5,125,32"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classCountDownWidget-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#aef7a1f760a5234a1815a8d9fe0c8453c">CountDownWidget</a> (int start, int stop, unsigned msec, <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#a3461e31818c4d2f516641bdaf508312a">parent</a>=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new <a class="el" href="classCountDownWidget.html" title="A widget which displays a decrementing number.">CountDownWidget</a>. <a href="#aef7a1f760a5234a1815a8d9fe0c8453c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Wt::Signal</a>< void > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a601cbdc1bbe9d2b373390683816fc085">done</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Signal emitted when the countdown reached stop. <a href="#a601cbdc1bbe9d2b373390683816fc085"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a4dcbc30ca439faa881a0fa1771b3168e">cancel</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cancel the count down. <a href="#a4dcbc30ca439faa881a0fa1771b3168e"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a7ef18e94fbdb37a510b0ec0fcd52ede7">timerTick</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Process one timer tick. <a href="#a7ef18e94fbdb37a510b0ec0fcd52ede7"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Wt::Signal</a>< void > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#af466e778dc215749461c5651708f5974">done_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a27d73fbc7a21d4335d6e17f0bd30e4f2">start_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a8e2132dce960726a929d4f94cc1f0d37">stop_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a9c8651fc957891381dfba220e047e04d">msec_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#a038470bf5c0710c71c23552ae94f70ed">current_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html">WTimer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A widget which displays a decrementing number. </p> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00025">25</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aef7a1f760a5234a1815a8d9fe0c8453c"></a><!-- doxytag: member="CountDownWidget::CountDownWidget" ref="aef7a1f760a5234a1815a8d9fe0c8453c" args="(int start, int stop, unsigned msec, WContainerWidget *parent=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CountDownWidget::CountDownWidget </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>stop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>msec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> * </td> <td class="paramname"><em>parent</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a new <a class="el" href="classCountDownWidget.html" title="A widget which displays a decrementing number.">CountDownWidget</a>. </p> <p>The widget will count down from start to stop, decrementing the number every msec milliseconds. </p> <p>Definition at line <a class="el" href="CountDownWidget_8C_source.html#l00012">12</a> of file <a class="el" href="CountDownWidget_8C_source.html">CountDownWidget.C</a>.</p> <div class="fragment"><pre class="fragment"> : <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html#a49bf5785263785717834a9d1a7a52399">WText</a>(parent), <a class="code" href="classCountDownWidget.html#af466e778dc215749461c5651708f5974">done_</a>(<span class="keyword">this</span>), <a class="code" href="classCountDownWidget.html#a27d73fbc7a21d4335d6e17f0bd30e4f2">start_</a>(start), <a class="code" href="classCountDownWidget.html#a8e2132dce960726a929d4f94cc1f0d37">stop_</a>(stop) { <a class="code" href="classCountDownWidget.html#a8e2132dce960726a929d4f94cc1f0d37">stop_</a> = std::min(<a class="code" href="classCountDownWidget.html#a27d73fbc7a21d4335d6e17f0bd30e4f2">start_</a> - 1, <a class="code" href="classCountDownWidget.html#a8e2132dce960726a929d4f94cc1f0d37">stop_</a>); <span class="comment">// stop must be smaller than start</span> <a class="code" href="classCountDownWidget.html#a038470bf5c0710c71c23552ae94f70ed">current_</a> = <a class="code" href="classCountDownWidget.html#a27d73fbc7a21d4335d6e17f0bd30e4f2">start_</a>; <a class="code" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a> = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html">WTimer</a>(<span class="keyword">this</span>); <a class="code" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html#a3a4070540a6b0e10bf1ee7bd607334fc">setInterval</a>(msec); <a class="code" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html#a2a66c6a51df2b0ab42258abf2ebd0399">timeout</a>().connect(<span class="keyword">this</span>, &<a class="code" href="classCountDownWidget.html#a7ef18e94fbdb37a510b0ec0fcd52ede7" title="Process one timer tick.">CountDownWidget::timerTick</a>); <a class="code" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html#ae167fbd3eb981a2fce52e9a4b3b6e0af">start</a>(); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html#a2f788aa524d51b3962642c9f565e66e6">setText</a>(boost::lexical_cast<std::string>(<a class="code" href="classCountDownWidget.html#a038470bf5c0710c71c23552ae94f70ed">current_</a>)); } </pre></div> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a4dcbc30ca439faa881a0fa1771b3168e"></a><!-- doxytag: member="CountDownWidget::cancel" ref="a4dcbc30ca439faa881a0fa1771b3168e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CountDownWidget::cancel </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Cancel the count down. </p> <p>Definition at line <a class="el" href="CountDownWidget_8C_source.html#l00030">30</a> of file <a class="el" href="CountDownWidget_8C_source.html">CountDownWidget.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="code" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html#a73c5d1b882af4835384ccdc07a650e34">stop</a>(); } </pre></div> </div> </div> <a class="anchor" id="a601cbdc1bbe9d2b373390683816fc085"></a><!-- doxytag: member="CountDownWidget::done" ref="a601cbdc1bbe9d2b373390683816fc085" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Wt::Signal</a><void>& CountDownWidget::done </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Signal emitted when the countdown reached stop. </p> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00038">38</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> <div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> <a class="code" href="classCountDownWidget.html#af466e778dc215749461c5651708f5974">done_</a>; } </pre></div> </div> </div> <a class="anchor" id="a7ef18e94fbdb37a510b0ec0fcd52ede7"></a><!-- doxytag: member="CountDownWidget::timerTick" ref="a7ef18e94fbdb37a510b0ec0fcd52ede7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CountDownWidget::timerTick </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Process one timer tick. </p> <p>Definition at line <a class="el" href="CountDownWidget_8C_source.html#l00035">35</a> of file <a class="el" href="CountDownWidget_8C_source.html">CountDownWidget.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html#a2f788aa524d51b3962642c9f565e66e6">setText</a>(boost::lexical_cast<std::string>(--<a class="code" href="classCountDownWidget.html#a038470bf5c0710c71c23552ae94f70ed">current_</a>)); <span class="keywordflow">if</span> (<a class="code" href="classCountDownWidget.html#a038470bf5c0710c71c23552ae94f70ed">current_</a> <= <a class="code" href="classCountDownWidget.html#a8e2132dce960726a929d4f94cc1f0d37">stop_</a>) { <a class="code" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">timer_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html#a73c5d1b882af4835384ccdc07a650e34">stop</a>(); <a class="code" href="classCountDownWidget.html#af466e778dc215749461c5651708f5974">done_</a>.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5">emit</a>(); } } </pre></div> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a038470bf5c0710c71c23552ae94f70ed"></a><!-- doxytag: member="CountDownWidget::current_" ref="a038470bf5c0710c71c23552ae94f70ed" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCountDownWidget.html#a038470bf5c0710c71c23552ae94f70ed">CountDownWidget::current_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00050">50</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div> </div> <a class="anchor" id="af466e778dc215749461c5651708f5974"></a><!-- doxytag: member="CountDownWidget::done_" ref="af466e778dc215749461c5651708f5974" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Wt::Signal</a><void> <a class="el" href="classCountDownWidget.html#af466e778dc215749461c5651708f5974">CountDownWidget::done_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00045">45</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div> </div> <a class="anchor" id="a9c8651fc957891381dfba220e047e04d"></a><!-- doxytag: member="CountDownWidget::msec_" ref="a9c8651fc957891381dfba220e047e04d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned <a class="el" href="classCountDownWidget.html#a9c8651fc957891381dfba220e047e04d">CountDownWidget::msec_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00048">48</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div> </div> <a class="anchor" id="a27d73fbc7a21d4335d6e17f0bd30e4f2"></a><!-- doxytag: member="CountDownWidget::start_" ref="a27d73fbc7a21d4335d6e17f0bd30e4f2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCountDownWidget.html#a27d73fbc7a21d4335d6e17f0bd30e4f2">CountDownWidget::start_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00046">46</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div> </div> <a class="anchor" id="a8e2132dce960726a929d4f94cc1f0d37"></a><!-- doxytag: member="CountDownWidget::stop_" ref="a8e2132dce960726a929d4f94cc1f0d37" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCountDownWidget.html#a8e2132dce960726a929d4f94cc1f0d37">CountDownWidget::stop_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00047">47</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div> </div> <a class="anchor" id="aa8c97718f168986a43d4b63aa5295c97"></a><!-- doxytag: member="CountDownWidget::timer_" ref="aa8c97718f168986a43d4b63aa5295c97" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTimer.html">WTimer</a>* <a class="el" href="classCountDownWidget.html#aa8c97718f168986a43d4b63aa5295c97">CountDownWidget::timer_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="CountDownWidget_8h_source.html#l00052">52</a> of file <a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>/home/koen/project/wt/public-git/wt/examples/mission/<a class="el" href="CountDownWidget_8h_source.html">CountDownWidget.h</a></li> <li>/home/koen/project/wt/public-git/wt/examples/mission/<a class="el" href="CountDownWidget_8C_source.html">CountDownWidget.C</a></li> </ul> </div> <hr size="1"><address style="text-align: right; margin: 3px"><small> Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the C++ Web Toolkit (Wt)</a> by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" border="0" style="vertical-align: middle; display: inline-block; height: 2em"></a> 1.7.5.1</small></address> </body> </html>