tobkit/libsigc++-2.2.3/docs/reference/html/group__signal.html
2009-12-29 11:14:14 +00:00

87 lines
10 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libsigc++ 2.0: Signals</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
<table border="0" width="100%">
<tr>
<td width="10%" height="40"><img src="../../images/libsigc_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td>
<td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td>
</tr>
</table>
<center>
<a class="qindex" href="../../index.html">Main Page</a> &nbsp;
<a class="qindex" href="modules.html">Groups</a> &nbsp;
<a class="qindex" href="namespaces.html"> Namespaces</a> &nbsp;
</center>
<hr width="100%"/>
<!-- Generated by Doxygen 1.5.1 -->
<h1>Signals</h1>Use <a class="el" href="classsigc_1_1signal7.html#dc55ac9b0f935fd87a67904022e03cb2">sigc::signal::connect()</a> with <a class="el" href="group__mem__fun.html#g7d9ea809173f48bf5c76cf1989591602">sigc::mem_fun()</a> and <a class="el" href="group__ptr__fun.html#gda8b678665c14dc85eb32d25b7299465">sigc::ptr_fun()</a> to connect a method or function with a signal.
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1connection.html">sigc::connection</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convinience class for safe disconnection. <a href="structsigc_1_1connection.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1slot__iterator.html">sigc::slot_iterator&lt;T_slot&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL-style iterator for <a class="el" href="structsigc_1_1slot__list.html">slot_list</a>. <a href="structsigc_1_1slot__iterator.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1slot__const__iterator.html">sigc::slot_const_iterator&lt;T_slot&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL-style const iterator for <a class="el" href="structsigc_1_1slot__list.html">slot_list</a>. <a href="structsigc_1_1slot__const__iterator.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1slot__list.html">sigc::slot_list&lt;T_slot&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL-style list interface for <a class="el" href="classsigc_1_1signal.html">sigc::signal</a>#. <a href="structsigc_1_1slot__list.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal0.html">sigc::signal0&lt;T_return, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal0.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal1.html">sigc::signal1&lt;T_return, T_arg1, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal1.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal2.html">sigc::signal2&lt;T_return, T_arg1, T_arg2, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal3.html">sigc::signal3&lt;T_return, T_arg1, T_arg2, T_arg3, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal3.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html">sigc::signal4&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal5.html">sigc::signal5&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal5.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal6.html">sigc::signal6&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal6.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal7.html">sigc::signal7&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal declaration. <a href="classsigc_1_1signal7.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal.html">sigc::signal&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal.html">sigc::signal</a># templates. <a href="classsigc_1_1signal.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal_1_1accumulated.html">sigc::signal&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7&gt;::accumulated&lt;T_accumulator&gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience wrapper for the numbered <a class="el" href="classsigc_1_1signal.html">sigc::signal</a># templates. <a href="classsigc_1_1signal_1_1accumulated.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html">sigc::signal_base</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for the <a class="el" href="classsigc_1_1signal.html">sigc::signal</a># templates. <a href="structsigc_1_1signal__base.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html">sigc::trackable</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for objects with auto-disconnection. <a href="structsigc_1_1trackable.html#_details">More...</a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Use <a class="el" href="classsigc_1_1signal7.html#dc55ac9b0f935fd87a67904022e03cb2">sigc::signal::connect()</a> with <a class="el" href="group__mem__fun.html#g7d9ea809173f48bf5c76cf1989591602">sigc::mem_fun()</a> and <a class="el" href="group__ptr__fun.html#gda8b678665c14dc85eb32d25b7299465">sigc::ptr_fun()</a> to connect a method or function with a signal.
<p>
<div class="fragment"><pre class="fragment"> signal_clicked.connect( <a class="code" href="group__mem__fun.html#g7d9ea809173f48bf5c76cf1989591602">sigc::mem_fun</a>(*<span class="keyword">this</span>, &amp;MyWindow::on_clicked) );
</pre></div><p>
When the signal is emitted your method will be called.<p>
<a class="el" href="classsigc_1_1signal7.html#dc55ac9b0f935fd87a67904022e03cb2">signal::connect()</a> returns a connection, which you can later use to disconnect your method. If the type of your object inherits from <a class="el" href="structsigc_1_1trackable.html">sigc::trackable</a> the method is disconnected automatically when your object is destroyed.<p>
When signals are copied they share the underlying information, so you can have a protected/private <a class="el" href="classsigc_1_1signal.html">sigc::signal</a> member and a public accessor method.<p>
signal and slot objects provide the core functionality of this library. A slot is a container for an arbitrary functor. A signal is a list of slots that are executed on emission. For compile time type safety a list of template arguments must be provided for the signal template that determines the parameter list for emission. Functors and closures are converted into slots implicitely on connection, triggering compiler errors if the given functor or closure cannot be invoked with the parameter list of the signal to connect to. <hr><address><small>
Generated for libsigc++ 2.0 by <a href="http://www.doxygen.org/index.html">
Doxygen</a> 1.5.1 &copy;&nbsp;1997-2001</small></address>
</body>
</html>