Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 1492

wt-doc-3.2.3-1.fc18.noarch.rpm

<!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: Wt::Signal&lt; A1, A2, A3, A4, A5, A6 &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</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
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</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>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceWt.html">Wt</a>      </li>
      <li class="navelem"><a class="el" href="classWt_1_1Signal.html">Signal</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Wt::Signal&lt; A1, A2, A3, A4, A5, A6 &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__signalslot.html">Signal/slot system</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Wt::Signal" --><!-- doxytag: inherits="Wt::SignalBase" -->
<p>A signal that propagates events to listeners.  
 <a href="classWt_1_1Signal.html#details">More...</a></p>

<p><code>#include &lt;Wt/WSignal&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Wt::Signal&lt; A1, A2, A3, A4, A5, A6 &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classWt_1_1Signal__inherit__graph.png" border="0" usemap="#Wt_1_1Signal_3_01A1_00_01A2_00_01A3_00_01A4_00_01A5_00_01A6_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="Wt_1_1Signal_3_01A1_00_01A2_00_01A3_00_01A4_00_01A5_00_01A6_01_4_inherit__map" id="Wt_1_1Signal_3_01A1_00_01A2_00_01A3_00_01A4_00_01A5_00_01A6_01_4_inherit__map">
<area shape="rect" href="classWt_1_1SignalBase.html" title="Abstract base class of a signal." alt="" coords="71,5,183,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classWt_1_1Signal-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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#aa481062b581f9d2f071bf07b421d87ca">Signal</a> (<a class="el" href="classWt_1_1WObject.html">WObject</a> *sender=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a signal.  <a href="#aa481062b581f9d2f071bf07b421d87ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae665a336ae3e576bcb372f16c306d4d1"></a><!-- doxytag: member="Wt::Signal::~Signal" ref="ae665a336ae3e576bcb372f16c306d4d1" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#ae665a336ae3e576bcb372f16c306d4d1">~Signal</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual boost::signals::connection&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3">connect</a> (<a class="el" href="classWt_1_1WObject.html">WObject</a> *target, <a class="el" href="classWt_1_1WObject.html#a6ef714d6ef0060b78c039e729b913aa9">WObject::Method</a> method)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a slot.  <a href="#a15d1150af031537b492674ee651bf4a3"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a43ead2fe014ed8440f7c0bc5bcb29dae">connect</a> (const F &amp;function)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a function.  <a href="#a43ead2fe014ed8440f7c0bc5bcb29dae"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a46cb10dfd101afe7348601ebf447c4a8">connect</a> (T *target, void(V::*method)())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes no arguments.  <a href="#a46cb10dfd101afe7348601ebf447c4a8"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#ad45227d4f4d12f82d31c6645a2a96c73">connect</a> (T *target, void(V::*method)(A1))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes one argument.  <a href="#ad45227d4f4d12f82d31c6645a2a96c73"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a04fc7780957c0f2f8cb069827c762e1b">connect</a> (T *target, void(V::*method)(A1, A2))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes two arguments.  <a href="#a04fc7780957c0f2f8cb069827c762e1b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a55dc3c06b300a23894d6b1144607355b">connect</a> (T *target, void(V::*method)(A1, A2, A3))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes three arguments.  <a href="#a55dc3c06b300a23894d6b1144607355b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a660092c952ff06430f59dc1d08107312">connect</a> (T *target, void(V::*method)(A1, A2, A3, A4))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes four arguments.  <a href="#a660092c952ff06430f59dc1d08107312"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a9e21c152582ceafa80715f8f56b2b199">connect</a> (T *target, void(V::*method)(A1, A2, A3, A4, A5))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes five arguments.  <a href="#a9e21c152582ceafa80715f8f56b2b199"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T , class V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">boost::signals::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a6919b6294bab484324cb16e17c1ae6eb">connect</a> (T *target, void(V::*method)(A1, A2, A3, A4, A5, A6))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a slot that takes six arguments.  <a href="#a6919b6294bab484324cb16e17c1ae6eb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5">emit</a> (A1 a1=NoClass::none, A2 a2=NoClass::none, A3 a3=NoClass::none, A4 a4=NoClass::none, A5 a5=NoClass::none, A6 a6=NoClass::none) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Emits the signal.  <a href="#a8d9cf8a1e83634462fe2b492b3beb1c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a10c70ce5cafb6170e56e8df36bbb9a7a">operator()</a> (A1 a1=NoClass::none, A2 a2=NoClass::none, A3 a3=NoClass::none, A4 a4=NoClass::none, A5 a5=NoClass::none, A6 a6=NoClass::none) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Emits the signal.  <a href="#a10c70ce5cafb6170e56e8df36bbb9a7a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1Signal.html#a4a65919846e7d1cedabd0e9acc65563a">isConnected</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this signal is connected.  <a href="#a4a65919846e7d1cedabd0e9acc65563a"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename A1 = NoClass, typename A2 = NoClass, typename A3 = NoClass, typename A4 = NoClass, typename A5 = NoClass, typename A6 = NoClass&gt;<br/>
class Wt::Signal&lt; A1, A2, A3, A4, A5, A6 &gt;</h3>

<p>A signal that propagates events to listeners. </p>
<p>Use Signal/slots to let one object (<em>A</em>) listen to events caused by another object (<em>B</em>). In this scenario, object <em>B</em> provides in its public interface access to a signal, to which object <em>A</em> connects one of its member function (which act as slot). Object <em>A</em> can then signal an event (which triggers the connected callback functions), by emitting the signal. Signal/slot is a generalization of the popular observer pattern used in GUIs.</p>
<p>A signal can provide details of the event, using up to 6 parameters. A slot must have a compatible signature to connect to a signal, based on its parameters. A compatible signature provides the same parameters in the member function, or less (leaving out parameters at the end).</p>
<p>The signal automatically disconnects from the slot when the target is deleted. In addition, the signal may be deleted at any time, in particular also while it is being emitted.</p>
<p>The Signal objects integrate with <a class="el" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system.">WObject</a> objects. A Signal requires that the target of a connection, i.e. the object that listens for an event, is a WObject. In addition, every signal may specify one WObject to be the owner of the signal, and a target may find out the sender of a signal emission, using <a class="el" href="classWt_1_1WObject.html#a413deb54de40ee278dd554e4960d58ca" title="Returns the sender of the current slot call.">WObject::sender()</a>.</p>
<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyWidget : <span class="keyword">public</span> Wt::WContainerWidget
 {
 <span class="keyword">public</span>:
   MyWidget(<a class="code" href="classWt_1_1WContainerWidget.html" title="A widget that holds and manages child widgets.">Wt::WContainerWidget</a> *parent = 0)
     : Wt::WContainerWidget(parent),
       done_(this)
   {
      ...
      <a class="code" href="classWt_1_1WPushButton.html" title="A widget that represents a push button.">Wt::WPushButton</a> *button = <span class="keyword">new</span> <a class="code" href="classWt_1_1WPushButton.html" title="A widget that represents a push button.">Wt::WPushButton</a>(<span class="stringliteral">&quot;Okay&quot;</span>);
      button-&gt;<a class="code" href="classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c" title="Event signal emitted when a mouse key was clicked on this widget.">clicked</a>().connect(<span class="keyword">this</span>, &amp;MyWidget::process);
   }

   <span class="comment">// provide an accessor for the signal</span>
   <a class="code" href="classWt_1_1Signal.html" title="A signal that propagates events to listeners.">Wt::Signal&lt;int, std::string&gt;</a>&amp; done() { <span class="keywordflow">return</span> done_; }

 <span class="keyword">private</span>:
   <a class="code" href="classWt_1_1Signal.html" title="A signal that propagates events to listeners.">Wt::Signal&lt;int, std::string&gt;</a> done_;

   <span class="keywordtype">void</span> process() {
     ...
     done_.<a class="code" href="classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5" title="Emits the signal.">emit</a>(42, <span class="stringliteral">&quot;Totally done&quot;</span>); <span class="comment">// emit the signal</span>
   }
 };
</pre></div><p>This widget could then be used from another class: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>GUIClass : <span class="keyword">public</span> Wt::WContainerWidget
 {
   ...

 <span class="keyword">private</span>:
   <span class="keywordtype">void</span> init() {
     MyWidget *widget = <span class="keyword">new</span> MyWidget(<span class="keyword">this</span>);
     widget-&gt;done().connect(<span class="keyword">this</span>, &amp;GUIClass::whenDone);
   }

   <span class="keywordtype">void</span> whenDone(<span class="keywordtype">int</span> result, <span class="keyword">const</span> std::string&amp; description) {
     ...
   }
 };
</pre></div><p>The <a class="el" href="classWt_1_1WSignalMapper.html" title="A utility class to connect multiple senders to a single slot.">WSignalMapper</a> is a utility class that helps in situations where you want to connect multiple signals to a single slot, and still be identify the sender using some property.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WSignalMapper.html" title="A utility class to connect multiple senders to a single slot.">WSignalMapper</a> </dd></dl>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa481062b581f9d2f071bf07b421d87ca"></a><!-- doxytag: member="Wt::Signal::Signal" ref="aa481062b581f9d2f071bf07b421d87ca" args="(WObject *sender=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::<a class="el" href="classWt_1_1Signal.html">Signal</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WObject.html">WObject</a> *&#160;</td>
          <td class="paramname"><em>sender</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a signal. </p>
<p>The <code>sender</code> is the object that will be identified as <a class="el" href="classWt_1_1WObject.html#a413deb54de40ee278dd554e4960d58ca" title="Returns the sender of the current slot call.">WObject::sender()</a> when executing connected slots may be passed as an argument.</p>
<p>The <code>sender</code> should not be <code>0</code> when you want to map the signal using the <a class="el" href="classWt_1_1WSignalMapper.html" title="A utility class to connect multiple senders to a single slot.">WSignalMapper</a>. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a15d1150af031537b492674ee651bf4a3"></a><!-- doxytag: member="Wt::Signal::connect" ref="a15d1150af031537b492674ee651bf4a3" args="(WObject *target, WObject::Method method)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WObject.html">WObject</a> *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WObject.html#a6ef714d6ef0060b78c039e729b913aa9">WObject::Method</a>&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects to a slot. </p>
<p>Every signal can be connected to a slot which does not take any arguments (and may thus ignore signal arguments). </p>

<p>Implements <a class="el" href="classWt_1_1SignalBase.html#a5161bdd49ba2dee3ddfa085c51e68bdb">Wt::SignalBase</a>.</p>

</div>
</div>
<a class="anchor" id="a43ead2fe014ed8440f7c0bc5bcb29dae"></a><!-- doxytag: member="Wt::Signal::connect" ref="a43ead2fe014ed8440f7c0bc5bcb29dae" args="(const F &amp;function)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class F &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">const F &amp;&#160;</td>
          <td class="paramname"><em>function</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects to a function. </p>
<p>This variant of the overloaded <a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect()</a> method supports a template function object (which supports operator ()).</p>
<p>When the receiver function is an object method, the signal will automatically be disconnected when the object is deleted, as long as the object inherits from <a class="el" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system.">WObject</a> or boost::signals::trackable.</p>
<p>The function may leave up to <em>N</em> parameters unbound (e.g. using boost::bind placeholders _1 to _N) that may be bound to values passed by the signal. </p>

</div>
</div>
<a class="anchor" id="a46cb10dfd101afe7348601ebf447c4a8"></a><!-- doxytag: member="Wt::Signal::connect" ref="a46cb10dfd101afe7348601ebf447c4a8" args="(T *target, void(V::*method)())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)()&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes no arguments. </p>
<p>This is always possible (even when the signal specifies a number of arguments).</p>
<p>The slot is as a <code>method</code> of an object <code>target</code> of class <code>T</code>, which equals class <code>V</code>, or is a base class of class <code>V</code>. Thus, the following statement must return a non-null pointer:</p>
<div class="fragment"><pre class="fragment"> V *v = <span class="keyword">dynamic_cast&lt;</span>V *<span class="keyword">&gt;</span>(target);
</pre></div><p>In practice, to facilitate automatic disconnects on deletion of the <code>target</code>, class <code>T</code> must be also be a descendant of <a class="el" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system.">WObject</a>, but this is not enforced by the interface. </p>

<p>Reimplemented from <a class="el" href="classWt_1_1SignalBase.html#ae86c2d643c87d680390577882e7ee4ad">Wt::SignalBase</a>.</p>

</div>
</div>
<a class="anchor" id="ad45227d4f4d12f82d31c6645a2a96c73"></a><!-- doxytag: member="Wt::Signal::connect" ref="ad45227d4f4d12f82d31c6645a2a96c73" args="(T *target, void(V::*method)(A1))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2 , typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)(A1)&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes one argument. </p>
<p>This is only possible for signals that take at least one argument.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a04fc7780957c0f2f8cb069827c762e1b"></a><!-- doxytag: member="Wt::Signal::connect" ref="a04fc7780957c0f2f8cb069827c762e1b" args="(T *target, void(V::*method)(A1, A2))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)(A1, A2)&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes two arguments. </p>
<p>This is only possible for signals that take at least two arguments.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a55dc3c06b300a23894d6b1144607355b"></a><!-- doxytag: member="Wt::Signal::connect" ref="a55dc3c06b300a23894d6b1144607355b" args="(T *target, void(V::*method)(A1, A2, A3))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3, typename A4 , typename A5 , typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)(A1, A2, A3)&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes three arguments. </p>
<p>This is only possible for signals that take at least three arguments.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a660092c952ff06430f59dc1d08107312"></a><!-- doxytag: member="Wt::Signal::connect" ref="a660092c952ff06430f59dc1d08107312" args="(T *target, void(V::*method)(A1, A2, A3, A4))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3, typename A4, typename A5 , typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)(A1, A2, A3, A4)&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes four arguments. </p>
<p>This is only possible for signals that take at least four arguments.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a9e21c152582ceafa80715f8f56b2b199"></a><!-- doxytag: member="Wt::Signal::connect" ref="a9e21c152582ceafa80715f8f56b2b199" args="(T *target, void(V::*method)(A1, A2, A3, A4, A5))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3, typename A4, typename A5, typename A6 &gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)(A1, A2, A3, A4, A5)&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes five arguments. </p>
<p>This is only possible for signals that take at least five arguments.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a6919b6294bab484324cb16e17c1ae6eb"></a><!-- doxytag: member="Wt::Signal::connect" ref="a6919b6294bab484324cb16e17c1ae6eb" args="(T *target, void(V::*method)(A1, A2, A3, A4, A5, A6))" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3, typename A4, typename A5, typename A6&gt; </div>
<div class="memtemplate">
template&lt;class T , class V &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::signals::connection <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(V::*)(A1, A2, A3, A4, A5, A6)&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a slot that takes six arguments. </p>
<p>This is only possible for signals that take at least six arguments.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3" title="Connects to a slot.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a8d9cf8a1e83634462fe2b492b3beb1c5"></a><!-- doxytag: member="Wt::Signal::emit" ref="a8d9cf8a1e83634462fe2b492b3beb1c5" args="(A1 a1=NoClass::none, A2 a2=NoClass::none, A3 a3=NoClass::none, A4 a4=NoClass::none, A5 a5=NoClass::none, A6 a6=NoClass::none) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3, typename A4, typename A5, typename A6&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::emit </td>
          <td>(</td>
          <td class="paramtype">A1&#160;</td>
          <td class="paramname"><em>a1</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A2&#160;</td>
          <td class="paramname"><em>a2</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A3&#160;</td>
          <td class="paramname"><em>a3</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A4&#160;</td>
          <td class="paramname"><em>a4</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A5&#160;</td>
          <td class="paramname"><em>a5</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A6&#160;</td>
          <td class="paramname"><em>a6</em> = <code>NoClass::none</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Emits the signal. </p>
<p>The arguments must exactly match the arguments of the target function.</p>
<p>This will cause all connected slots to be triggered, with the given arguments. </p>

</div>
</div>
<a class="anchor" id="a4a65919846e7d1cedabd0e9acc65563a"></a><!-- doxytag: member="Wt::Signal::isConnected" ref="a4a65919846e7d1cedabd0e9acc65563a" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::isConnected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether this signal is connected. </p>
<p>Returns true when the signal was connected to to at least one slot. </p>

<p>Implements <a class="el" href="classWt_1_1SignalBase.html#a13a3106be8949b273edc74aa61be14ce">Wt::SignalBase</a>.</p>

</div>
</div>
<a class="anchor" id="a10c70ce5cafb6170e56e8df36bbb9a7a"></a><!-- doxytag: member="Wt::Signal::operator()" ref="a10c70ce5cafb6170e56e8df36bbb9a7a" args="(A1 a1=NoClass::none, A2 a2=NoClass::none, A3 a3=NoClass::none, A4 a4=NoClass::none, A5 a5=NoClass::none, A6 a6=NoClass::none) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A1, typename A2, typename A3, typename A4, typename A5, typename A6&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classWt_1_1Signal.html">Wt::Signal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype">A1&#160;</td>
          <td class="paramname"><em>a1</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A2&#160;</td>
          <td class="paramname"><em>a2</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A3&#160;</td>
          <td class="paramname"><em>a3</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A4&#160;</td>
          <td class="paramname"><em>a4</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A5&#160;</td>
          <td class="paramname"><em>a5</em> = <code>NoClass::none</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">A6&#160;</td>
          <td class="paramname"><em>a6</em> = <code>NoClass::none</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Emits the signal. </p>
<p>This is equivalent to <a class="el" href="classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5" title="Emits the signal.">emit()</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5" title="Emits the signal.">emit</a> </dd></dl>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</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&nbsp;<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>