- مرات التنزيل: 265
- متطلبات التشغيل:
- الاصدار : c++-gtk-utils
- اضيف في: 0000-00-00 00:00:00
- اخر تحديث: 21/05/2012
- الموقع علي الانترنت:
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 http://sourceforge.net/projects/cxx-gtk-utils/files/cxx-gtk-utils/0.9.0/c++-gtk-utils-0.9.0.tar.gz/downloadIt 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: http://cxx-gtk-utils.cvs.sourceforge.net/viewvc/cxx-gtk-utils/c++-gtk-utils/ , and can be obtained with: cvs -d:pserver:[email protected]:/cvsroot/cxx-gtk-utils loginWhen prompted for a password just press the 'Enter' key. Then download the files with: cvs -z3 -d:pserver:[email protected]:/cvsroot/cxx-gtk-utils co c++-gtk-utilsProduct's homepage What's New in This Release: [ read full changelog ]
· Provide new Cgu::AsyncResult class (tests/Makefile.am, tests/test_async_result.cpp; c++-gtk-utils/Makefile.am, configure-gtk2.ac, configure-gtk3.ac, doxygen.main.in,
· async_queue.h, async_result.h, future.h).
· Provide copy constructors, assignment operators and swap methods for Cgu::AsyncQueue and Cgu::AsyncQueueDispatch classes (async_queue.h; tests/test_async_queue.cpp).
· Provide size() method for Cgu::AsyncQueue and Cgu::AsyncQueueDispatch classes (async_queue.h; tests/test_async_queue.cpp).
· Add default constructor for Cgu::Thread::JoinableHandle class (thread.h; tests/test_thread.cpp).
· Add gcc-4.7 to the list of compilers requiring use of the -std=c++0x flag (doxygen.main.in).
· Update other documentation (async_queue.h, callback.h, emitter.h, fdstream.h, future.h, gstream.h, mutex.h, notifier.h, prog_present.h, reassembler.h, shared_handle.h, shared_ptr.h.