diff options
-rw-r--r-- | docs/devel.md | 25 | ||||
-rw-r--r-- | docs/devel.shtml | 40 | ||||
-rw-r--r-- | docs/doc.md | 11 | ||||
-rw-r--r-- | docs/doc.shtml | 21 | ||||
-rw-r--r-- | docs/glossary.md | 44 | ||||
-rw-r--r-- | docs/glossary.shtml | 54 | ||||
-rw-r--r-- | docs/index.md | 43 | ||||
-rw-r--r-- | docs/index.shtml | 57 | ||||
-rw-r--r-- | docs/license.md | 9 | ||||
-rw-r--r-- | docs/license.shtml | 30 | ||||
-rw-r--r-- | docs/link.md | 28 | ||||
-rw-r--r-- | docs/link.shtml | 46 | ||||
-rw-r--r-- | docs/stable.md | 21 | ||||
-rw-r--r-- | docs/stable.shtml | 30 |
14 files changed, 181 insertions, 278 deletions
diff --git a/docs/devel.md b/docs/devel.md new file mode 100644 index 0000000..3ef3ed8 --- /dev/null +++ b/docs/devel.md @@ -0,0 +1,25 @@ +# Development + +## Mailing List + +There is a mailing list, +[libsigc-list@gnome.org](http://mail.gnome.org/mailman/listinfo/libsigc-list) for libsigc++, to serve as +a design discussion area as well as a place to report bugs. To subscribe, use the web +[page](http://mail.gnome.org/mailman/listinfo/libsigc-list). +Members can post directly, but all other traffic is moderated. +There is an archive of messages, +[here](http://mail.gnome.org/archives/libsigc-list/). + +## Patches + +Patches should be added to bugzilla bugs. + +See the list of [open libsigc++ bugs](http://bugzilla.gnome.org/buglist.cgi?product=libsigc%2B%2B&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO") ,or [submit a new libsigc++ bug]("http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B). + +We also accept pull requests via the [libsigc++ mirror on GitHub](https://github.com/GNOME/libsigcplusplus). + +## Version Control + +libsigc++ is in the [libsigcplusplus](http://git.gnome.org/browse/libsigcplusplus/) module in GNOME's git repository. + +There is also a [libsigc++ mirror on GitHub](https://github.com/GNOME/libsigcplusplus).
\ No newline at end of file diff --git a/docs/devel.shtml b/docs/devel.shtml deleted file mode 100644 index ff0a67d..0000000 --- a/docs/devel.shtml +++ /dev/null @@ -1,40 +0,0 @@ -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - -<a name="devel"><h2>Development</h2></a> - - -<a name="mail"><h3>Mailing List</h3></a> - -<p> -There is a mailing list, -<a href="http://mail.gnome.org/mailman/listinfo/libsigc-list">libsigc-list@gnome.org</a> for libsigc++, to serve as -a design discussion area as well as a place to report bugs. To subscribe, use the web -<a href="http://mail.gnome.org/mailman/listinfo/libsigc-list">page</a>. -Members can post directly, but all other traffic is moderated. -There is an archive of messages, -<a href="http://mail.gnome.org/archives/libsigc-list/">here</a>. -</p> - -<a name="patches"><h3>Patches</h3></a> - -<p> -Patches should be added to bugzilla bugs.</p> - -<p> -See the list of <a href="http://bugzilla.gnome.org/buglist.cgi?product=libsigc%2B%2B&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO">open libsigc++ bugs</a> or <a href="http://bugzilla.gnome.org/enter_bug.cgi?product=libsigc%2B%2B">submit a new libsigc++ bug</a>. -</p> - -<p>We also accept pull requests via the <a href="https://github.com/GNOME/libsigcplusplus">libsigc++ mirror on GitHub</a>.</p> - -<a name="git"><h3>Version Control</h3></a> - -<p> -libsigc++ is in the <a href="http://git.gnome.org/browse/libsigcplusplus/">libsigcplusplus</a> module in GNOME's git repository. -</p> -<p>There is also a <a href="https://github.com/GNOME/libsigcplusplus">libsigc++ mirror on GitHub</a>.</p> - -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment end --> diff --git a/docs/doc.md b/docs/doc.md new file mode 100644 index 0000000..b19c7ad --- /dev/null +++ b/docs/doc.md @@ -0,0 +1,11 @@ +## Documentation + + +We have both [tutorial-style](http://developer.gnome.org/libsigc++-tutorial/stable/) +and [reference](http://developer.gnome.org/libsigc++/stable/) documentation. + + +## Glossary of terms + +For those which just want a quick look at the terms used in +the system, glance over the [glossary](glossary.shtml)
\ No newline at end of file diff --git a/docs/doc.shtml b/docs/doc.shtml deleted file mode 100644 index 6185e43..0000000 --- a/docs/doc.shtml +++ /dev/null @@ -1,21 +0,0 @@ -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - -<a name="doc"><h3>Documentation</h3></a> - -<p> -We have both <a href="http://developer.gnome.org/libsigc++-tutorial/stable/">tutorial-style</a> -and <a href="http://developer.gnome.org/libsigc++/stable/">reference</a> documentation.</p> - - -<a name="glossary"><h3>Glossary of terms</h3></a> -<p> -For those which just want a quick look at the terms used in -the system, glance over the <a href="glossary.shtml">glossary</a> -</p> - - -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment end --> diff --git a/docs/glossary.md b/docs/glossary.md new file mode 100644 index 0000000..71ac953 --- /dev/null +++ b/docs/glossary.md @@ -0,0 +1,44 @@ +## Glossary of Terms + +**adaptor** *(noun)* - A function which alters a slot’s +signature. + +**bind** *(verb)* - To fix a value of a callback's argument in the +STL sense. + +**call** *(verb)* - The process of invoking a callback or slot. + +**callback** *(noun)* - A function or a member function which will +be called when a signal is emitted. A slot specifies the callback and any extra +data, such as the object instance, and extra parameters. + +**connect** *(verb)* - The process of specifying the callback +which will be called when the signal is emitted. + +**emit** *(verb)* - When a signal is emitted, the connected slots +will be called. + +**factory** *(noun)* - A function which takes a set of arguments and +produces a different object based on those arguments. + +**handle** *(noun)* - A safe version of a pointer. + +**marshaller** *(noun)* - When a signal has a return value, and +several slots are connected to that signal, each one returning a value, then a +marshaller chooses one single return value. + +**safe** *(adj)* - Any structure which falls back into uninitalized state +when its related resources are destroyed. Safe resources can be +held throughout the program. Unsafe resources may point to freed +memory. + +**signal** *(noun)* - An object to which callback slots can be +connected. When the signal is emitted, each callback will be invoked. The +signal and the connected slots have a specific return type and parameter types. + +**signal handler** *(noun)* - Another name for a callback. + +**signature** *(noun)* - The return type of a function together with +the argument types of that function. + +**slot** *(noun)* - A safe version of a callback. diff --git a/docs/glossary.shtml b/docs/glossary.shtml deleted file mode 100644 index 51e8540..0000000 --- a/docs/glossary.shtml +++ /dev/null @@ -1,54 +0,0 @@ -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - - -<a name="index"><h3>Glossary of Terms</h3></a> - -<p><b>adaptor</b> <i>(noun)</i> - A function which alters a slot’s -signature. </p> - -<p><b>bind</b> <i>(verb)</i> - To fix a value of a callback's argument in the -STL sense. </p> - -<p><b>call</b> <i>(verb)</i> - The process of invoking a callback or slot. </p> - -<p><b>callback</b> <i>(noun)</i> - A function or a member function which will -be called when a signal is emitted. A slot specifies the callback and any extra -data, such as the object instance, and extra parameters. </p> - -<p><b>connect</b> <i>(verb)</i> - The process of specifying the callback -which will be called when the signal is emitted. </p> - -<p><b>emit</b> <i>(verb)</i> - When a signal is emitted, the connected slots -will be called. </p> - -<p><b>factory</b> <i>(noun)</i> - A function which takes a set of arguments and -produces a different object based on those arguments. </p> - -<p><b>handle</b> <i>(noun)</i> - A safe version of a pointer. </p> - -<p><b>marshaller</b> <i>(noun)</i> - When a signal has a return value, and -several slots are connected to that signal, each one returning a value, then a -marshaller chooses one single return value. </p> - -<p><b>safe</b> <i>(adj)</i> - Any structure which falls back into uninitalized state -when its related resources are destroyed. Safe resources can be -held throughout the program. Unsafe resources may point to freed -memory. </p> - -<p><b>signal</b> <i>(noun)</i> - An object to which callback slots can be -connected. When the signal is emitted, each callback will be invoked. The -signal and the connected slots have a specific return type and parameter types. -</p> - -<p><b>signal handler</b> <i>(noun)</i> - Another name for a callback. </p> - -<p><b>signature</b> <i>(noun)</i> - The return type of a function together with -the argument types of that function. </p> - -<p><b>slot</b> <i>(noun)</i> - A safe version of a callback. </p> - -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment begin --> diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..2ba3090 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,43 @@ +# libigc++ + +## About + +libsigc++ implements a typesafe callback system for standard C++. It +allows you to define signals and to connect those signals to any +callback function, either global or a member function, regardless of +whether it is static or virtual. + +It also contains adaptor classes for connection of dissimilar +callbacks and has an ease of use unmatched by other +C++ callback libraries. Libsigc++ is licensed under +the GNU Library General Public License, [LGPL](http://www.gnu.org/copyleft/lgpl.html). + +## Features + +* Compile time typesafe callbacks (faster than run time checks) +* Typesafety violations report line number correctly with template names (no tracing template failures into headers) +* No compiler extensions or meta compilers required +* Proper handling of dynamic objects and signals (deleted objects will not cause seg faults) +* Extendable API at any level: signal, slot, connection and trackable +* Extensions do not require alteration of basic components +* User definable accumulators +* A variety of adaptors to change the callback signature: bind, hide, retype, compose +* Most C++ compilers can be used. libsigc++ version 2.5.1 and later require a compiler with C++11 support + +## News + +See the [NEWS](https://git.gnome.org/browse/libsigcplusplus/tree/NEWS) file in git. + +## Developers + +The original library was composed by Tero Pulkkinen for the +gtkmm system, a C++ wrapper for the Gtk+ widget set. The revised +library was written and mantained by Karl Nelson. Special thanks +to Esa Pulkkinen for development tips. + +The 1.2 phase was maintained by Murray Cumming after Karl provided the initial 1.2 code. +A long 1.9 phase led to the major release 2.0, previously maintained by Martin Schulze, +and then maintained by Murray Cumming and Kjell Ahlstedt. + +Then libsigc++ was rewritten for C++14 using variadic templates, for major release 3.0, +currently maintained by Murray Cumming and Kjell Ahlstedt. diff --git a/docs/index.shtml b/docs/index.shtml deleted file mode 100644 index 60d3f1d..0000000 --- a/docs/index.shtml +++ /dev/null @@ -1,57 +0,0 @@ -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - - -<a name="about"><h3>About</h3></a> -<p> -libsigc++ implements a typesafe callback system for standard C++. It -allows you to define signals and to connect those signals to any -callback function, either global or a member function, regardless of -whether it is static or virtual. -</p> -<p> -It also contains adaptor classes for connection of dissimilar -callbacks and has an ease of use unmatched by other -C++ callback libraries. Libsigc++ is licensed under -the GNU Library General Public License, <a href="http://www.gnu.org/copyleft/lgpl.html">LGPL</a>. -</p> -<p> -<a name="features"><h3>Features</h3></a> -<ul> - <li>Compile time typesafe callbacks (faster than run time checks)</li> - <li>Typesafety violations report line number correctly with - template names (no tracing template failures into headers)</li> - <li>No compiler extensions or meta compilers required</li> - <li>Proper handling of dynamic objects and signals - (deleted objects will not cause seg faults)</li> - <li>Extendable API at any level: - signal, slot, connection and trackable</li> - <li>Extensions do not require alteration of basic components</li> - <li>User definable accumulators</li> - <li>A variety of adaptors to change the callback signature: - bind, hide, retype, compose</li> - <li>Most C++ compilers can be used. libsigc++ version 2.5.1 and later require - a compiler with C++11 support</li> -</ul> -</p> -<p> -<a name="news"><h3>News</h3></a> - -<p>See the <a href="https://git.gnome.org/browse/libsigcplusplus/tree/NEWS">NEWS</a> file in git.</p> - -<p> -<a name="devel"><h3>Developers</h3></a> -<p>The original library was composed by Tero Pulkkinen for the -gtkmm system, a C++ wrapper for the Gtk+ widget set. The revised -library was written and mantained by Karl Nelson. Special thanks -to Esa Pulkkinen for development tips. -The 1.2 phase was maintained by Murray Cumming after Karl provided the initial 1.2 code. -A long 1.9 phase led to the major release 2.0, previously maintained by Martin Schulze, -and then maintained by Murray Cumming and Kjell Ahlstedt.</p> -<p>Then libsigc++ was rewritten for C++14 using variadic templates, for major release 3.0, -currently maintained by Murray Cumming and Kjell Ahlstedt.</p> - -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment end --> diff --git a/docs/license.md b/docs/license.md new file mode 100644 index 0000000..693262b --- /dev/null +++ b/docs/license.md @@ -0,0 +1,9 @@ +Libsigc++ is licensed under the [GNU Library General Public License](https://www.gnu.org/licenses/lgpl-3.0-standalone.html) +for all platforms. Our intent in licensing it in this way is to +provide it for use through shared libraries in all projects both +open and proprietary. Other GNU projects may of course integrate +and link in a static manner. The full body of the license is +provided for your inspection. + +This is the only license which grants you use of the software, so +if you do not agree to its terms, you may not use this software.
\ No newline at end of file diff --git a/docs/license.shtml b/docs/license.shtml deleted file mode 100644 index 22ca7f9..0000000 --- a/docs/license.shtml +++ /dev/null @@ -1,30 +0,0 @@ - -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - - -<p> -Libsigc++ is licensed under the <a href="https://www.gnu.org/licenses/lgpl-3.0-standalone.html">GNU Library General Public License</a> -for all platforms. Our intent in licensing it in this way is to -provide it for use through shared libraries in all projects both -open and proprietary. Other GNU projects may of course integrate -and link in a static manner. The full body of the license is -provided for your inspection. -</p> - -<p> -This is the only license which grants you use of the software, so -if you do not agree to its terms, you may not use this software. -</p> - -<p> -<hr> - -<pre> - - -</pre> -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment begin --> diff --git a/docs/link.md b/docs/link.md new file mode 100644 index 0000000..4444fae --- /dev/null +++ b/docs/link.md @@ -0,0 +1,28 @@ +## GNOME Links + +Libsigc++ is part of the greater GNOME code base. + +* [gtkmm widget wrapper](http://www.gtkmm.org) +* [GTK+ widget set](http://www.gtk.org) +* [Gnome project](http://www.gnome.org) + +## Callback Links + +There are a number of other C++ callback systems +and publications on construction of callback systems. + +* [Boost Signals](http://www.boost.org/doc/html/signals.html) +* Trolltech signal system (part of [Qt widget set](http://www.qt.io/)) +* (Send us a link you find worth mentioning here.) + +## Users + +Here is a list of some of the projects that use libsigc++. +(Have a project which is using libsigc++? Mail us.) + +* [glibmm and gtkmm](http://www.gtkmm.org) +* [Libpropc++: Creating and effective using properties in C++](http://sourceforge.net/projects/libpropc/) +* [Yehia: Extension library with support for cross-threaded signal emission.](http://ucxx.sourceforge.net/) +* [GFC: Alternative C++ wrapper for the GTK+ widget set.](http://gfc.sourceforge.net/) +* [Libuta](http://sourceforge.net/projects/libuta/) +* [The WorldForge Project](http://www.worldforge.org/) diff --git a/docs/link.shtml b/docs/link.shtml deleted file mode 100644 index 20bab8d..0000000 --- a/docs/link.shtml +++ /dev/null @@ -1,46 +0,0 @@ -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - -<a name="gnome"><h3>GNOME Links</h3></a> - -<p> -Libsigc++ is part of the greater GNOME code base. -<ul> - <li><a href="http://www.gtkmm.org">gtkmm widget wrapper</a></li> - <li><a href="http://www.gtk.org">GTK+ widget set</a></li> - <li><a href="http://www.gnome.org">Gnome project</a></li> -</ul> -</p> - -<a name="other"><h3>Callback Links</h3></a> - -<p> -There are a number of other C++ callback systems -and publications on construction of callback systems. -<ul> - <li><a href="http://www.boost.org/doc/html/signals.html">Boost Signals</a></li> - <li>Trolltech signal system (part of <a href="http://www.qt.io/">Qt widget set</a>)</li> - <li>(Send us a link you find worth mentioning here.)</li> -</ul> -</p> - -<a name=""><h3>Users</h3></a> - -<p> -Here is a list of some of the projects that use libsigc++. -(Have a project which is using libsigc++? Mail us.) -<ul> - <li><a href="http://www.gtkmm.org">glibmm and gtkmm</a></li> - <li><a href="http://sourceforge.net/projects/libpropc/">Libpropc++: Creating -and effective using properties in C++</a></li> - <li><a href="http://ucxx.sourceforge.net/">Yehia: Extension library with support for cross-threaded signal emission.</a></li> - <li><a href="http://gfc.sourceforge.net/">GFC: Alternative C++ wrapper for the GTK+ widget set.</a></li> - <li><a href="http://sourceforge.net/projects/libuta/">Libuta</a></li> - <li><a href="http://www.worldforge.org/">The WorldForge Project</a></li> -</ul> -</p> - -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment end --> diff --git a/docs/stable.md b/docs/stable.md new file mode 100644 index 0000000..ff3f5ab --- /dev/null +++ b/docs/stable.md @@ -0,0 +1,21 @@ +# Download + +## Source Packages + + +The source packages for libsigc++ are available on the [GNOME ftp site](http://ftp.gnome.org/pub/GNOME/sources/libsigc++/) +and via the [GNOME download site](http://download.gnome.org/sources/libsigc++/). + + +## Binary Packages + +Whenever possible, you should use the official binary packages approved by the supplier of your operating system, such as your Linux distribution. +For instance, Ubuntu Linux, Debian Linux and Fedora Linux have official libsigc++ packages. + +## Requirements + +[pkg-config](http://www.freedesktop.org/wiki/Software/pkg-config/) should be used to build software that depends on libsigc++. + + +libsigc++ is built and tested for a standards-compliant C++ compiler. Luckily, the recent versions of all major C++ compilers are now sufficiently standards-compliant. +libsigc++ version 2.5.1 and later require a C++11-compliant compiler.
\ No newline at end of file diff --git a/docs/stable.shtml b/docs/stable.shtml deleted file mode 100644 index 3c548f7..0000000 --- a/docs/stable.shtml +++ /dev/null @@ -1,30 +0,0 @@ -<!-- SSI fragments/htm_declaration.html_fragment begin --> -<!--#include virtual="fragments/html_declaration.html_fragment" --> -<!-- SSI fragments/html_declaration.html_fragment end --> - -<a name="download"><h2>Download</h2></a> - -<a name="sources"><h3>Source Packages</h3></a> - -<p> -The source packages for libsigc++ are available on the <a href="http://ftp.gnome.org/pub/GNOME/sources/libsigc++/">GNOME ftp site</a> -and via the <a href="http://download.gnome.org/sources/libsigc++/">GNOME download site</a>. -</p> - -<a name="binaries"><h3>Binary Packages</h3></a> - -<p>Whenever possible, you should use the official binary packages approved by the supplier of your operating system, such as your Linux distribution. -For instance, Ubuntu Linux, Debian Linux and Fedora Linux have official libsigc++ packages.</p> - -<a name="require"><h3>Requirements</h3></a> - -<a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> should be used to build software that depends on libsigc++. - -<p> -libsigc++ is built and tested for a standards-compliant C++ compiler. Luckily, the recent versions of all major C++ compilers are now sufficiently standards-compliant. -libsigc++ version 2.5.1 and later require a C++11-compliant compiler. -</p> - -<!-- SSI fragments/footer.html_fragment begin --> -<!--#include virtual="fragments/footer.html_fragment" --> -<!-- SSI fragments/footer.html_fragment end --> |