[gtkmm] Fix bug #582981 by making TreeModelFilter behave like TreeModelSort.



commit 3e1de6ce4475933b7a3f72403d6c6e23775e1cbd
Author: Luca Wehrstedt <lerks users sourceforge net>
Date:   Mon Dec 27 12:52:10 2010 +0100

    Fix bug #582981 by making TreeModelFilter behave like TreeModelSort.

 ChangeLog                   |  421 ++++++++++++++++++++++---------------------
 configure.ac                |    2 +-
 gtk/src/treemodel.hg        |    2 +
 gtk/src/treemodelfilter.ccg |   15 ++-
 gtk/src/treeview.ccg        |    6 +-
 gtk/src/treeview.hg         |   18 +-
 6 files changed, 246 insertions(+), 218 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 43cc79a..1405f1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,23 +1,34 @@
+2010-12-27  Luca Wehrstedt  <lerks users sourceforge net>
+
+	Make TreeModelFilter behave like TreeModelSort.
+
+	* gtk/src/treemodel.hg: Add references to TreeModelFilter.
+	* gtk/src/treemodelfilter.ccg: Make set_value_impl() convert the iter
+	and call the same method on its child.
+	* gtk/src/treeview.ccg: Check also for TreeModelSort inside of
+	_get_base_model(). Update the toggle auto-store method.
+	* gtk/src/treeview.hg: Update all auto-store methods.
+
 2011-03-07  Murray Cumming  <murrayc murrayc com>
 
 	Main: Improve the documentation.
 
-	* gtk/src/main.hg: Improve the overview documentation and the constructors' 
+	* gtk/src/main.hg: Improve the overview documentation and the constructors'
 	documentation.
 
 2011-03-07  Murray Cumming  <murrayc murrayc com>
 
 	Gtk::Main: Add a constructor with no argc and argv.
 
-	* gtk/src/main.[hg|ccg]: Main: Add a public constructor with no argc/argv 
+	* gtk/src/main.[hg|ccg]: Main: Add a public constructor with no argc/argv
 	parameters, becase that is now officially allowed by the C API.
 	See https://bugzilla.gnome.org/show_bug.cgi?id=643649#c3
-	
+
 2011-03-04  Murray Cumming  <murrayc murrayc com>
 
-	Window: Added unset_application, 
+	Window: Added unset_application,
 
-	* gtk/src/window.[hg|ccg]: Added unset_application() because the parameter 
+	* gtk/src/window.[hg|ccg]: Added unset_application() because the parameter
 	can be NULL.
 
 2011-02-23  Murray Cumming  <murrayc murrayc com>
@@ -33,29 +44,29 @@
 	* gtk/src/numerableicon.hg:
 	* gtk/src/stylecontext.hg:
 	* gtk/src/styleprovider.hg:
-	* gtk/src/widgetpath.hg: Added documentation based on the C documentation, 
-	though I have not yet translated the C code examples. I added TODO comments 
+	* gtk/src/widgetpath.hg: Added documentation based on the C documentation,
+	though I have not yet translated the C code examples. I added TODO comments
 	so we remember to do them sometime in the future.
 
 2011-02-23  Murray Cumming  <murrayc murrayc com>
 
 	CssProvider: load_from_data(): Added documentation.
 
-	* gtk/src/cssprovider.hg: load_from_data(): Add doxygen documentation 
-	which was previously generated when using _WRAP_METHOD(). 
+	* gtk/src/cssprovider.hg: load_from_data(): Add doxygen documentation
+	which was previously generated when using _WRAP_METHOD().
 
 2011-02-22  Fabien Parent  <parent f gmail com>
 
 	Gtk::CssProvider: Simplify the load_from_data method.
 
-	* gtk/src/cssprovider.[hg|ccg]: Simplify the load_from_data method by 
+	* gtk/src/cssprovider.[hg|ccg]: Simplify the load_from_data method by
 	removing the useless size parameter.
 
 2011-02-22  Murray Cumming  <murrayc murrayc-desktop>
 
 	Gdk::Rectangle: Added reference documentation.
 
-	* gdk/src/rectangle.hg: Add doxygen comments based on the documentation of 
+	* gdk/src/rectangle.hg: Add doxygen comments based on the documentation of
 	the C API.
 
 2.99.5:
@@ -66,7 +77,7 @@
 
 	* gtk/src/cellview.hg: Derive from Orientable and add set/get_draw_sensitive(),
 	set/get_fit_model() and the new properties.
-	* gtk/src/entrycompletion: Derive from Buildable and add the cell-area 
+	* gtk/src/entrycompletion: Derive from Buildable and add the cell-area
 	property.
 
 2011-02-14  Murray Cumming  <murrayc murrayc com>
@@ -74,20 +85,20 @@
 	ButtonBox, Separator, Scale, Scrollbar: Add public constructors.
 
 	* gtk/src/buttonbox.hg:
-	* gtk/src/separator.hg: Constructors: Added optional orientation parameters 
+	* gtk/src/separator.hg: Constructors: Added optional orientation parameters
 	to match the new gtk_button_box_new() and gtk_separator_new() functions.
-	* gtk/src/scale.[hg|ccg]: 
-	* gtk/src/scrollbar.[hg|ccg]: Added (Adjustment, Orientation) constructors to 
+	* gtk/src/scale.[hg|ccg]:
+	* gtk/src/scrollbar.[hg|ccg]: Added (Adjustment, Orientation) constructors to
 	match the new gtk_scale_new() and gtk_scrollbar_new() functions.
 	Make sure that the default constructors are now public, instead of protected,
-	as these are no longer just abstract base classes. That change was made in 
+	as these are no longer just abstract base classes. That change was made in
 	GTK+.
 
 2011-02-14  Murray Cumming  <murrayc murrayc com>
 
 	Paned: Add an optional orientation parameter, matching the new C API.
 
-	* gtk/src/paned.hg: Change the constructor to match the new gtk_paned_new() 
+	* gtk/src/paned.hg: Change the constructor to match the new gtk_paned_new()
 	function.
 
 2011-02-14  Murray Cumming  <murrayc murrayc com>
@@ -102,10 +113,10 @@
 
 	Widget: Added should_draw_window() and transform_cairo_context_to_window().
 
-	* gtk/src/widget.[hg|ccg]: Added Widget::transform_cairo_context_to_window(), 
+	* gtk/src/widget.[hg|ccg]: Added Widget::transform_cairo_context_to_window(),
 	wrapping gtk_cairo_transform_to_window().
 	Added Widget::should_draw_window(), wrapping gtk_cairo_should_draw_window().
-	These are both protected because they are for use in Gtk::Container 
+	These are both protected because they are for use in Gtk::Container
 	implementation.
 	* tools/m4/convert_gtk.m4: Added a Cairo::Context conversion.
 
@@ -123,7 +134,7 @@
   * gtk/src/cellarea.[hg|ccg]:
   * gtk/src/cellrenderer.[hg|ccg]: Add vfuncs get_request_mode,
  	get_preferred_[width|height_for_width|height|width_for_height].
- 	* gtk/src/widget.[hg|ccg]: Change int* to int& in 
+ 	* gtk/src/widget.[hg|ccg]: Change int* to int& in
  	get_preferred_[width|height_for_width|height|width_for_height]_vfunc.
   Bug #639073, comment 19.
 
@@ -133,14 +144,14 @@
 
 	AppChooserDialog: Fixed a typo.
 
-	* gtk/src/appchooserdialog.hg: Avoid registering a type with the wrong 
+	* gtk/src/appchooserdialog.hg: Avoid registering a type with the wrong
 	(and duplicate) name.
 
 2011-02-10  Murray Cumming  <murrayc murrayc com>
 
 	Added AppChooser, AppChooserButton, AppChooserDialog and AppChooserWidget.
 
-  * tools/extra_defs_gen/generate_defs_gtk.cc: Mentioned the new AppChooser 
+  * tools/extra_defs_gen/generate_defs_gtk.cc: Mentioned the new AppChooser
   GTypes.
   * gtk/src/gtk_signals.defs: Regenerated.
 	* gtk/src/appchooser.[hg|ccg]: Added this new interface.
@@ -154,14 +165,14 @@
 
 	CellArea: Added constructor that takes a CellArea.
 
-	* gtk/src/combobox.[hg|ccg]: Added cell_area property and a constructor that 
+	* gtk/src/combobox.[hg|ccg]: Added cell_area property and a constructor that
 	takes a CellArea, to match gtk_combo_box_new_with_area().
 
 2011-02-08  Murray Cumming  <murrayc murrayc com>
 
 	Entry: Added unset_icon().
 
