ff01014782
[SVN r53569]
181 lines
7.5 KiB
XML
181 lines
7.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
|
|
"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
|
|
<!--
|
|
Copyright Douglas Gregor 2001-2004
|
|
Copyright Frank Mori Hess 2007-2009
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
-->
|
|
<section last-revision="$Date: 2007-06-12 14:01:23 -0400 (Tue, 12 Jun 2007) $" id="signals2.examples">
|
|
<title>Example programs</title>
|
|
|
|
<using-namespace name="boost::signals2"/>
|
|
<using-namespace name="boost"/>
|
|
|
|
<section id="signals2.examples.misc">
|
|
<title>Miscellaneous Tutorial Examples</title>
|
|
<section id="signals2.examples.tutorial.hello_world_slot">
|
|
<title>hello_world_slot</title>
|
|
<para>
|
|
This example is a basic example of connecting a slot to a signal
|
|
and then invoking the signal.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/hello_world_slot.cpp">hello_world_slot.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.hello_world_multi_slot">
|
|
<title>hello_world_multi_slot</title>
|
|
<para>
|
|
This example extends the hello_world_slot example slightly by connecting more than one
|
|
slot to the signal before invoking it.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/hello_world_multi_slot.cpp">hello_world_multi_slot.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.ordering_slots">
|
|
<title>ordering_slots</title>
|
|
<para>
|
|
This example extends the hello_world_multi_slot example slightly by
|
|
using slot groups to specify
|
|
the order slots should be invoked.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/ordering_slots.cpp">ordering_slots.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.slot_arguments">
|
|
<title>slot_arguments</title>
|
|
<para>
|
|
The slot_arguments program shows how to pass arguments from a signal invocation to slots.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/slot_arguments.cpp">slot_arguments.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.signal_return_value">
|
|
<title>signal_return_value</title>
|
|
<para>
|
|
This example shows how to return a value from slots to the signal invocation.
|
|
It uses the default <classname>optional_last_value</classname> combiner.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/signal_return_value.cpp">signal_return_value.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.custom_combiners">
|
|
<title>custom_combiners</title>
|
|
<para>
|
|
This example shows more returning of values from slots to the signal invocation.
|
|
This time, custom combiners are defined and used.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/custom_combiners.cpp">custom_combiners.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.disconnect_and_block">
|
|
<title>disconnect_and_block</title>
|
|
<para>
|
|
This example demonstrates various means of manually disconnecting slots, as well as temporarily
|
|
blocking them via <classname>shared_connection_block</classname>.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/disconnect_and_block.cpp">disconnect_and_block.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.passing_slots">
|
|
<title>passing_slots</title>
|
|
<para>
|
|
This example demonstrates the passing of slot functions to a private signal
|
|
through a non-template interface.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/passing_slots.cpp">passing_slots.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.tutorial.extended_slot">
|
|
<title>extended_slot</title>
|
|
<para>
|
|
This example demonstrates connecting an extended slot to a signal. An extended slot
|
|
accepts a reference to its invoking signal-slot connection as an additional argument,
|
|
permitting the slot to temporarily block or permanently disconnect itself.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/extended_slot.cpp">extended_slot.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
</section>
|
|
<section id="signals2.examples.document-view">
|
|
<title>Document-View</title>
|
|
<section id="signals2.examples.document-view.doc_view">
|
|
<title>doc_view</title>
|
|
<para>
|
|
This is the document-view example program which is described in the
|
|
<link linkend="signals2.tutorial.document-view">tutorial</link>. It shows
|
|
usage of a signal and slots to implement two different views of
|
|
a text document.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/doc_view.cpp">doc_view.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.document-view.doc_view_acm">
|
|
<title>doc_view_acm</title>
|
|
<para>
|
|
This program modifies the original doc_view.cpp example to employ
|
|
automatic connection management.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/doc_view_acm.cpp">doc_view_acm.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.document-view.doc_view_acm_deconstruct">
|
|
<title>doc_view_acm_deconstruct</title>
|
|
<para>
|
|
This program modifies the doc_view_acm.cpp example to use postconstructors
|
|
and the <functionname>deconstruct()</functionname> factory function.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/doc_view_acm_deconstruct.cpp">doc_view_acm_deconstruct.cpp</ulink>.
|
|
</para>
|
|
</section>
|
|
</section>
|
|
<section id="signals2.examples.deconstruct">
|
|
<title>Postconstructors and Predestructors with <code>deconstruct()</code></title>
|
|
<section id="signals2.examples.deconstruct.postconstructor_ex1">
|
|
<title>postconstructor_ex1</title>
|
|
<para>
|
|
This program is a basic example of how to define a class with a postconstructor which
|
|
uses <functionname>deconstruct()</functionname> as its factory function.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/postconstructor_ex1.cpp">postconstructor_ex1</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.deconstruct.postconstructor_ex2">
|
|
<title>postconstructor_ex2</title>
|
|
<para>
|
|
This program extends the postconstructor_ex1 example slightly, by additionally passing arguments from
|
|
the <functionname>deconstruct()</functionname> call through to the class' constructor
|
|
and postconstructor.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/postconstructor_ex2.cpp">postconstructor_ex2</ulink>.
|
|
</para>
|
|
</section>
|
|
<section id="signals2.examples.deconstruct.predestructor_example">
|
|
<title>predestructor_example</title>
|
|
<para>
|
|
This program is a basic example of how to define a class with a predestructor which
|
|
uses <functionname>deconstruct()</functionname> as its factory function.
|
|
</para>
|
|
<para>
|
|
Download <ulink url="boost:/libs/signals2/example/predestructor_example.cpp">predestructor_example</ulink>.
|
|
</para>
|
|
</section>
|
|
</section>
|
|
</section>
|