ANNOUNCE: gtkmm 2.3.0 and glibmm 2.3.1

*** gtkmm 2.4

gtkmm provides a C++ interface to gtkmm. The 2.3.x tarballs are the unstable 
development series that will become the stable gtkmm 2.4. gtkmm 2.3/2.4 will wrap 
any additional API in GTK+ 2.4. glibmm is now a separate module, for use in non-GUI

gtkmm 2.3/2.4 installs in parallel with gtkmm 2.2, so you can install this unstable 
library without the risk of breaking existing applications. This allows us to break 
ABI and API, though we will try not to break API unless it is absolutely 

But do be aware that the underlying unstable GTK+ 2.3 does not install in 
parallel with GTK+ 2.2. There is currently at least one known GTK+ 2.3 bug that 
breaks gtkmm 2.2 applications that use the TreeView.

The stable (API/ABI-frozen) gtkmm 2.4.0 will be released soon after GTK+ 2.4.0. 
In general, we plan to synchronize with the GNOME development schedule. For instance,

*** Changes

gtkmm 2.3.0:

* Removed key-binding signals. (Murray Cumming)

* Use of Gdk::Device and Gtk::SelectionData instead of C equivalents
  (Murray Cumming)

* New classes:
    Action, ActionGroup, CellLayout, ComboBox, ComboxText, ComboBoxEntry, ColorButton, EntryCompletion,
    Expander, FontButton, RadioAction, RadioToolButton, ToggleAction, ToggleToolButton, ToolItem, ToolButton,

* New API for existing classes:
  Gtk::Alignment: get/set_padding(). Useful for indenting Gtk::Frame contents.
  Gtk::Button: get/set_focus_on_click()
  Gtk::ButtonBox: get_child_secondary().
    - display_options() is now set_display_options().
    - New properties.
  Gtk::CheckMenuItem: get/set_draw_as_radio()
  Gtk::Entry: get/set_completion()
  Gtk::EventBox: get/set_visible_window(), get/set_above_child()
  Gtk::IconSource: get/set_icon_name()
  Gtk::Menu: attach()
    Constructors: Added bool use_markup paramater after message parameter.
      This is an API change, and I'd leak to hear suggestions for alternatives.
  Gtk::TextBuffer: select_range()
  Gtk::TextIter (also known as Gtk::TextBuffer::iterator):
    Added *_visible_* versions of forwards/backwards methods.
  - get/set_overwrite(), get/set_accepts_tab()
  - Added WRAP_WORD_CHAR wrap mode.
  Gtk::TreeViewColumn (also known as Gtk::TreeView::Column):
    Added get/set_expand().
  - queue_resize_no_redraw(), get/set__no_show_all()
  - Added unset_fg(), unset_bg(), unset_font(), unset_text(), unset_base().
  - Added add_modal_grab(), remove_modal_grab(), get_current_modal_grab().
    (Ole Laursen)
  - Added set_window() and set_allocation() for implementing new native widgets.
    (Detlef Reichl)
  Gtk::Window: set_default_icon(), set_keep_above(), set_keep_below()

  Gdk::Cursor: new constructor: Cursor(const Glib::RefPtr<Display>& display, const Glib::RefPtr<Pixbuf>& pixbuf, int x, int y)
  Gdk::Display: flush(), supports_cursor_alpha(), supports_cursor_color(), get_default_cursor_size(),
  Gdk::PixbufLoader: create() now has extra bool mime_type parameter.
  Gdk::Window: set_keep_above(), set_keep_below().
  (Murray Cumming)

* All the gtkmm bugfixes in gtkmm 2.2.x.
glibmm 2.3.1:

* gmmproc changes needed by gtkmm 2.3.0
  (Murray Cumming)
* examples updated and buildable and working,
  without gtkmm code.
  (J. Abelardo Gutierrez)

*** Download

You will need libsigc++ 1.2, available here:

*** Development 

There is ongoing discussion on the mailing list:
and in the #c++ channel on

Murray Cumming
murray usa net

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]