-	* gtk/src/entry.[hg|ccg]: Added unset_icon() because the 
+	* gtk/src/entry.[hg|ccg]: Added unset_icon() because the
 	gtk_entry_set_icon_from_*() functions do that when they are passed a NULL.
 	Bug #621742 (feuloren)
 
@@ -169,7 +180,7 @@
 
 	ComboBoxText: Add warning about not confusing these.
 
-	* gtk/src/comboboxtext.hg: Add a doxygen comment warning people not to 
+	* gtk/src/comboboxtext.hg: Add a doxygen comment warning people not to
 	call set_model() on these or to pack more cells in.
 	Bug #619656 (JimO, Kjell Ahlstedt)
 
@@ -178,8 +189,8 @@
 	ComboBox: Slight documentation improvements.
 
 	* gtk/src/combobox.hg:
-	* gtk/src/comboboxtext.hg: Update the class overview documentation to match 
-	recent additions in the C documentation and to reflect that we now have 
+	* gtk/src/comboboxtext.hg: Update the class overview documentation to match
+	recent additions in the C documentation and to reflect that we now have
 	get_entry() in gtkmm (though still not in the C API).
 
 2.99.3:
@@ -187,7 +198,7 @@
 2011-02-02  Murray Cumming  <murrayc murrayc com>
 
 	DragContext: Remove the deprecated constructor and create() method.
-	
+
 	* gdk/src/dragcontext.hg: There should be no deprecated API in gtkmm 3.0.0.
 
 2011-02-02  Murray Cumming  <murrayc murrayc com>
@@ -195,9 +206,9 @@
 	Fix the build against GTK+ from git master.
 
 	* gdk/src/gdk_methods.defs: Regenerated with h2defs.py.
-	* gdk/src/display.[hg|ccg]: selection_send_notify(): This now takes a 
+	* gdk/src/display.[hg|ccg]: selection_send_notify(): This now takes a
 	Gdk::Window instead of a (now removed) GdkNativeWindow.
-	Remove the use of gdk_drag_get_protocol_for_display(), which was removed 
+	Remove the use of gdk_drag_get_protocol_for_display(), which was removed
 	from GTK+.
 	* gdk/src/types.hg: Remove the mention of GdkNativeWindow.
 
@@ -205,7 +216,7 @@
 
   Button: Restore the clicked() method.
 
-	* gtk/src/button.hg: gtk_button_clicked() is not deprecated. Fix that 
+	* gtk/src/button.hg: gtk_button_clicked() is not deprecated. Fix that
 	mistake.
 	Thanks to Aurimas Ä?ernius.
 
@@ -224,14 +235,14 @@
 2011-02-01  Murray Cumming  <murrayc murrayc com>
 
 	Plug, Socket: Fix the build by using Window as ::Window.
-	
+
 	* gtk/src/plug.[hg|ccg]:
-	* gtk/src/socket.hg: Include the namespacing-destroying gtkx.h and 
+	* gtk/src/socket.hg: Include the namespacing-destroying gtkx.h and
 	use ::Window when we mean the nasty X11 Window type.
 
 2011-02-01  Murray Cumming  <murrayc murrayc-desktop>
 
-	Display, Event: Remove ClientEvent methods. 
+	Display, Event: Remove ClientEvent methods.
 
 	* gdk/src/gdk_methods.defs: Regenerated with h2defs.py.
 	* gdk/src/display.hg: Remove add_client_message_filter().
@@ -244,25 +255,25 @@
 
 	* gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
 	* gtk/src/plug.hg:
-	* gtk/src/socket.hg: Use the (awfully, stupidly, no-namespacingly named, but 
-	historical) Window X11 type instead of GdkNativeWindow, as now done in the C 
-	API. Anyone including these headers may now expect compiler and linker 
-	confusion. Luckily they are not included by gtkmm.h. 
+	* gtk/src/socket.hg: Use the (awfully, stupidly, no-namespacingly named, but
+	historical) Window X11 type instead of GdkNativeWindow, as now done in the C
+	API. Anyone including these headers may now expect compiler and linker
+	confusion. Luckily they are not included by gtkmm.h.
 
 2011-01-30  Murray Cumming  <murrayc murrayc com>
 
 	Fix the build with the latest GTK+ from git master.
-	 
-	* tools/extra_defs_gen/generate_defs_gtk.cc: Include gtkx.h and put ifdefs 
+
+	* tools/extra_defs_gen/generate_defs_gtk.cc: Include gtkx.h and put ifdefs
 	around the use of GTK_TYPE_PLUG and GTK_TYPE_SOCKET.
 	* gtk/src/plug.ccg:
-	* gtk/src/socket.ccg: Include the new gtkx.h header, because the 
+	* gtk/src/socket.ccg: Include the new gtkx.h header, because the
 	declaration have moved.
 
 2011-01-28  Murray Cumming  <murrayc murrayc com>
 
 	Fix make check.
-	
+
 	* demos/gtk-demo/example_stockbrowser.cc: Adapt for the previous commit
 	that changed IconSet to need RefPtr.
 
@@ -270,7 +281,7 @@
 
 	IconSet: Use this via a RefPtr.
 
-	* gtk/src/iconset.[h|cc]: Use this via RefPtr, because that is what the 
+	* gtk/src/iconset.[h|cc]: Use this via RefPtr, because that is what the
 	C API expects, though this is not a GObject.
 	* gtk/gtkmm/stock.[h|cc]:
 	* gtk/src/iconfactory.hg:
@@ -282,15 +293,15 @@
 
 	Widget: Add some methods.
 
-	* gtk/src/widget.hg: Added set_state_flags(), get_state_flags(), 
-	reset_state_flags(), set_device_enable(), get_device_enabled(), and 
+	* gtk/src/widget.hg: Added set_state_flags(), get_state_flags(),
+	reset_state_flags(), set_device_enable(), get_device_enabled(), and
 	reset_style().
 
 2011-01-28  Murray Cumming  <murrayc murrayc com>
 
 	Widget: Simplify the get_request_mode vfunc wrapping.
 
-	* gtk/src/widget.[hg|ccg]: Use a simple _WRAP_VFUNC() now that the C code 
+	* gtk/src/widget.[hg|ccg]: Use a simple _WRAP_VFUNC() now that the C code
 	behaves properly. See https://bugzilla.gnome.org/show_bug.cgi?id=639073#c17
 
 2011-01-28  Murray Cumming  <murrayc murrayc com>
@@ -301,7 +312,7 @@
 	* gtk/src/cellarea.hg: Remove set_style_detail() and get_style_detail().
 	* gtk/src/cellrenderer.hg: Added get_state().
 	* gtk/src/textview.hg: Added get_cursor_locations().
-	
+
 2011-01-27  Krzesimir Nowak  <qdlacz gmail com>
 
 	Fixed compilation errors introduced in previous changes.
@@ -431,7 +442,7 @@
 
 	Documentation: Added some since tags.
 
-	* gtk/src/combobox.hg: Added newin{2,24} to some new methods that I just put 
+	* gtk/src/combobox.hg: Added newin{2,24} to some new methods that I just put
 	in the gtkmm-2-24 branch too.
 
 2011-01-19  Kjell Ahlstedt  <kjell ahlstedt bredband net>
@@ -456,33 +467,33 @@
 
 	Application: Added run() with no parameters.
 
-	* gtk/src/application.[hg|ccg]: Add a run() that takes no argc, argv 
+	* gtk/src/application.[hg|ccg]: Add a run() that takes no argc, argv
 	parameters, though see my TODO comments.
 
 2011-01-20  Murray Cumming  <murrayc murrayc com>
 
 	Gtk::Application: Let run(window) actually return.
 
-	* gtk/src/application.[hg|ccg]: add_window(): Hand-code this, so we can 
-	respond to the window's hide signal. This is because GtkApplication 
+	* gtk/src/application.[hg|ccg]: add_window(): Hand-code this, so we can
+	respond to the window's hide signal. This is because GtkApplication
 	actually responds to window destruction, not window closing.
 
 2011-01-20  Murray Cumming  <murrayc murrayc com>
 
 	Gtk::Application: Try to make this a replacement for Gtk::Main.
 
-	* gtk/src/application.[hg|ccg]: Add a copy of init_gtkmm_internals() from 
-	Gtk::Main's main.cc and call it from the constructor, so that 
+	* gtk/src/application.[hg|ccg]: Add a copy of init_gtkmm_internals() from
+	Gtk::Main's main.cc and call it from the constructor, so that
 	Gtk::Application can be a replacement for Gtk::Main.
