Xfce.org | Xfce Goodies | Xfce Foundation Classes | Xfce Bug Tracker | Xfce Wiki | Xfce Forum | Xfce DevBlog    

... the power of gtk, the power of c++!

Home | News | History | FAQ | Documentation | Download | Contact | Links

Welcome to the Xfce Foundation Classes

The Xfce Foundation Classes is a set of integrated C++ classes for developing Xfce applications on UNIX-like operating systems such as Linux. The classes combine the power of GTK+ and the power of C++ into a state-of-the-art application development framework for the Xfce Desktop Environment. The classes judiciously use C++ language features to avoid layering on too much extra C++ complexity. The API is easy to understand and use, and should feel immediately familiar to most GTK+ programmers. The Xfce Foundation Classes is part of the Xfce project, and like Xfce it's lightweight, fast and easy to use. Currently there are three modules, the core object system and utility library (libxfc_core), the user interface library (libxfc_ui) and the Glade XML parser library (libxfc_glade).

The libxfc_core library

The libxfc_core library wraps the GLib object system and selected objects from the GLib utility library. Essentially, it provides a low level object system that can be used to build other libraries; libxfc_ui depends on this library. libxfc_core uses the libsigc++ 2.0 callback library to implement a typesafe system of signals and slots that makes using native GObject signals or creating your own signals very easy. libxfc_core includes a standard string compatible UTF-8 string class, automatic memory management, several convenient base classes, reference documentation and several example programs.

The libxfc_ui library

The libxfc_ui library is a user interface toolkit that makes developing GTK+ applications in C++ easy, intuitive and efficient. It provides more than 420 classes that wrap most  of the objects found in the ATK, GDK, Gdk-pixbuf, GTK, Cairo and Pango libraries. libxfc_ui is built on the libxfc_core library so you don't need to include this library in your application; libxfc_ui will do that for you. Included is a full set of simple example programs, a C++ version of the GTK+ widget demonstration program, an extensive reference manual, several test applications and a tutorial.

The libxfc_glade library

Glade is a popular GUI builder for GTK+ applications. Using Glade, you can visually create an application's user interface and save it to a XML description file (.glade). libglade is a C library that loads and parses Glade XML description files at runtime and generates the appropriate widgets. libxfc_glade is a C++ binding for libglade. It provides the user with a convenient way to use a Glade generated interface in a XFC application. And because there is less C++ code to write it makes XFC application development easier and faster.
Please note that in the newer versions of GTK, the GTK Builder does the same work, but are build into GTK+, and is ofcause wrapped in XFC to.

Why program in C++?

Over the years application programming has become more complex. Today, C++ is a better way the manage that complexity because it provides you with a variety of programming designs, both object-oriented and conventional, that let you develop high-quality applications easily. Properly used, C++ code is easily maintainable, is extensible, and can be performance and memory efficient.

Latest release...

The latest development release of the Xfce Foundation Classes is version 4.6.0.

Valid XHTML 1.0  
    Copyright © 2004-2012 The XFC Development Team Xfce is © Olivier FOURDAN1996-2012