c++-gtk-utils

Classes and functions for programming in GTK+
Download

c++-gtk-utils Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • Chris Vine
  • Publisher web site:

c++-gtk-utils Tags


c++-gtk-utils Description

Classes and functions for programming in GTK+ c++-gtk-utils is a lightweight library containing a number of classes and functions for programming GTK+ programs using C++ in POSIX (unix-like) environments, where the user does not want to use a full-on wrapper such as gtkmm or wxWidgets, or is concerned about exception safety or thread safety of the wrapper and their documentation.The latest version is version 0.9.0, and can be downloaded from provides the following: * Classes for managing the lifetimes of GTK+ widgets and windows which will make GTK+ exception safe (WinBase and MainWidgetBase) * A class for managing GObject reference counts (GobjHandle). * Functions to make single instance programs, where restarting will bring up the existing instance (prog_present). This is an optional inclusion - it will only be compiled into the library if dbus-glib is installed. * Classes for memory management (SharedPtr, SharedLockPtr, SharedHandle, SharedLockHandle, ScopedHandle, IntrusivePtr, IntrusiveCounter, IntrusiveLockCounter, GcharScopedHandle, GcharSharedHandle, GerrorScopedHandle and GerrorSharedHandle). * Callback/closure classes for static and non-static member functions, and thread-safe signal/slot classes with automatic diconnection (Callback::CallbackArg, Callback::FunctorArg, Callback::SafeFunctorArg, EmitterArg, SafeEmitterArg and Releaser). * Classes for using std iostreams with files opened with unix file descriptors ( fdistream, fdostream, wfdistream and wfdostream). * Functions for connecting a Callback object and a unix file descriptor to the main loop, with provision for automatic disconnection (start_iowatch()). * Classes and functions for inter-thread communication (Notifier, AsyncQueue, AsyncQueueDispatch and Callback::post()). * Some convenience pthread wrapper classes (Thread::Thread, Thread::Mutex, Thread::Cond, Thread::Mutex::Lock, Thread::RecMutex and Thread::RecMutex::Lock). * A class encapsulating anonymous unix pipes (PipeFifo), and for synchronising between processes when setting up (SyncPipe). * A class for reassembling UTF-8 strings sent over pipes and sockets so they form complete valid UTF-8 characters suitable for GTK+ widgets (Utf8::Reassembler). * Classes for printing postscript files (FilePrintManager) and plain text (TextPrintManager) using the GTK+ print system. * A utility adaptor to create a functor to execute a class member function on items contained by standard containers, equivalent to std::ptr_fun() for ordinary functions (MemFun::make()).Note:1. Certain parts of this library would (if compiled for windows with a suitable build system) work under windows without cygwin, such as the classes for managing object lifetime and memory management (including the locked shared pointer class as that uses glib atomic functions by default), the iostreams for file descriptors as regards their use with winsock sockets (with changes to the headers), the utf8 utilities, the text print manager, the memfun utility adaptor and the callback/closure classes, including the callback posting function for inter-thread communication. (The thread-safe signal/emitter classes could not be used under windows without rewriting the mutex locking to use GMutex or windows critical sections.)2. This library is released under the GNU Lesser General Public License version 2.1. Where a file in the library provides a templated class or function, the licence is modified to provide a template exception in the following terms: 'However, it is not intended that the object code of a program whose source code instantiates a template from this file should by reason only of that instantiation be subject to the restrictions of use in the GNU Lesser General Public License. With that in mind, the words "and instantiations of templates (of any length)" shall be treated as inserted in the fourth paragraph of section 5 of that licence after the words "and small inline functions (ten lines or less in length)". This does not affect any other reason why object code may be subject to the restrictions in that licence (nor for the avoidance of doubt does it affect the application of section 2 of that licence to modifications of the source code in this file).'3. The current files in CVS can be viewed at: , and can be obtained with: cvs -d:pserver:anonymous@cxx-gtk-utils.cvs.sourceforge.net:/cvsroot/cxx-gtk-utils loginWhen prompted for a password just press the 'Enter' key. Then download the files with: cvs -z3 -d:pserver:anonymous@cxx-gtk-utils.cvs.sourceforge.net:/cvsroot/cxx-gtk-utils co c++-gtk-utils What's New in This Release: · A function to start timeouts in a glib main loop with automatic disconnection of callback objects is provided. · New functions are provided for converting between code sets. · Callbacks can now be posted to any thread with a main loop. io_watches can be started with a priority other than the default. · Other improvements have been made.


c++-gtk-utils Related Software