-	Add a constructor that takes argc and argv, so we can completely 
-	initialize GTK+ and gtkmm, because doing it in run() will be too late for 
+	Add a constructor that takes argc and argv, so we can completely
+	initialize GTK+ and gtkmm, because doing it in run() will be too late for
 	some code: See bug #639925.
-	Add a run() that does not take argc, argv, for when you have supplied them 
+	Add a run() that does not take argc, argv, for when you have supplied them
 	to the constructor instead.
-	Add a run() that takes a window, like Gtk::Main::run(), so it can return 
-	when the window closes. However, see bug #639931 about it really responding to 
+	Add a run() that takes a window, like Gtk::Main::run(), so it can return
+	when the window closes. However, see bug #639931 about it really responding to
 	destruction, not closing.
-	We show the window in an activate signal handler, because GTK+ complains if 
+	We show the window in an activate signal handler, because GTK+ complains if
 	we don't have such a handler. See bug #640042.
 
 2011-01-18  Murray Cumming  <murrayc murrayc com>
@@ -503,35 +514,35 @@
 
 	ListViewText: Rename methods to be consistent with ComboBoxText.
 
-	* gtk/gtkmm/listviewtext.[h|cc]: Rename append_text(), insert_text(), and 
-	prepend_text() to append(), insert() and prepend() because that is what 
+	* gtk/gtkmm/listviewtext.[h|cc]: Rename append_text(), insert_text(), and
+	prepend_text() to append(), insert() and prepend() because that is what
 	ComboBoxText now uses (because it has other append overloads).
 
 2011-01-15  Murray Cumming  <murrayc murrayc com>
 
 	ComboBoxText: Remove the constructor that takes a model.
-	
-	* gtk/src/comboboxtext.[hg|ccg]: Remove the (model, bool) constructor 
-	because there is no such gtk_combo_box_new_with_model() function to match, 
+
+	* gtk/src/comboboxtext.[hg|ccg]: Remove the (model, bool) constructor
+	because there is no such gtk_combo_box_new_with_model() function to match,
 	and because this would be silly.
-	
+
 	This was mentioned in bug #619656 by Kjell Ahlstedt.
 
 2011-01-14  Murray Cumming  <murrayc murrayc com>
 
 	ComboBox: Documentation: Correct the overview
 
-	* gtk/src/combobox.hg: Update the overview comment now that the documentation 
-	for the C API has been improved. This removes the mention of OptionMenu, 
+	* gtk/src/combobox.hg: Update the overview comment now that the documentation
+	for the C API has been improved. This removes the mention of OptionMenu,
 	mention has-entry, and talks more about ComboBoxEntry.
-	
+
 	This was mentioned in bug #619656 by Kjell Ahlstedt.
 
 2011-01-14  Murray Cumming  <murrayc murrayc com>
 
 	ComboBoxText: Documentation: Correct the overview.
 
-	* gtk/src/comboboxtext.hg: Mention append(), etc, instead of 
+	* gtk/src/comboboxtext.hg: Mention append(), etc, instead of
 	append_text(), etc.
 	Bug #638405 (Dingeman van der Laan)
 
@@ -545,9 +556,9 @@
 
 	DragContext: Deprecate create(), adding Window::drag_begin().
 
-	* gdk/src/dragcontext.hg: Deprecate the constructor and create(), because 
+	* gdk/src/dragcontext.hg: Deprecate the constructor and create(), because
 	the equivalent gdk_drag_context_new() is deprecated.
-	* gdk/src/window.[hg|ccg]: Added begin_drag(), wrapping gdk_drag_begin(), 
+	* gdk/src/window.[hg|ccg]: Added begin_drag(), wrapping gdk_drag_begin(),
 	mentioned in the deprecation comment.
 	* tools/m4/convert_gdk.m4: Added a DragContext conversion.
 
@@ -555,21 +566,21 @@
 
 	Widget: Make some methods protected.
 
-	* gtk/src/widget.hg: set_window(), set_has_window(), and get_requisition() 
-	should only be used by the widget itself, in derived classes, so they can 
+	* gtk/src/widget.hg: set_window(), set_has_window(), and get_requisition()
+	should only be used by the widget itself, in derived classes, so they can
 	be protected, to simplify the public API.
 
 2011-01-13  Murray Cumming  <murrayc murrayc com>
 
 	Documentation: Remove mentions of Pixmap.
 
-	* gdk/src/window.hg: Remove declaration of set_icon(pixmap), which had 
+	* gdk/src/window.hg: Remove declaration of set_icon(pixmap), which had
 	no definition.
 	* gtk/src/bin.ccg:
 	* gtk/src/button.hg:
 	* gtk/src/checkbutton.hg:
 	* gtk/src/offscreenwindow.hg:
-	* gtk/src/togglebutton.hg: Remove or replace mentions of Gdk::Pixmap in the 
+	* gtk/src/togglebutton.hg: Remove or replace mentions of Gdk::Pixmap in the
 	documentation.
 
 2011-01-13  Murray Cumming  <murrayc murrayc com>
@@ -579,7 +590,7 @@
 	* gdk/src/color.hg:
 	* gdk/src/screen.hg:
 	* gdk/src/types.hg:
-	* gdk/src/visual.hg: Remove mentions of Colormap, which no longer exists 
+	* gdk/src/visual.hg: Remove mentions of Colormap, which no longer exists
 	and which doesn't seem to need any replacement.
 
 2011-01-11  Kjell Ahlstedt  <kjell ahlstedt bredband net>
@@ -588,7 +599,7 @@
 
   * gdk/src/widget.[hg|ccg]: set_window() increases the ref count of the
   Gdk::Window, since gtk_widget_set_window() does not.
-  
+
   Bug #606903 (Hammered)
 
 2.99.1:
@@ -597,20 +608,20 @@
 
 	Fix the make check build.
 
-	* demos/gtk-demo/example_change_display.cc: Comment out the code that 
+	* demos/gtk-demo/example_change_display.cc: Comment out the code that
 	we cannot yet port because the C example has not been ported.
 	See https://bugzilla.gnome.org/show_bug.cgi?id=638907
 	This at least fixes distcheck so I can make a tarball release.
-	* demos/gtk-demo/example_stockbrowser.cc: Revert my previous clear()->reset() 
+	* demos/gtk-demo/example_stockbrowser.cc: Revert my previous clear()->reset()
 	change because this was actually meant to call Image::clear().
-	
+
 2011-01-12  Murray Cumming  <murrayc murrayc com>
 
 	Pixbuf: Removed set_option() again.
 
 	* gdk/src/pixbuf.hg: gdk_pixbuf_set_option() is actually only available when
 	GDK_PIXBUF_ENABLE_BACKEND is set.
-	
+
 2011-01-12  Murray Cumming  <murrayc murrayc com>
 
 	Pixbuf: Add some methods.
@@ -632,14 +643,14 @@
 	Regenerate gdk-pixbufs defs.
 
 	* gdk/src/gdk_pixbuf_methods.defs: Regenerated with h2defs.py.
-	* gdk/src/gdk_extra.defs: Remove mention of 
+	* gdk/src/gdk_extra.defs: Remove mention of
 	gdk_pixbuf_render_threshold_alpha(), which does not seem to exist anywhere now.
 
 2011-01-11  Murray Cumming  <murrayc murrayc com>
 
 	Fix the build.
 
-	* gtk/src/selectiondata.hg: Include gdkmm/pixbuf.h now that it is not 
+	* gtk/src/selectiondata.hg: Include gdkmm/pixbuf.h now that it is not
 	included indirectly.
 
 2011-01-11  Murray Cumming  <murrayc murrayc com>
@@ -647,7 +658,7 @@
 	Regenerated signals and properties defs.
 
 	* gdk/src/gdk_signals.defs:
-	* gtk/src/gtk_signals.defs: Regenerated with h2defs.py, applying 
+	* gtk/src/gtk_signals.defs: Regenerated with h2defs.py, applying
 	gtk/src/gtk_signals.defs.patch from the top-level with -p1.
 
 2011-01-11  Murray Cumming  <murrayc murrayc com>
@@ -660,7 +671,7 @@
 
 	Screen: Fix a typo, so the monitors_changed() signal really uses the C signal.
 
-	* gdk/src/screen.hg: The monitors_changed() signal was wrapping the 
+	* gdk/src/screen.hg: The monitors_changed() signal was wrapping the
 	size_changed signal.
 
 2011-01-11  Murray Cumming  <murrayc murrayc com>
