Skip navigation.

GNOME Platform Bindings 2.6.0

GNOME
GNOME

As scheduled, we now have API/ABI-stable bindings for the GNOME 2.6 Development Platform, for C++, Java, and Perl. That means you can seriously consider those programming languages (and others) when developing GNOME-based applications, and you can be confident that your applications will not break when future versions of these bindings are released.The GNOME Platform Bindings provide a stable GNOME development platform for programming languages other than C, in the style of those languages.
This release offers stable APIs for the GNOME 2.6 Platform in C++, Java, and Perl:

http://www.gnome.org/start/2.5/bindings/modules.html

These bindings follow these rules
. Note that those rules do not guarantee 100% API coverage, but they do guarantee API/ABI stability.
Note that other bindings also exist but they were not on this release schedule and they do not necessarily follow the same rules.

If you have questions about the GNOME Platform Bindings release set please send email to language-bindings at gnome.org. If you have questions about the individual bindings, please send email to their own mailing lists. You can find links to the individual projects here:

http://www.gnome.org/start/2.5/bindings/modules.html

Download

You can download source tarballs from

ftp://ftp.gnome.org/pub/GNOME/bindings/2.6/2.6.0/

Changes, for each binding, since their GNOME-2.4-based releases

** C++ (gtkmm):

gtkmm:

Highlights:

There are several new widgets/classes, with examples:

  • New File Chooser: FileChooser, FileChooserWidget, FileChooserDialog, FileFilter classes.
  • Action-based Toolbar/Menu API: UIManager, Action, ToggleAction, RadioAction classes
  • New Combo Box: ComboBox, ComboBoxEntry, ComboBoxText, CellLayout classes
  • Auto-complete for Entry: EntryCompletion class
  • Other new classes: IconInfo, IconTheme TargetList
  • New ATK, Pango, and GDK API wrapped

Existing API improved:

  • Use of improved libsigc++ 2 API.
  • Removed useless key-binding signals
  • Alignment: Added set/get_padding()
  • Entry: Added set/get_alignment()
  • Settings: New properties
  • ListStore/TreeStores: Added insert_after(), which should be faster than insert().
  • TreeView: Added move_column_to_start()
  • TreeModel: Deriving is now easier, because the virtual functions now use C++ types.
  • TreeModel::iterator: Added operator--(), which is slow
  • See the NEWS file for detailed API changes.

gnome-vfsmm:

This API is now complete and API-stable.

libgnomecanvasmm:

  • Canvas: set_dither(), get_dither(): Use C++ enum instead of C enum.
  • Item: draw(): Use C++ Gdk::Drawable instead of C type.
  • Text: Changed all C Pango properties to their C++ counterparts.

libgnomeuimm:

  • Added icon-lookup() and icon_lookup_sync() functions.
  • Added ThumnailFactory.
  • PixmapEntry: Correct the base class.

libgnomemm and gconfmm have also been updated to use the new glibmm 2.4 API.

libxml++:

  • Introduced Glib::ustring instead of std::string.
  • Added Document::create_root_node_by_import.
  • Added TextReader interface.

** Java (java-gnome):

  • Added/updated full support for the latest stable gtk+, gnome, gconf libglade libraries and friends.
  • Full API review, with many enhancements
  • Main memory leak issues resolved
  • Event initialization issues resolved
  • Libglade event problems resolved
  • Many other bug fixes

** Perl (gtk2-perl):

Overview of Changes in Glib 1.042

Since 1.02x (the previous stable series)

  • Updated build requirement - ExtUtils::Depends >= 0.2
  • Support for a few new API features in glib-2.4.x.
  • Functions that use GErrors in C throw magical Glib::Error exception objects; these objects overload the stringification operator, so old code won't be broken, but new code can match errors without worrying about translated error messages. User code and other extensions can register their own error domains. See the Glib::Error manpage for more info.
  • Glib::Type enhancements
    - Perl code can register enum and flags types for use as Glib::Object property types.
    - During Glib::Object class initialization, invoke INIT_BASE in the object's package, if it exists. (Analogue for GTypeClass's base_init.)
    - It is now possible to add GInterface implementations to Glib::Object types derived in Perl code.
    - New param spec, Glib::ParamSpec::scalar
  • Glib::MakeHelper is generally more helpful.
  • The POD generation tools allow specification of cumulative data type descriptions, and much finer control over the format and content of the generated documentation.
  • Glib can now export useful constants on request.
  • New versioning API, see Glib::version.

Overview of Changes in Gtk2 1.040

Since 1.02x (the previous stable series)

  • Updated requirements:Glib >= 1.040, ExtUtils::Depends >= 0.2 (required only at build time), ExtUtils::PkgConfig >= 1.03 (require only at build time)
  • Add support for new objects and API in gtk+-2.4.0.
  • Derivation of Gtk2::CellRenderer has been reworked; it's much more sane now, but we retain backward compatibility with the 1.02x code.
  • It is now possible to implement GInterfaces in Perl code, so you can now implement your own Gtk2::TreeModels and Gtk2::CellEditables. Examples are included.
  • The SPLICE operation is now supported on Gtk2::SimpleList's tied data.
  • New, standardized versioning API and documentation.
  • Documentation enhancements all around.
  • Huge test suite expansion and amazing increase in API coverage.
  • New utility module Gtk2::TestHelper wraps up some of the boilerplate involved in testing Gtk2-based modules.

Overview of Changes in Gtk2::GladeXML 1.00

This is the first stable release.

Overview of Changes in Gnome2::Canvas 1.00

This is the first stable release.

Overview of Changes in Gnome2::VFS 1.001

  • Made all version checks refer to stable releases.
  • Made the test suite more robust.

Overview of Changes in Gnome2::GConf 1.000

This is the first stable release.

Overview of Changes in Gnome2 1.00

This is the first stable release.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.