Sophie

Sophie

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

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::JSignal&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_1JSignal.html">JSignal</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::JSignal&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::JSignal" --><!-- doxytag: inherits="Wt::EventSignalBase" -->
<p>A signal to relay JavaScript to C++ calls.  
 <a href="classWt_1_1JSignal.html#details">More...</a></p>

<p><code>#include &lt;Wt/WJavaScript&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Wt::JSignal&lt; A1, A2, A3, A4, A5, A6 &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classWt_1_1JSignal__inherit__graph.png" border="0" usemap="#Wt_1_1JSignal_3_01A1_00_01A2_00_01A3_00_01A4_00_01A5_00_01A6_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="Wt_1_1JSignal_3_01A1_00_01A2_00_01A3_00_01A4_00_01A5_00_01A6_01_4_inherit__map" id="Wt_1_1JSignal_3_01A1_00_01A2_00_01A3_00_01A4_00_01A5_00_01A6_01_4_inherit__map">
<area shape="rect" href="classWt_1_1EventSignalBase.html" title="Abstract base class of an event signal." alt="" coords="57,80,201,107"/><area shape="rect" href="classWt_1_1SignalBase.html" title="Abstract base class of a signal." alt="" coords="73,5,185,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classWt_1_1JSignal-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_1JSignal.html#a3100e4e460f900ce97b1de554bae1108">JSignal</a> (<a class="el" href="classWt_1_1WObject.html">WObject</a> *object, const std::string &amp;name, bool collectSlotJavaScript=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a signal for the given object, and name.  <a href="#a3100e4e460f900ce97b1de554bae1108"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f1d8251daf0abf670c7a654b778d81f"></a><!-- doxytag: member="Wt::JSignal::~JSignal" ref="a6f1d8251daf0abf670c7a654b778d81f" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1JSignal.html#a6f1d8251daf0abf670c7a654b778d81f">~JSignal</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba4f375bcfd61c8938ceeafedd1b79b9"></a><!-- doxytag: member="Wt::JSignal::name" ref="aba4f375bcfd61c8938ceeafedd1b79b9" args="() const " -->
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1JSignal.html#aba4f375bcfd61c8938ceeafedd1b79b9">name</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the signal name. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1JSignal.html#a449dbc079722b0ed9a9fd5df43e359f0">createCall</a> (const std::string &amp;arg1=std::string(), const std::string &amp;arg2=std::string(), const std::string &amp;arg3=std::string(), const std::string &amp;arg4=std::string(), const std::string &amp;arg5=std::string(), const std::string &amp;arg6=std::string()) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a JavaScript call that triggers the signal.  <a href="#a449dbc079722b0ed9a9fd5df43e359f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1JSignal.html#afc04a6ee10c4ac0effe04b406feeb998">createEventCall</a> (const std::string &amp;jsObject, const std::string &amp;jsEvent, const std::string &amp;arg1=std::string(), const std::string &amp;arg2=std::string(), const std::string &amp;arg3=std::string(), const std::string &amp;arg4=std::string(), const std::string &amp;arg5=std::string()) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a JavaScript call that triggers the signal, passing the original event too.  <a href="#afc04a6ee10c4ac0effe04b406feeb998"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a401ed9f5d5e0611b6dbd6eb28022f65f"></a><!-- doxytag: member="Wt::JSignal::isConnected" ref="a401ed9f5d5e0611b6dbd6eb28022f65f" args="() const " -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1JSignal.html#a401ed9f5d5e0611b6dbd6eb28022f65f">isConnected</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the signal is connected to at least one slot. <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_1JSignal.html#aabb41837c09620b689972095b8a050fc">connect</a> (const F &amp;function)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to a function.  <a href="#aabb41837c09620b689972095b8a050fc"></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_1JSignal.html#aa67e0db9432d8d2e691b47b8c0014665">connect</a> (T *target, void(V::*method)())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes no arguments.  <a href="#aa67e0db9432d8d2e691b47b8c0014665"></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_1JSignal.html#a387bb39c570a02339c1bf41f7a3ea004">connect</a> (T *target, void(V::*method)(A1))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes one argument.  <a href="#a387bb39c570a02339c1bf41f7a3ea004"></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_1JSignal.html#a96d52207d359876b014721045d6681ba">connect</a> (T *target, void(V::*method)(A1, A2))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes two arguments.  <a href="#a96d52207d359876b014721045d6681ba"></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_1JSignal.html#a9fada4c93c1e7465584ad6000f37f90e">connect</a> (T *target, void(V::*method)(A1, A2, A3))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes three arguments.  <a href="#a9fada4c93c1e7465584ad6000f37f90e"></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_1JSignal.html#a569dfead2228a160824ff268f9125985">connect</a> (T *target, void(V::*method)(A1, A2, A3, A4))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes four arguments.  <a href="#a569dfead2228a160824ff268f9125985"></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_1JSignal.html#a324adbaa32e73101cba3e5a80592c1c5">connect</a> (T *target, void(V::*method)(A1, A2, A3, A4, A5))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes five arguments.  <a href="#a324adbaa32e73101cba3e5a80592c1c5"></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_1JSignal.html#af51c8c642b3fd9f4cb990351af5deb03">connect</a> (T *target, void(V::*method)(A1, A2, A3, A4, A5, A6))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that takes six arguments.  <a href="#af51c8c642b3fd9f4cb990351af5deb03"></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_1JSignal.html#a52f7452ffce5064da4d5782f5eb1c7a4">connect</a> (const std::string &amp;function)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects a JavaScript function.  <a href="#a52f7452ffce5064da4d5782f5eb1c7a4"></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_1JSignal.html#a66ef05cc8d6f98bfbd5c7402c3997627">connect</a> (<a class="el" href="classWt_1_1JSlot.html">JSlot</a> &amp;slot)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect a slot that is specified as JavaScript only.  <a href="#a66ef05cc8d6f98bfbd5c7402c3997627"></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_1JSignal.html#a75643865204ab65b538f4ff80ed8f309">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)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Emit the signal.  <a href="#a75643865204ab65b538f4ff80ed8f309"></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_1JSignal.html#a8bcaf238774e3b0efd9c31c903550fee">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)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Emit the signal.  <a href="#a8bcaf238774e3b0efd9c31c903550fee"></a><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_1JSignal.html#a7be6bc900513879d834127170164606c">connect</a> (<a class="el" href="classWt_1_1WObject.html">WObject</a> *target, void(WObject::*method)())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a slot.  <a href="#a7be6bc900513879d834127170164606c"></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::JSignal&lt; A1, A2, A3, A4, A5, A6 &gt;</h3>

<p>A signal to relay JavaScript to C++ calls. </p>
<p>A <a class="el" href="classWt_1_1JSignal.html" title="A signal to relay JavaScript to C++ calls.">JSignal</a>, like an <a class="el" href="classWt_1_1EventSignal.html" title="A signal that conveys user-interface events.">EventSignal</a>, provides communicates events from JavaScript to C++ code. However, it not tied to a built-in event. Instead, it can be emitted from within custom JavaScript code using the JavaScript Wt.emit() function.</p>
<p>The signal is identified by a unique name within the scope of a <a class="el" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system.">WObject</a>, or a unique global name (when declaring the signal in your <a class="el" href="classWt_1_1WApplication.html" title="Represents an application instance for a single session.">WApplication</a>).</p>
<p>The signal supports up to 6 arguments. Values for these arguments may be specified in the JavaScript Wt.emit() (or the deprecated global function WtSignalEmit()).</p>
<p>Example code: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyWidget : <span class="keyword">public</span> WCompositeWidget
 {
 <span class="keyword">public</span>:
   MyWidget()
     : doSome_(this, <span class="stringliteral">&quot;doSome&quot;</span>)
   {
     ...
   }

   JSignal&lt;std::string, int&gt;&amp; doSome() { <span class="keywordflow">return</span> doSome_; }

 <span class="keyword">private</span>:
   JSignal&lt;std::string, int&gt; doSome_;

   ...
 };
</pre></div><p>The following JavaScript statement will emit the signal for a DOM element <em>element</em> that corresponds to a widget of class <code>MyWidget</code>:</p>
<div class="fragment"><pre class="fragment"> Wt.emit(element, <span class="stringliteral">&#39;dosome&#39;</span>, <span class="stringliteral">&#39;foo&#39;</span>, 42);
</pre></div><p>The <em>element</em> can be a <a class="el" href="classWt_1_1WWidget.html#aa2b7078b3b43d53a85e5244b45d504f7">DOM element</a>, or the <a class="el" href="classWt_1_1WObject.html#a5c5cc1d7aada99baf97d0dc203e42154">object ID</a> of a <a class="el" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system.">WObject</a>, or the constant <code>"Wt"</code> which is an alias for <a class="el" href="classWt_1_1WApplication.html#a38d922da0a0d83395519f3eaab85d0f6" title="Returns the current application instance.">Wt::WApplication::instance()</a>-&gt;<a class="el" href="group__dbo.html#ga42c50bd3bfc38ad8c810b30b279b0ba6" title="Maps a natural primary key (id) field.">id()</a>. The conversion between the JavaScript arguments (ax) and the C++ type Ax uses <code>boost::lexical_cast&lt;Ax&gt;(ax)</code>.</p>
<p>You can use the methods <a class="el" href="classWt_1_1JSignal.html#a449dbc079722b0ed9a9fd5df43e359f0" title="Returns a JavaScript call that triggers the signal.">createCall()</a> to let the signal itself generate this JavaScript call for you: </p>
<div class="fragment"><pre class="fragment"> doSome_.createCall(<span class="stringliteral">&quot;&#39;foo&#39;&quot;</span>, <span class="stringliteral">&quot;42&quot;</span>);
</pre></div><p>The JavaScript generated by <a class="el" href="classWt_1_1JSignal.html#a449dbc079722b0ed9a9fd5df43e359f0" title="Returns a JavaScript call that triggers the signal.">createCall()</a> is possibly affected by every connect or disconnect to the signal. In practice, you will use <a class="el" href="classWt_1_1JSignal.html" title="A signal to relay JavaScript to C++ calls.">JSignal</a> internally within a widget and call <a class="el" href="classWt_1_1JSignal.html#a449dbc079722b0ed9a9fd5df43e359f0" title="Returns a JavaScript call that triggers the signal.">createCall()</a> only after you connected internal slots to signal.</p>
<p>It is also possible to propagate an original JavaScript event as a last argument, of type <a class="el" href="classWt_1_1WMouseEvent.html" title="A class providing details for a mouse event.">WMouseEvent</a> or <a class="el" href="classWt_1_1WKeyEvent.html" title="A class providing details for a keyboard event.">WKeyEvent</a>. In that case, the second argument in <code>Wt.emit()</code> must be an object which indicates also the JavaScript event and event target.</p>
<p>Consider a signal declaration: </p>
<div class="fragment"><pre class="fragment"> JSignal&lt;std::string, int, WMouseEvent&gt; doSome();
</pre></div><p>Then, the following would be a suitable JavaScript call:</p>
<div class="fragment"><pre class="fragment"> Wt.emit(Wt, {<a class="code" href="classWt_1_1JSignal.html#aba4f375bcfd61c8938ceeafedd1b79b9" title="Returns the signal name.">name</a>: <span class="stringliteral">&#39;dosome&#39;</span>, <span class="keyword">event</span>: event, eventObject: <span class="keywordtype">object</span>}, <span class="stringliteral">&#39;foo&#39;</span>, 42);
</pre></div><p>The method <a class="el" href="classWt_1_1JSignal.html#afc04a6ee10c4ac0effe04b406feeb998" title="Returns a JavaScript call that triggers the signal, passing the original event too.">createEventCall()</a> may be used this variation for the JavaScript method call.</p>
<p>Since the conversion from JavaScript to C++ uses <code>boost::lexical_cast&lt;T&gt;(arg)</code>, you may provide support for custom types by implementing the c++ input stream operator <code>operator&lt;&lt; (std::istream&amp;, T&amp; t)</code> for your type.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WWidget.html#aa2b7078b3b43d53a85e5244b45d504f7" title="Returns a JavaScript expression to the corresponding DOM node.">WWidget::jsRef()</a>, <a class="el" href="classWt_1_1WObject.html#a5c5cc1d7aada99baf97d0dc203e42154" title="Returns the (unique) identifier for this object.">WObject::id()</a> </dd></dl>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3100e4e460f900ce97b1de554bae1108"></a><!-- doxytag: member="Wt::JSignal::JSignal" ref="a3100e4e460f900ce97b1de554bae1108" args="(WObject *object, const std::string &amp;name, bool collectSlotJavaScript=false)" -->
<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_1JSignal.html">Wt::JSignal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::<a class="el" href="classWt_1_1JSignal.html">JSignal</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WObject.html">WObject</a> *&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>collectSlotJavaScript</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a signal for the given object, and name. </p>
<p>The given <code>name</code> must be unique for all user signals specified for the object <code>object</code>. Ownership of the signal is not transferred to the object.</p>
<p>If <code>collectSlotJavaScript</code> is <code>true</code>, then javascript specified for connected slots (using <a class="el" href="classWt_1_1JSlot.html" title="A slot that is only implemented in client side JavaScript code.">JSlot</a>) or learned by stateless slot learning, is collected to client-side JavaScript.</p>
<p>Use the utility methods <a class="el" href="classWt_1_1JSignal.html#a449dbc079722b0ed9a9fd5df43e359f0" title="Returns a JavaScript call that triggers the signal.">createCall()</a> or <a class="el" href="classWt_1_1JSignal.html#afc04a6ee10c4ac0effe04b406feeb998" title="Returns a JavaScript call that triggers the signal, passing the original event too.">createEventCall()</a> to create the appropriate JavaScript statements that invoke the signal, which take into account possible other client-side JavaScript handling associated with the signal.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WObject.html#adaa163b9e92933f3b2ff4ec58e2734c6">stateless slot learning</a> </dd></dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aabb41837c09620b689972095b8a050fc"></a><!-- doxytag: member="Wt::JSignal::connect" ref="aabb41837c09620b689972095b8a050fc" 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_1JSignal.html">Wt::JSignal</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>Connect to a function. </p>
<p>This variant of the overloaded <a class="el" href="classWt_1_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">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 1 parameters unbound (e.g. using boost::bind placeholders _1) that may be bound to the event detail object passed by the signal. </p>

</div>
</div>
<a class="anchor" id="aa67e0db9432d8d2e691b47b8c0014665"></a><!-- doxytag: member="Wt::JSignal::connect" ref="aa67e0db9432d8d2e691b47b8c0014665" 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_1JSignal.html">Wt::JSignal</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>Connect a slot that takes no arguments. </p>
<p>The slot is specified as a method 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>. In addition, to check for stateless implementations, 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>. Thus, the following statement must return a non-null pointer:</p>
<div class="fragment"><pre class="fragment"> WObject *o = <span class="keyword">dynamic_cast&lt;</span>WObject *<span class="keyword">&gt;</span>(<span class="keyword">dynamic_cast&lt;</span>V *<span class="keyword">&gt;</span>(target));
</pre></div><p>If a stateless implementation is specified for the slot, then the visual behaviour will be learned in terms of JavaScript, and will be cached on the client side for instant feed-back, in addition running the slot on the server. </p>

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

</div>
</div>
<a class="anchor" id="a387bb39c570a02339c1bf41f7a3ea004"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a387bb39c570a02339c1bf41f7a3ea004" 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_1JSignal.html">Wt::JSignal</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>Connect 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_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a96d52207d359876b014721045d6681ba"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a96d52207d359876b014721045d6681ba" 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_1JSignal.html">Wt::JSignal</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>Connect 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_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a9fada4c93c1e7465584ad6000f37f90e"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a9fada4c93c1e7465584ad6000f37f90e" 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_1JSignal.html">Wt::JSignal</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>Connect 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_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a569dfead2228a160824ff268f9125985"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a569dfead2228a160824ff268f9125985" 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_1JSignal.html">Wt::JSignal</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>Connect 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_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a324adbaa32e73101cba3e5a80592c1c5"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a324adbaa32e73101cba3e5a80592c1c5" 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_1JSignal.html">Wt::JSignal</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>Connect 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_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="af51c8c642b3fd9f4cb990351af5deb03"></a><!-- doxytag: member="Wt::JSignal::connect" ref="af51c8c642b3fd9f4cb990351af5deb03" 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_1JSignal.html">Wt::JSignal</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>Connect 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_1JSignal.html#aabb41837c09620b689972095b8a050fc" title="Connect to a function.">connect</a>(T *target, void (V::*method)()) </dd></dl>

</div>
</div>
<a class="anchor" id="a52f7452ffce5064da4d5782f5eb1c7a4"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a52f7452ffce5064da4d5782f5eb1c7a4" args="(const std::string &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>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classWt_1_1JSignal.html">Wt::JSignal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>function</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connects a JavaScript function. </p>
<p>This will provide a client-side connection between the event and a JavaScript function. The argument must be a JavaScript function which optionally accepts up to two arguments (object and event):</p>
<div class="fragment"><pre class="fragment"> <span class="keyword">function</span>(object, event) {
   ...
 }
</pre></div><p>Unlike a <a class="el" href="classWt_1_1JSlot.html" title="A slot that is only implemented in client side JavaScript code.">JSlot</a>, there is no automatic connection management: the connection cannot be removed. If you need automatic connection management, you should use <a class="el" href="classWt_1_1JSignal.html#a66ef05cc8d6f98bfbd5c7402c3997627" title="Connect a slot that is specified as JavaScript only.">connect(JSlot&amp;)</a> instead. </p>

<p>Reimplemented from <a class="el" href="classWt_1_1EventSignalBase.html">Wt::EventSignalBase</a>.</p>

</div>
</div>
<a class="anchor" id="a66ef05cc8d6f98bfbd5c7402c3997627"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a66ef05cc8d6f98bfbd5c7402c3997627" args="(JSlot &amp;slot)" -->
<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_1JSignal.html">Wt::JSignal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::connect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1JSlot.html">JSlot</a> &amp;&#160;</td>
          <td class="paramname"><em>slot</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connect a slot that is specified as JavaScript only. </p>
<p>This will provide a client-side connection between the event and some JavaScript code as implemented by the slot. Unlike other connects, this does not cause the event to propagated to the application, and thus the state changes induced by the <code>slot</code> are invisible to the server-side. </p>

<p>Reimplemented from <a class="el" href="classWt_1_1EventSignalBase.html">Wt::EventSignalBase</a>.</p>

</div>
</div>
<a class="anchor" id="a7be6bc900513879d834127170164606c"></a><!-- doxytag: member="Wt::JSignal::connect" ref="a7be6bc900513879d834127170164606c" args="(WObject *target, void(WObject::*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_1JSignal.html">Wt::JSignal</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">void(WObject::*)()&#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="a449dbc079722b0ed9a9fd5df43e359f0"></a><!-- doxytag: member="Wt::JSignal::createCall" ref="a449dbc079722b0ed9a9fd5df43e359f0" args="(const std::string &amp;arg1=std::string(), const std::string &amp;arg2=std::string(), const std::string &amp;arg3=std::string(), const std::string &amp;arg4=std::string(), const std::string &amp;arg5=std::string(), const std::string &amp;arg6=std::string()) 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">const std::string <a class="el" href="classWt_1_1JSignal.html">Wt::JSignal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::createCall </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg1</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg2</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg3</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg4</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg5</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg6</em> = <code>std::string()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a JavaScript call that triggers the signal. </p>
<p>This is: </p>
<div class="fragment"><pre class="fragment">     Wt.emit([element], [<a class="code" href="classWt_1_1JSignal.html#aba4f375bcfd61c8938ceeafedd1b79b9" title="Returns the signal name.">name</a>], arg1, ...);
</pre></div><p>When the signal was constructed with <code>collectSlotJavaScript</code> == <code>true</code>, the inline JavaScript from slots defined as JavaScript or from learned stateless slots, or directly connected to the signal, is included as well.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>The method only takes into account JavaScript from slot connections that have been connected so far, and any subsequent connections are ignored.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1JSignal.html#afc04a6ee10c4ac0effe04b406feeb998" title="Returns a JavaScript call that triggers the signal, passing the original event too.">createEventCall()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="afc04a6ee10c4ac0effe04b406feeb998"></a><!-- doxytag: member="Wt::JSignal::createEventCall" ref="afc04a6ee10c4ac0effe04b406feeb998" args="(const std::string &amp;jsObject, const std::string &amp;jsEvent, const std::string &amp;arg1=std::string(), const std::string &amp;arg2=std::string(), const std::string &amp;arg3=std::string(), const std::string &amp;arg4=std::string(), const std::string &amp;arg5=std::string()) 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">const std::string <a class="el" href="classWt_1_1JSignal.html">Wt::JSignal</a>&lt; A1, A2, A3, A4, A5, A6 &gt;::createEventCall </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>jsObject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>jsEvent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg1</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg2</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg3</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg4</em> = <code>std::string()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>arg5</em> = <code>std::string()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a JavaScript call that triggers the signal, passing the original event too. </p>
<p>Similar to <a class="el" href="classWt_1_1JSignal.html#a449dbc079722b0ed9a9fd5df43e359f0" title="Returns a JavaScript call that triggers the signal.">createCall()</a>, the following JavaScript is returned: </p>
<div class="fragment"><pre class="fragment">     Wt.emit([element], { <a class="code" href="classWt_1_1JSignal.html#aba4f375bcfd61c8938ceeafedd1b79b9" title="Returns the signal name.">name</a>: [<a class="code" href="classWt_1_1JSignal.html#aba4f375bcfd61c8938ceeafedd1b79b9" title="Returns the signal name.">name</a>], eventObject: [jsObject], <span class="keyword">event</span>: [jsEvent]},
             arg1, ...);
</pre></div><p>In addition to information identifying the signal (<code>element</code> and <code>name</code>) and the arguments, also information on the original JavaScript event is transferred. In this way, you can propagate the corresponding event class (<a class="el" href="classWt_1_1WMouseEvent.html" title="A class providing details for a mouse event.">WMouseEvent</a> or <a class="el" href="classWt_1_1WKeyEvent.html" title="A class providing details for a keyboard event.">WKeyEvent</a>) as an additional last argument in the slot.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>The method only takes into account JavaScript from slot connections that have been connected so far, and any subsequent connections are ignored. </dd></dl>

</div>
</div>
<a class="anchor" id="a75643865204ab65b538f4ff80ed8f309"></a><!-- doxytag: member="Wt::JSignal::emit" ref="a75643865204ab65b538f4ff80ed8f309" 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)" -->
<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_1JSignal.html">Wt::JSignal</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Emit 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="a8bcaf238774e3b0efd9c31c903550fee"></a><!-- doxytag: member="Wt::JSignal::operator()" ref="a8bcaf238774e3b0efd9c31c903550fee" 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)" -->
<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_1JSignal.html">Wt::JSignal</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Emit the signal. </p>
<p>This is equivalent to <a class="el" href="classWt_1_1JSignal.html#a75643865204ab65b538f4ff80ed8f309" title="Emit the signal.">emit()</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1JSignal.html#a75643865204ab65b538f4ff80ed8f309" title="Emit 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>