@@ -669,7 +680,7 @@
 
 	* gdk/src/display.hg: Added has_pending() and notify_startup_complete().
 	* gdk/src/displaymanager.hg: Added open_display().
-	* gdk/src/dragcontext.[hg|ccg]: find_window_for_screen(): Use a reference 
+	* gdk/src/dragcontext.[hg|ccg]: find_window_for_screen(): Use a reference
 	for the protocol parameter, instead of a pointer.
 	Added get_dest_window() and get_protocol().
 
@@ -677,23 +688,23 @@
 
 	Window: Added get_device_cursor().
 
-	* gdk/src/device.[hg|ccg]: Move the EventMask and GrabStatus enums here 
-	because they are used by Device and Device is the more common header to 
+	* gdk/src/device.[hg|ccg]: Move the EventMask and GrabStatus enums here
+	because they are used by Device and Device is the more common header to
 	include. Do not include Window from here.
-	* gdk/src/window.hg: Added get_device_cursor(). Include device.h to use the 
+	* gdk/src/window.hg: Added get_device_cursor(). Include device.h to use the
 	InputSource enum.
 	* tools/m4/convert_gdk.m4: Added necessary conversion.
-	* gdk/src/display.[hg|ccg]: Do not include device.h or devicemanager.h, 
+	* gdk/src/display.[hg|ccg]: Do not include device.h or devicemanager.h,
 	to avoid a circular include.
-	* gdk/src/screen.hg: Remove mention of removed gdk_screen_get_rgb_visual() 
+	* gdk/src/screen.hg: Remove mention of removed gdk_screen_get_rgb_visual()
 	function.
-	* gdk/src/event.hg: Include types.h instead of window.h, because that is all 
+	* gdk/src/event.hg: Include types.h instead of window.h, because that is all
 	that is needed, and it avoids a circular include.
-	* gdk/src/pixbuf.hg: Include cairomm/surface.h instead of window.h, because 
+	* gdk/src/pixbuf.hg: Include cairomm/surface.h instead of window.h, because
 	that is all that is needed, and it avoids a circular include.
-	* gdk/src/gdk_extra_objects.defs: Mention more objects, to improve the 
+	* gdk/src/gdk_extra_objects.defs: Mention more objects, to improve the
 	documentation.
-	* gdk/gdmm/general.h: Include rgba.h and rectangle.h now that they are not 
+	* gdk/gdmm/general.h: Include rgba.h and rectangle.h now that they are not
 	included indirectly.
 
 2011-01-11  Murray Cumming  <murrayc murrayc com>
@@ -707,7 +718,7 @@
 
 	Widget: Remove style_attach().
 
-	* gtk/src/widget.hg: gtk_widget_style_attach() is deprecated, so we don't 
+	* gtk/src/widget.hg: gtk_widget_style_attach() is deprecated, so we don't
 	wrap it anymore.
 	This fixes the build with --enable-warnings=fatal.
 
@@ -715,9 +726,9 @@
 
 	Depend on necessary versions of atkmm and pangomm.
 
-	* configure.ac: Depend on the versions of atkmm and pangomm that provide 
+	* configure.ac: Depend on the versions of atkmm and pangomm that provide
 	conversions in .m4 files, now that glibmm does not provide them implicitly.
-	This is only relevant when building from git, however. The older versions 
+	This is only relevant when building from git, however. The older versions
 	would be OK when building from a tarball.
 
 2011-01-08  Murray Cumming  <murrayc murrayc com>
@@ -726,23 +737,23 @@
 
 	* demos/gtk-demo/example_change_display.cc:
 	* demos/gtk-demo/example_images.cc:
-	* demos/gtk-demo/example_stockbrowser.cc: These were causing build errors 
+	* demos/gtk-demo/example_stockbrowser.cc: These were causing build errors
 	now that we build with deprecated glibmm API disabled.
 
 2011-01-07  Murray Cumming  <murrayc murrayc com>
 
 	Use the m4 convert files from atkmm and pangomm instead of repeating them.
 
-	* configure.ac: Discover the path of the pangomm and atkmm m4 files for use 
+	* configure.ac: Discover the path of the pangomm and atkmm m4 files for use
 	instead of repeating them here.
 	* tools/m4: Remove convert_pango.m4 and convert_atk.m4.
 
 2011-01-07  Murray Cumming  <murrayc murrayc com>
 
-	Gdk::Cursor: Avoid warnings and failures about reusing existing C instances. 
+	Gdk::Cursor: Avoid warnings and failures about reusing existing C instances.
 
-	* gdk/src/cursor.[hg|ccg]: Remove the constructors, because the 
-	gdk_cursor_new_*() functions really return existing instances instead of 
+	* gdk/src/cursor.[hg|ccg]: Remove the constructors, because the
+	gdk_cursor_new_*() functions really return existing instances instead of
 	always returning new instances.
 	* demos/gtk-demo/example_change_display.cc: Use Gdk::Cursor via RefPtr.
 
@@ -753,7 +764,7 @@
 	* gdk/src/device.[hg|ccg]: Wrapped gdk_device_get_history().
 	* gdk/src/timecoord.[hg|ccg]: New files.
 	* gdk/src/filelist.am: Added new files to build.
-	
+
 2011-01-06  Murray Cumming  <murrayc murrayc com>
 
 	Range: Remove get/set_update_policy(), to fix the build.
@@ -766,7 +777,7 @@
 
 	TreeModel::iterator::operator--(): Use gtk_tree_model_iter_previous().
 
-	* gtk/src/treeiter.ccg: Use the new C function instead of the code that we 
+	* gtk/src/treeiter.ccg: Use the new C function instead of the code that we
 	copied from totem.
 
 2011-01-05  Murray Cumming  <murrayc murrayc com>
@@ -779,7 +790,7 @@
 
 	Cursor: Add create() methods. (this had the wrong commit message)
 
-	* gdk/src/cursor.hg: Add create() methods, making the constructors protected, 
+	* gdk/src/cursor.hg: Add create() methods, making the constructors protected,
 	because this should now be used via RefPtr.
 
 2011-01-05  Murray Cumming  <murrayc murrayc com>
@@ -789,13 +800,13 @@
 	* gtk/src/image.hg:
 	* gtk/src/texttag.hg:
 	* gtk/src/toolbar.hg:
-	* gtk/src/window.hg: Remove mentions of removed properties, instead of 
-	just commenting them out, because that makes them seem like something that 
-	is yet to be done. 
-	* gtk/src/filechooserbutton.hg: Add a comment saying that the dialog property 
+	* gtk/src/window.hg: Remove mentions of removed properties, instead of
+	just commenting them out, because that makes them seem like something that
+	is yet to be done.
+	* gtk/src/filechooserbutton.hg: Add a comment saying that the dialog property
 	was commented out because it is construct-only and write-only.
-	
-	* gtk/src/cellview.hg: Likewise, remove the mention of the removed methods, 
+
+	* gtk/src/cellview.hg: Likewise, remove the mention of the removed methods,
 	instead of just commenting it out.
 
 2011-01-04  Krzesimir Nowak  <qdlacz gmail com>
@@ -823,7 +834,7 @@
 
 	Device: Added get_window_at_position() with no parameters.
 
-	* gdk/src/device.[hg|ccg]: Added get_window_at_position(void) overloads to 
+	* gdk/src/device.[hg|ccg]: Added get_window_at_position(void) overloads to
 	match the previous Display::get_window_at_pointer(void) overloads.
 
 2011-01-04  Murray Cumming  <murrayc murrayc com>
@@ -831,12 +842,12 @@
 	Fix the build with the latest GTK+ from git master.
 
 	* gdk/src/device.hg: Added warp().
-	* gdk/src/display.[hg|ccg]: Removed pointer_ungrab(), 
-	keyboard_ungrab(), pointer_is_grabbed(), device_is_grabbed(), get_pointer(), 
-	get_window_at_pointer(), warp_pointer, set_pointer_hooks(), 
+	* gdk/src/display.[hg|ccg]: Removed pointer_ungrab(),
+	keyboard_ungrab(), pointer_is_grabbed(), device_is_grabbed(), get_pointer(),
+	get_window_at_pointer(), warp_pointer, set_pointer_hooks(),
 	unset_pointer_hooks(), set_device_hooks(), unset_device_hooks().
 
-	Some of these Display methods are now in Device instead, which will be shown 
+	Some of these Display methods are now in Device instead, which will be shown
 	in the deprecation comments in gtkmm 2.24, when we make the changes there.
 
 2010-12-28  Krzesimir Nowak  <qdlacz gmail com>
@@ -873,7 +884,7 @@
 
 	Window: Remove frame API to fix the build with GTK+ from git master.
 
-	* gtk/src/window.hg: Removed set_frame_event(), get_frame_event(), 
+	* gtk/src/window.hg: Removed set_frame_event(), get_frame_event(),
 	set_frame_dimensions(), get_frame_dimensions() and the frame_event signal.
 
 2010-12-23  Murray Cumming  <murrayc murrayc com>
@@ -882,10 +893,10 @@
 
 	* gtk/src/pagesetupunixdialog.hg:
 	* gtk/src/plug.hg:
-	* gtk/src/printunixdialog.hg: Use the _UNMANAGEABLE macro to 
+	* gtk/src/printunixdialog.hg: Use the _UNMANAGEABLE macro to
 	prevent us from calling manage() in the wrap_new() implementations.
 	Bug #623137 (Kjell Ahlstedt)
-	
+
 2010-12-23  José Alburquerque  <jaalburqu svn gnome org>
 
 	_CLASS_GTKOBJECT: Remove __REAL_* additional arguments.
@@ -900,8 +911,8 @@
 
 	Fix the build with --enable-warnings=fatal.
 
-	* configure.ac: Use -no-long-long to avoid an (apparently new) compiler 
-	warning about long long not being supported by C++98. glibmm already had 
+	* configure.ac: Use -no-long-long to avoid an (apparently new) compiler
+	warning about long long not being supported by C++98. glibmm already had
 	this option.
 
 2.91.7:
@@ -912,9 +923,9 @@
 
 	* gdk/src/cursor.hg: Use the (undocumented?) _DO_NOT_DERIVE_GTYPE macro
 	to avoid deriving a GType, because we get this warning when we try:
-	cannot derive `gtkmm__GdkCursor' from non-fundamental parent type `GdkCursor' 
+	cannot derive `gtkmm__GdkCursor' from non-fundamental parent type `GdkCursor'
   We do not need to anyway, because there are no properties or signals.
-  
+
 2010-12-22  Murray Cumming  <murrayc murrayc com>
 
 	Fix the build with latest GTK+.
@@ -924,19 +935,19 @@
 	* gdk/src/display.hg:  Remove warp_device().
 	* gdk/src/device.hg:
 	* gdk/src/displaymanager.hg:
-	* gdk/src/screen.hg: Remove default signal handlers, because they are 
+	* gdk/src/screen.hg: Remove default signal handlers, because they are
 	now private in the C API.
 	* gdk/src/window.hg: Use Cursor via RefPtr.
-	* tools/m4/convert_gdk.m4: Add necessary conversions, removing some 
+	* tools/m4/convert_gdk.m4: Add necessary conversions, removing some
 	now-unnecessary ones.
-	
+
 	* gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
-	* gtk/src/cellareabox.hg: pack_start(), pack_end(): Add a bool fixed 
+	* gtk/src/cellareabox.hg: pack_start(), pack_end(): Add a bool fixed
 	parameter, matching the change in the C API.
 	* gtk/src/cellareacontext.hg:	Add get_preferred_height().
-	
-	* demos/gtk-demo/example_change_display.cc: Comment out the use of 
-	gdk_pointer_grab() until the C demo is ported to use gdk_device_grab(), 
+
+	* demos/gtk-demo/example_change_display.cc: Comment out the use of
+	gdk_pointer_grab() until the C demo is ported to use gdk_device_grab(),
 	so we know what to do instead.
 
 2010-12-21  Murray Cumming  <murrayc murrayc com>
@@ -944,14 +955,14 @@
 	Fix totally broken type registration.
 
 	* gtk/src/switch.hg: This should not try to derive directly from GtkWidget*.
-	This was causing a warning about a double registration of gtkmm__GtkWidget, 
+	This was causing a warning about a double registration of gtkmm__GtkWidget,
 	which caused Gtk::Widget to be broken.
 
 2010-12-21  Murray Cumming  <murrayc murrayc com>
 
 	CellLayout, CellAreaContext: Added methods.
 
-	* gtk/src/cellareacontext.[hg|ccg]: Added get_area(), allocate(), reset() and 
+	* gtk/src/cellareacontext.[hg|ccg]: Added get_area(), allocate(), reset() and
 	get_preferred_width_for_height().
 	* gtk/src/celllayout.[hg|ccg]: Added get_area().
 	* tools/m4/convert_gtk.m4: Added necessary conversions.
@@ -982,12 +993,12 @@
 
 	Gtk: Add CellArea, CellAreaBox and CellAreaContext
 
-	* tools/extra_defs_gen/generate_defs_gtk.cc: Mention GtkCellArea, 
+	* tools/extra_defs_gen/generate_defs_gtk.cc: Mention GtkCellArea,
 	GtkCellAreaBox and GtkCellAreaContext.
 	* gtk/src/filelist.am:
 	* gtk/src/cellarea.[hg|ccg]:
 	* gtk/src/cellareabox.[hg|ccg]:
-	* gtk/src/cellareacontext.[hg|ccg]: Added these classes, though no methods 
+	* gtk/src/cellareacontext.[hg|ccg]: Added these classes, though no methods
 	are wrapped yet.
 	* gtk/gtkmm.h: Include the new headers.
 
@@ -996,40 +1007,40 @@
 	Fix the build with latest GTK+ from git master.
 
 	* gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
-	* gtk/src/widget.hg: set/get_extension_events() removed, because they were 
+	* gtk/src/widget.hg: set/get_extension_events() removed, because they were
 	removed from GTK+, apparently because they are now unnecessary.
 	* gtk/src/widgetpath.hg: get_widget_type() renamed to get_object_type().
-	iter_get/set_widget_type() renamed to iter_get/set_object_type(). 
+	iter_get/set_widget_type() renamed to iter_get/set_object_type().
 
 2010-12-17  Murray Cumming  <murrayc murrayc com>
 
 	Application: Use _WRAP_CTOR() and _WRAP_CREATE() instead of _WRAP_METHOD().
 
-	* gtk/src/application.hg: This adds a protected constructor and makes the 
+	* gtk/src/application.hg: This adds a protected constructor and makes the
 	create() method just call that, which is the normal ways to do things.
-	Maybe we had wrapped gtk_application_new() directly before because it maybe 
+	Maybe we had wrapped gtk_application_new() directly before because it maybe
 	once did more than call g_object_new(), but that is fine now.
 	Now people can derive from this class.
-	
+
 	This fixes bug #637445 (Yannick Guesnet)
 
 2010-12-17  Murray Cumming  <murrayc murrayc com>
 
 	Window: Added get/set_application().
 
-	* gtk/src/window.hg:  Wrapped gtk_window_get_application() and 
+	* gtk/src/window.hg:  Wrapped gtk_window_get_application() and
 	gtk_window_set_application() and property. Include appliation.h.
-	* gtk/src/application.[hg|ccg]: Pre-declare Window instead of including 
+	* gtk/src/application.[hg|ccg]: Pre-declare Window instead of including
 	window.h, to avoid the circular include.
 	* tools/m4/convert_gtk.m4: Added necessary conversions.
-	
+
 	This fixes bug #637441 (Yannick Guesnet)
 
 2010-12-16  Murray Cumming  <murrayc murrayc com>
 
 	Pixbuf: Derive from (and implement) Gio::Icon.
 
-	* configure.ac: Require the latest gdk-pixbuf. This is also needed for 
+	* configure.ac: Require the latest gdk-pixbuf. This is also needed for
 	gdk_pixbuf_format_get_type() and similar functions.
 	* gdk/src/pixbuf.hg: Derive from Gio::Icon and implement that interface.
 	This is a recent change in gdk-pixbuf.
@@ -1051,7 +1062,7 @@
 
 	Widget: Remove a useless _WRAP_METHOD() line.
 
-	* gtk/src/widget.hg: Remove mention of gtk_widget_get_default_visual(), 
+	* gtk/src/widget.hg: Remove mention of gtk_widget_get_default_visual(),
 	apparently removed from GTK+.
 
 2010-12-13  Murray Cumming  <murrayc murrayc com>
@@ -1059,25 +1070,25 @@
 	IconInfo: Added load_icon_symbolic(StyleContext, bool&).
 
 	* gtk/src/gtk_methods.defs: Regenerated.
-	* gtk/src/iconinfo.[hg|ccg]: Rename load_icon_symbolic() to load_symbolic() 
+	* gtk/src/iconinfo.[hg|ccg]: Rename load_icon_symbolic() to load_symbolic()
 	to match the C function names.
-	Add load_icon_symbolic(StyleContext, bool&), to wrap 
+	Add load_icon_symbolic(StyleContext, bool&), to wrap
 	gtk_icon_info_load_symbolic_for_context().
 
 2010-12-10  Murray Cumming  <murrayc murrayc com>
 
 	pkg-config file: Added gmmprocm4dir.
 
-	* gtk/gtkmm.pc.in: Added gmmprocm4dir, which should be used to set 
-	GMMPROC_EXTRA_M4_DIR in configure.ac files, for use by gmmproc so that 
+	* gtk/gtkmm.pc.in: Added gmmprocm4dir, which should be used to set
+	GMMPROC_EXTRA_M4_DIR in configure.ac files, for use by gmmproc so that
 	gmmproc has access to gtkmm-specific m4 conversions.
 
 2010-12-10  Murray Cumming  <murrayc murrayc com>
 
 	Change an m4 conversion to fix the build with latest glibmm.
 
-	* tools/m4/convert_gtk.m4: For some reason, using __FR2P leaves a 
-	$3 in the .cc file, though similar conversions work fine. Changed it to 
+	* tools/m4/convert_gtk.m4: For some reason, using __FR2P leaves a
+	$3 in the .cc file, though similar conversions work fine. Changed it to
 	a normal conversion.
 
 2010-12-09  Murray Cumming  <murrayc murrayc com>
@@ -1091,14 +1102,14 @@
 
 	Widget: Added unset_color/font() methods.
 
-	* gdk/src/widget.[hg|ccg]: Add unset_*() methods to match the override_*() 
+	* gdk/src/widget.[hg|ccg]: Add unset_*() methods to match the override_*()
 	methods, because the C functions can take NULLs.
 
 2010-12-09  Murray Cumming  <murrayc murrayc com>
 
 	Widget: Removed render_icon(), adding render_icon_pixbuf().
 
-	* gtk/src/widget.hg: gtk_widget_render_icon() was deprecated and 
+	* gtk/src/widget.hg: gtk_widget_render_icon() was deprecated and
 	gtk_widget_render_icon_pixbuf() was added, with slightly different parameters.
 
 2.91.6:
@@ -1113,7 +1124,7 @@
 
 	Gdk::Color: Rename the setters and getters.
 
-	* gdk/src/rgba.[hg|ccg]: Rename set/get_*_p(double) to set/get_*(), without 
+	* gdk/src/rgba.[hg|ccg]: Rename set/get_*_p(double) to set/get_*(), without
 	the _p, because GdkRGBA uses doubles, though GdkColor used gushort.
 	Rename set/get_*(gushort) (without the _p) to set/get_*_u(), as a convenience,
 	particularly for older code that used Gdk::Color.
@@ -1122,7 +1133,7 @@
 
 	StyleContext: Add render_*() methods.
 
-	* gtk/src/stylecontext.hg: Wrap the gtk_render_*() functions, as we 
+	* gtk/src/stylecontext.hg: Wrap the gtk_render_*() functions, as we
 	previously wrapped the old gtk_paint_*() functions in GtkStyle.
 
 2010-12-07  Murray Cumming  <murrayc murrayc com>
@@ -1138,11 +1149,11 @@
 	* gtk/src/stylecontext.[hg|ccg]: get_color(), get_background_color(),
 	get_border_color(), get_padding(), get_margin().
 	* gtk/src/widget.[hg|ccg]: override_color(), override_background_color():
-	Manually implement these methods so we can rearrange the parameters and then 
+	Manually implement these methods so we can rearrange the parameters and then
 	provide a default StateFlags value of 0.
 	* demos/gtk-demo/example_colorsel.cc:
 	* demos/gtk-demo/example_textview.cc: Adapted.
-	
+
 2010-12-07  Murray Cumming  <murrayc murrayc com>
 
 	Widget: Added get_style_context().
@@ -1156,15 +1167,15 @@
   * gtl/src/filelist.am:
 	* gtk/src/cssprovider.[hg|ccg]: Added CssProvider, implementing StyleProvider.
   * gtk/gtkmm.h: Include the new header.
-  
+
 2010-12-07  Murray Cumming  <murrayc murrayc com>
 
 	Added signals/properties .defs for GtkStyleContext.
 
 	* tools/extra_defs_gen/generate_defs_gtk.cc: Added some new types.
-	* gtk/src/gtk_signals.defs: Added the section for GtkStyleContext so that 
+	* gtk/src/gtk_signals.defs: Added the section for GtkStyleContext so that
 	gmmproc can actuall generate the signal and property API for Gtk::StyleContext.
-	
+
 2010-12-07  Murray Cumming  <murrayc murrayc com>
 
 	Added properties using Gdk::RGBA.
@@ -1174,8 +1185,8 @@
 	* gtk/src/cellrenderertext.hg:
 	* gtk/src/cellview.hg:
 	* gtk/src/colorbutton.hg:
-	* gtk/src/texttag.hg: Added the new properties that take a Gdk::RGBA instead 
-	of Gdk::Color. We can remove Gdk::Color when it has been deprecated in 
+	* gtk/src/texttag.hg: Added the new properties that take a Gdk::RGBA instead
+	of Gdk::Color. We can remove Gdk::Color when it has been deprecated in
 	GTK+ 3:
 	https://bugzilla.gnome.org/show_bug.cgi?id=636695
 
@@ -1183,18 +1194,18 @@
 
 	Fix Gdk::RGBA and fix the demos build (make check)
 
-	* gdk/src/rgba.[hg|ccg]: Change set_rgb() to set_rgba(), adding an optional 
+	* gdk/src/rgba.[hg|ccg]: Change set_rgb() to set_rgba(), adding an optional
 	alpha parameter.
-  Change set_rgb_p() to set_rgba_p(), adding an optional 
+  Change set_rgb_p() to set_rgba_p(), adding an optional
 	alpha parameter.
-	Fix their implementation because GdkRGBA has double members instead of gushort 
+	Fix their implementation because GdkRGBA has double members instead of gushort
 	members as in GdkColor.
-	* gtk/src/colorselection.[hg|ccg]: Added get/set_current_rgba() and 
+	* gtk/src/colorselection.[hg|ccg]: Added get/set_current_rgba() and
 	get/set_previous_rgba().
 	* demos/gtk-demo/example_colorsel.cc:
 	* demos/gtk-demo/example_drawingarea.cc:
 	* demos/gtk-demo/example_textview.cc:
-	* demos/gtk-demo/textwidget.cc: Use Gdk::RGBA rather than Gdk::Color, using 
+	* demos/gtk-demo/textwidget.cc: Use Gdk::RGBA rather than Gdk::Color, using
 	the Widget::override_*() methods instead of the old Widget::modify_*() methods.
 
 2010-12-07  Murray Cumming  <murrayc murrayc com>
@@ -1202,9 +1213,9 @@
 	Regenerate gtk_signals.defs.
 
 	* gtk/src/gtk_signals.defs: Regenerated with extra_defs_gen.
-	* gtk/src/gtk_signals.defs.patch: Updated this patch so it is easier to 
+	* gtk/src/gtk_signals.defs.patch: Updated this patch so it is easier to
 	make the manual changes next time.
-	* gtk/src/widget.hg: Removed the style_changed signal because the underlying 
+	* gtk/src/widget.hg: Removed the style_changed signal because the underlying
 	style-set signal uses GtkStyle, which is deprecated.
 
 2010-12-07  Murray Cumming  <murrayc murrayc com>
@@ -1220,9 +1231,9 @@
 
 	Restored the GtkPrintCapabilities enum.
 
-	* gtk/src/gtk_enums.defs: Added the result from unix-print/gtk/, lost when 
+	* gtk/src/gtk_enums.defs: Added the result from unix-print/gtk/, lost when
 	regenerating.
-	
+
 	gtkmm now builds again against the latest GTK+ 3 from git master.
 
 2010-12-06  Murray Cumming  <murrayc murrayc com>
@@ -1231,9 +1242,9 @@
 
 	* gtk/gtkmm.h:
 	* gtk/src/filelist.am:
-	* gtk/src/widgetpath.[hg|ccg]: Added WidgetPath, though not all methods are 
+	* gtk/src/widgetpath.[hg|ccg]: Added WidgetPath, though not all methods are
 	wrapped yet.
-	* gtk/src/widget.[hg|ccg]: replace path() with get_path(), which uses 
+	* gtk/src/widget.[hg|ccg]: replace path() with get_path(), which uses
 	WidgetPath.
 	* tools/m4/convert_gtk.m4: Added necessary conversion.
 
@@ -1242,14 +1253,14 @@
 	Improved StyleContext. Removed Style and RcStyle classes.
 
 	* gtk/src/rc.[hg|ccg]
-	* gtk/src/style.[hg|ccg]: Removed these files because GtkStyle and GtkRcStyle 
+	* gtk/src/style.[hg|ccg]: Removed these files because GtkStyle and GtkRcStyle
 	are now deprecated in GTK+ 3.
-	* gtk/src/styleprovider.[hg|ccg]: Added this class, used by StyleContext, 
+	* gtk/src/styleprovider.[hg|ccg]: Added this class, used by StyleContext,
 	though no methods are wrapped yet.
-	* gtk/src/iconset.hg: Remove render_icon(), replacing it with 
+	* gtk/src/iconset.hg: Remove render_icon(), replacing it with
 	render_icon_pixbuf(), which uses StyleContext instead of Style.
-	* gtk/src/widget.[hg|ccg]: Removed the modify_*() methods, replacing them 
-	with override_*() methods, which use StyleContext instead of RcStyle and 
+	* gtk/src/widget.[hg|ccg]: Removed the modify_*() methods, replacing them
+	with override_*() methods, which use StyleContext instead of RcStyle and
 	Style.
 
 2010-12-06  Murray Cumming  <murrayc murrayc com>
@@ -1260,17 +1271,17 @@
 	* gtk/src/enums.hg: Added RegionFlags, JunctionSides and StateFlags.
 
 	* gtk/src/filelist.am:
-	* gtk/src/stylecontext.[hg|ccg]: Added StyleContext, though some methods 
+	* gtk/src/stylecontext.[hg|ccg]: Added StyleContext, though some methods
 	are not yet wrapped.
-	* tools/m4/convert_gdk.m4: 
+	* tools/m4/convert_gdk.m4:
 	* tools/m4/convert_gtk.m4: Added necessary conversions.
 
 2010-12-06  Murray Cumming  <murrayc murrayc com>
 
 	Fix the gdkmm build with latest GTK+ 3 from git master.
-	
+
   * gdk/src/gdk_methods.defs: Regenerated with h2defs.py.
-	* gdk/src/window.hg: get_geometry(): Remove the depth parameter, to match 
+	* gdk/src/window.hg: get_geometry(): Remove the depth parameter, to match
 	the change in GTK+ 3.
 
 2010-12-05  Murray Cumming  <murrayc murrayc com>
@@ -1278,8 +1289,8 @@
 	Regenerate gtk_methods.defs.
 
 	* gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
-	* gtk/src/iconinfo.[hg|ccg]: Remove use of 
-	gtk_icon_info_load_symbolic_for_style() because it is now deprecated in 
+	* gtk/src/iconinfo.[hg|ccg]: Remove use of
+	gtk_icon_info_load_symbolic_for_style() because it is now deprecated in
 	GTK+ 3.
 	The build is still broken. We need to wrap GtkStyleContext.
 
@@ -1287,7 +1298,7 @@
 
 	Adapt to the GdkWindowObject -> GdkWindow change in GTK+ 3.
 
-	* gdk/src/window.hg: Remove the extra parameter to _CLASS_GOBJECT(). Maybe 
+	* gdk/src/window.hg: Remove the extra parameter to _CLASS_GOBJECT(). Maybe
 	we can now remove that option from gmmproc.
 	* gdk/src/display.ccg:
 	* gdk/src/dragcontext.ccg:
@@ -1298,8 +1309,8 @@
 2010-12-03  Murray Cumming  <murrayc murrayc com>
 
   Add Window methods to preserve API from Drawable.
-  
-	* gdk/src/window.hg: Aded set_background(RGBA) and renamed 
+
+	* gdk/src/window.hg: Aded set_background(RGBA) and renamed
 	set_background_pattern() to set_background(Pattern).
 	Added set_clip_region() and get_visible_region() and create_cairo_context(),
 	which were previously in Drawable.
@@ -1318,16 +1329,16 @@
 	Regenerated some .defs files.
 
 	* gdk/src/gdk_signals.defs: Regenerated with extra_defs/.
-	* gdk/src/gdk_methods.defs: 
+	* gdk/src/gdk_methods.defs:
 	* gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
 
 2010-12-03  Murray Cumming  <murrayc murrayc com>
 
 	ComboBoxText: Add append()/prepend()/insert overloads.
-	
-	* gtk/src/comboboxtext.hg: Rename append_text(), prepend_text() and 
-	insert_text() to append(), prepend() and insert(). Add extra overloads that 
-	also take an id, to wrap the new gtk_combo_box_text_append(), 
+
+	* gtk/src/comboboxtext.hg: Rename append_text(), prepend_text() and
+	insert_text() to append(), prepend() and insert(). Add extra overloads that
+	also take an id, to wrap the new gtk_combo_box_text_append(),
 	gtk_combo_box_text_prepend() and gtk_combo_box_text_insert() functions.
 
 2010-12-03  Murray Cumming  <murrayc murrayc com>
@@ -1340,13 +1351,13 @@
 
 	Remove Gdk::Drawable, which is replaced by more use of Gdk::Window.
 
-  * tools/extra_defs_gen/generate_defs_gtk.cc: Remove mention of 
+  * tools/extra_defs_gen/generate_defs_gtk.cc: Remove mention of
   GDK_TYPE_DRAWABLE.
-	* gdk/src/drawable.[hg|ccg]: Removed. API generally uses Gdk::Window now 
+	* gdk/src/drawable.[hg|ccg]: Removed. API generally uses Gdk::Window now
 	instead.
 	* gdk/src/filelist.am:
 	* gdk/gdkmm.h: Removed mentions of drawable.
-	* gdk/src/window.[hg|ccg]: This now derives from Glib::Object instead of 
+	* gdk/src/window.[hg|ccg]: This now derives from Glib::Object instead of
 	Gdk::Drawable, though it still has a strangely-named typedef.
 	* gdk/gdkmm/general.[h|cc]:
 	* gdk/src/display.hg:
@@ -1356,7 +1367,7 @@
 
 	Revert the previous commit's removal of newer ComboBox methods.
 
-	* gtk/src/combobox.hg: Added methods back now that we have a release that 
+	* gtk/src/combobox.hg: Added methods back now that we have a release that
 	builds.
 
 2.91.5.1:
@@ -1365,15 +1376,15 @@
 
 	Temporarily remove methods that use GTK+ function not in GTK+ 2.91.5.
 
-	* gtk/src/combobox.hg: Some new functions were added after the 
-	GTK+ 2.91.5 release, so this allows gtkmm 2.91.5.1 to build with 
+	* gtk/src/combobox.hg: Some new functions were added after the
+	GTK+ 2.91.5 release, so this allows gtkmm 2.91.5.1 to build with
 	GTK+ 2.91.5.
 
 2.91.5:
 
 2010-11-30  Murray Cumming  <murrayc murrayc com>
 
-	Added Gtk::Switch, wrapping GtkSwitch. 
+	Added Gtk::Switch, wrapping GtkSwitch.
 
 	* configure.ac: Depend on the latest GTK+.
 	* tools/extra_defs_gen/generate_defs_gtk.cc: Mention GTK_TYPE_SWITCH.
@@ -1387,13 +1398,13 @@
 
 	* gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
 	* gtk/src/gtk_signals.defs: Regenerated partly.
-	* gtk/src/combobox.hg: Added get/set_id_column(), get/set_active_id() and 
+	* gtk/src/combobox.hg: Added get/set_id_column(), get/set_active_id() and
 	properties.
 
 2010-11-29  Murray Cumming  <murrayc murrayc com>
 
 	Fix the build with latest GTK+ 3.
-	
+
 	* gdk/src/gdk_methods.defs: Regenerated with h2defs.py.
 	* gdk/src/device.hg: get_n_axes() now returns an int instead of a guint.
 	* gdk/src/rgba.[hg|ccg]: gdk_rgba_parse() now has a sensible parameter order,
@@ -1402,17 +1413,17 @@
 2010-11-29  Murray Cumming  <murrayc murrayc com>
 
 	Scrollable, ScrolledWindow: Fix Adjustment reference counting.
-	
+
 	* gtk/src/scrollable.hg:get_hadjustment(), get_vadjustment():
 	* gtk/src/scrolledwindow.hg: get_hadjustment(), get_vadjustment():
-	Use refereturn to fix the reference-counting on these, which was broken 
+	Use refereturn to fix the reference-counting on these, which was broken
 	since we changed Adjustment to be a Glib::Object instead of a Gtk::Object.
 
 2010-11-26  Murray Cumming  <murrayc murrayc com>
 
 	Fix the build with the latest GTK+.
 
-	* gtk/gtkmm/targetentry.cc: Destructor: Use const_cast<> so we can 
+	* gtk/gtkmm/targetentry.cc: Destructor: Use const_cast<> so we can
 	g_free() our dynamically-allocated GtkTargetEntry::target string.
 	The const change in GTK+ does not seem wise:
 	https://bugzilla.gnome.org/show_bug.cgi?id=565665#c10
@@ -1424,7 +1435,7 @@
 	* gtk/src/ruler.[hg|ccg]: Removed.
 	* gtk/src/filelist.am:
 	* gtk/gtkmm.h: Adapted.
-	
+
 2.91.4:
 
 2010-11-10  Murray Cumming  <murrayc murrayc com>
diff --git a/configure.ac b/configure.ac
index 0d2d993..084c0d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
 AM_MAINTAINER_MODE
 AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
 
-MM_PREREQ([0.9])
+MM_PREREQ([0.9.3])
 MM_INIT_MODULE([gdkmm-3.0])
 MM_INIT_MODULE([gtkmm-3.0])
 
diff --git a/gtk/src/treemodel.hg b/gtk/src/treemodel.hg
index 6bbfd1e..6869f3f 100644
--- a/gtk/src/treemodel.hg
+++ b/gtk/src/treemodel.hg
@@ -30,6 +30,7 @@ _PINCLUDE(glibmm/private/interface_p.h)
 namespace Gtk
 {
 
+class TreeModelFilter;
 class TreeModelSort;
 class TreePath;
 class TreeRowReference;
@@ -404,6 +405,7 @@ dnl
   //This might not need to be virtual, but it's not a big deal. murrayc.
   virtual void get_value_impl(const iterator& row, int column, Glib::ValueBase& value) const;
 
+  friend class Gtk::TreeModelFilter;
   friend class Gtk::TreeModelSort;
   friend class Gtk::TreeRow;
   friend class Gtk::TreeIter;
diff --git a/gtk/src/treemodelfilter.ccg b/gtk/src/treemodelfilter.ccg
index 74f24ee..4be3ede 100644
--- a/gtk/src/treemodelfilter.ccg
+++ b/gtk/src/treemodelfilter.ccg
@@ -142,9 +142,20 @@ void TreeModelFilter::set_modify_func(const TreeModelColumnRecord& columns, cons
     &SignalProxy_Modify_gtk_callback_destroy);
 }
 
-void TreeModelFilter::set_value_impl(const iterator& /* row */, int /* column */, const Glib::ValueBase& /* value */)
+void TreeModelFilter::set_value_impl(const iterator& row, int column, const Glib::ValueBase& value)
 {
-  g_warning("Attempt to set a value of a row in a TreeModelFilter instead of in the child model.");
+  // Avoid two extra ref/unref cycles -- we don't store the child
+  // model pointer anywhere, so it's OK to do this _internally_.
+
+  TreeModel *const child_model = dynamic_cast<TreeModel*>(
+      Glib::wrap_auto((GObject*) gtk_tree_model_filter_get_model(gobj()), false));
+
+  TreeIter child_iter (child_model);
+
+  gtk_tree_model_filter_convert_iter_to_child_iter(
+      gobj(), child_iter.gobj(), const_cast<GtkTreeIter*>(row.gobj()));
+
+  child_model->set_value_impl(child_iter, column, value);
 }
 
 
diff --git a/gtk/src/treeview.ccg b/gtk/src/treeview.ccg
index 18c561f..d2af055 100644
--- a/gtk/src/treeview.ccg
+++ b/gtk/src/treeview.ccg
@@ -24,6 +24,7 @@
 #include <gtkmm/treeview_private.h>
 #include <gtkmm/treemodel.h>
 #include <gtkmm/treemodelfilter.h>
+#include <gtkmm/treemodelsort.h>
 #include <gtkmm/entry.h>
 #include <gtk/gtk.h>
 
@@ -341,8 +342,11 @@ Glib::RefPtr<Gtk::TreeModel> TreeView::_get_base_model()
   while(get_child && refModel)
   {
     Glib::RefPtr<Gtk::TreeModelFilter> refModelFilter = Glib::RefPtr<Gtk::TreeModelFilter>::cast_dynamic(refModel);
+    Glib::RefPtr<Gtk::TreeModelSort> refModelSort = Glib::RefPtr<Gtk::TreeModelSort>::cast_dynamic(refModel);
     if(refModelFilter)
       refModel = refModelFilter->get_model();
+    else if(refModelSort)
+      refModel = refModelSort->get_model();
     else
       get_child = false;
   }
@@ -353,7 +357,7 @@ Glib::RefPtr<Gtk::TreeModel> TreeView::_get_base_model()
 void TreeView::_auto_store_on_cellrenderer_toggle_edited(const Glib::ustring& path_string,
                                                          int model_column)
 {
-  _auto_store_on_cellrenderer_toggle_edited_with_model(path_string, model_column, _get_base_model());
+  _auto_store_on_cellrenderer_toggle_edited_with_model(path_string, model_column, get_model());
 }
 
 void TreeView::_auto_store_on_cellrenderer_toggle_edited_with_model(const Glib::ustring& path_string,
diff --git a/gtk/src/treeview.hg b/gtk/src/treeview.hg
index 90df729..6320916 100644
--- a/gtk/src/treeview.hg
+++ b/gtk/src/treeview.hg
@@ -809,7 +809,7 @@ _CONVERSION(`GtkTreeIter*',`const TreeModel::iterator&',`TreeModel::iterator(gtk
   _WRAP_PROPERTY("enable-tree-lines", bool)
   _WRAP_PROPERTY("tooltip-column", int)
 
-  /// Get the treeview's model, but actually get the child model if it's a TreeModelFilter.
+  /// Get the treeview's model, but actually get the child model while it's a TreeModelFilter or TreeModelSort.
   Glib::RefPtr<Gtk::TreeModel> _get_base_model();
 
 protected:
@@ -962,7 +962,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
     sigc::slot<void, const Glib::ustring&, int> slot_temp =
       sigc::bind<-1>(
         sigc::mem_fun(*this_p, &Gtk::TreeView::_auto_store_on_cellrenderer_toggle_edited_with_model),
-        this_p->_get_base_model()
+        this_p->get_model()
       );
 
     pCellToggle->signal_toggled().connect(
@@ -996,7 +996,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
       sigc::bind<-1>(
         sigc::bind<-1>(
           sigc::ptr_fun(fptr),
-          this_p->_get_base_model() ),
+          this_p->get_model() ),
         model_column.index()
       )
     );
@@ -1024,7 +1024,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
       sigc::bind<-1>(
         sigc::bind<-1>(
           sigc::ptr_fun(fptr),
-          this_p->_get_base_model() ),
+          this_p->get_model() ),
         model_column.index()
       )
     );
@@ -1052,7 +1052,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
       sigc::bind<-1>(
         sigc::bind<-1>(
           sigc::ptr_fun(fptr),
-          this_p->_get_base_model() ),
+          this_p->get_model() ),
         model_column.index()
       )
     );
@@ -1080,7 +1080,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
       sigc::bind<-1>(
         sigc::bind<-1>(
           sigc::ptr_fun(fptr),
-          this_p->_get_base_model() ),
+          this_p->get_model() ),
         model_column.index()
       )
     );
@@ -1108,7 +1108,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
       sigc::bind<-1>(
         sigc::bind<-1>(
           sigc::ptr_fun(fptr),
-          this_p->_get_base_model() ),
+          this_p->get_model() ),
         model_column.index()
       )
     );
@@ -1135,7 +1135,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
       sigc::bind<-1>(
         sigc::bind<-1>(
           sigc::ptr_fun(fptr),
-          this_p->_get_base_model() ),
+          this_p->get_model() ),
         model_column.index()
       )
     );
@@ -1180,7 +1180,7 @@ void _connect_auto_store_editable_signal_handler(Gtk::TreeView* this_p, Gtk::Cel
     //We use bind<-1> twice here, instead of using bind() once, because some compilers need the extra hint.
     pCellText->signal_edited().connect(
       sigc::bind<-1>(
-        sigc::bind<-1>( theslot, this_p->_get_base_model()),
+        sigc::bind<-1>( theslot, this_p->get_model()),
         model_column.index()
       )
     );



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