Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > e0521f28751d07a87e3a3d6c7d15a1ac > files > 2527

libgtkmm2.0_1-devel-2.2.1-2mdk.ppc.rpm

2.2.1:

2003-03-15  Murray Cumming  <murrayc@usa.net>

	* Makefile.am: Added examples to SUBDIRS so that they are
	installed by default and because I would like to make sure they
	always build. This significantly adds to the build time.

2003-03-14  Cedric Gustin  <cgustin@ibelgique.com>

 	* build_shared/Makefile_build.am_fragment : Removed OS_WIN32
 	platform option in sublib_include_HEADERS. All header files are
 	installed whatever the platform.
 	* docs/Makefile_web.am_fragment, docs/tutorial/Makefile.am,
 	docs/FAQ/Makefile.am : Changed installation directory for
 	documentation (see
 	http://bugzilla.gnome.org/show_bug.cgi?id=103688 for
 	details). Added install rule for FAQ.
 	* examples/Makefile.am_fragment : Added install rule for examples
 	source files (.cc and .h) referenced by the gtkmm book
 	(docs/tutorial).
	
2003-03-14  Sven Grottke <sfs@cs.tu-berlin.de>
 
 	* gdk/src/cursor.hg:
 	* gdk/src/displaymanager.hg:
 	* gdk/src/drawable.hg:
 	* gdk/src/event.hg:
 	* gdk/src/screen.hg:
 	* gdk/src/visual.hg:
 	* gtk/src/clipboard.hg:
 	* gtk/src/menu.hg:
 	* gtk/src/rc.ccg:
 	* gtk/src/widget.hg: Used refreturn on various methods. This should
 	close bug #108233 (hopefully)
	
2003-03-14  Murray Cumming  <murrayc@usa.net>

	* configure.in: Depends on atk 1.2 instead of just atk 1.0, 
	because the source actually requires it.

2003-03-13  Martin Schulze  <MHL.Schulze@t-online.de>

	* docs/internal/using_gtkmmproc.txt: Correct name of
	[...]signals.defs generation utiliy.

2003-03-04  Cedric Gustin  <cgustin@ibelgique.com>

	* configure.in : Removed libstdc++ in LDFLAGS on win32. Latest
	libtool is taking care of it.
	* atk/src/action.hg, atk/src/component.hg, atk/src/object.hg,
	atk/src/text.hg, gdk/src/display.hg, gdk/src/displaymanager.hg,
	gdk/src/screen.hg, gdk/src/window.hg, glib/glibmm/threadpool.cc,
	gtk/gtkmm/menu_elems.cc, gtk/src/clipboard.hg,
	gtk/src/treerowreference.hg, gtk/src/widget.hg, gtk/src/window.hg:
	Added _GTKMMPROC_H_AND_CC when relevant around methods and signals
	not available on win32.
	* build_shared/Makefile_build.am_fragment,
	tools/extra_defs_gen/Makefile.am : Added
	--export-all-symbols linker flag on win32 (required by latest
	libtool to build DLLs).
	* build_shared/Makefile_gensrc.am_fragment : Modifiy rule that
	builds wrap_init.cc. wrap_init.cc now contains reference to all
	objects, event on win32. #ifdefs are included when needed.
	* demos/gtk-demo/example_change_display.cc : Added #ifdef
	G_OS_WIN32 to remove references to methods not available on win32
	(will be removed when DisplayManager becomes available).
	* gdk/src/Makefile_list_of_hg.am_fragment,
	gtk/src/Makefile_list_of_hg.am_fragment : moved
	displaymanager.hg, clipboard.hg and treerowreference.hg to posix
	files (the corresponding objects are currently not
	available on win32).
	* README.win32 : updated for version 2.2. Added list of missing
	methods and signals on win32
	* tools/extra_defs_gen/generate_defs_gtk.cc : Commented out
	DISPLAYMANAGER on win32.
	* tools/m4/base.m4 : Added _GTKMMPROC_SIGNAL_H_AND_CC macro.
	
2003-02-27  Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
 
	* glib/src/thread.hg Cond: Add documentation
	
2003-02-27  Bryan Forbes  <mxpxfifws@yahoo.com>

	* gtk/src/accelgroup.hg:
	* gtk/src/accellabel.hg:
	* gtk/src/adjustment.hg:
	* gtk/src/alignment.hg:
	* gtk/src/arrow.hg:
	* gtk/src/aspectframe.hg:
	* gtk/src/bin.hg: Added documentation for constructors and
	_MEMBER_GET() wrappers.
	* gtk/src/box.hg: Added the PackOptions enum into the gtkmmEnums
	group so it is now on the correct documentation page.
	* gtk/src/enums.hg: Allow Doxygen to grab Gtk::AlignmentEnum (used in
	alignment.hg and others) and added it to the gtkmmEnums group.
	* gtk/src/gtk_docs_override.xml: Added documentation for methods
	in accelgroup.hg, accellabel.hg, adjusment.hg, and arrow.hg.
	
2003-01-27  Murray Cumming  <murrayc@usa.net>

	* gdk/src/display.hg: Used refreturn on  get_default() and
	get_core_pointer(), preventing segfaults.

2003-01-24  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm/menu_elems.cc: Element::Element(MenuItem): Use the
	Glib::RefPtr<> constructor explicitly, for clarity, and do the
	necessary extra ref - fixes lifetime bug 104194

2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/utility.h (GLIBMM_INITIALIZE_STRUCT): Replace
	__builtin_bzero() with __builtin_memset() because the former is
	deprecated.  Also, it looks like GCC is able to optimize the 0 case
	so we don't lose anything here.

2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.cc (Glib::build_path): Reserve 256 bytes
	in advance to improve performance.

2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.{cc,h} (Glib::build_path): Fix to make it
	behave exactly like g_build_path().  (#102885, Jarek Dukat)

	(Glib::build_filename(const std::string&, const std::string&)):
	Implement in terms of Glib::build_path().

2003-01-08  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeview.hg: Change 
	TreeView::_auto_store_on_cellrenderer_text_edited_numerical() to use 
	strtod instead of strtol, so that it can be used for doubles and 
	floats.
	Added float and double specializations of 
	TreeView_Private::_connect_auto_store_editable_signal_handler() to
	allow use of TreeView::append_column_editable() with float and double
	model columns. We think that the addition of these specializations
	would break API though, so these are commented-out, with a TODO
	comment.

2.2.0:
	
2003-01-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/cellrenderercustom/cellrenderertoggle.cc: Be a good boy
	and ditch g_strdup_printf() plus internal Glib::ScopedPtr<> in favor
	of std::ostringstream.

	* examples/cellrenderercustom/testpopup.cc: ditto.

2003-01-05  Murray Cumming  <murrayc@usa.net>

	* gdk/src/window.[hg|ccg]: Added the extra pointer_grab() overload
	needed by examples/customcellrenderer/

2003-01-05  Murray Cumming  <murrayc@usa.net>

	* demos/gtk-demo/: Added Change Display part, based on the same part
	in the C version, to exercise Gdk::Display and Gdk::Screen.
	* gdk/src/display.[hg|ccg], screen.[hg|ccg]: Added some overloads
	now that gtk-demo has shown that some method arguments can be 0. 
	Wrapped signals.
	* gdk/src/displaymanager.hg: Wrapped signal.
	* gdk/src/window.[hg|ccg]: Wrapped pointer_grab(), pointer_ungrab(),
	keyboard_grab() and keyboard_ungrab().
	* gdk/gdkmm/general.[h|cc]: Added Gdk::flush().

2003-01-04  Murray Cumming  <murrayc@usa.net>

	* Added the beginnings of a TextView book chapter and example.

2003-01-04  Murray Cumming  <murrayc@usa.net>

	* gtk/src/clipboard.hg: Added some documentation, based on the C 
	documentation, for methods that aren't produced by _WRAP_METHOD().

2003-01-04  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/object.{cc,h} (Glib::Object):
	([gs]et_property_value): Implement.
	([gs]et_property): Implement.

2003-01-03  Murray Cumming  <murrayc@usa.net>

	* gtk/src/gtk_docs_override.xml: Added C++-ized version of the 
	documentation for Gtk::Dialog::run().

2.1.3:

2003-01-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/DocsParser.pm (convert_tags_to_doxygen): Add a few more
	substitutions to improve the output.

2003-01-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* atk/src/table.hg (Atk::Table): Fix copy'n'paste mistakes.

2003-01-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* atk/src/noopobject.hg: Don't hide Atk::NoOpObject from the docs,
	because otherwise it's hard to know that all the ATK interfaces
	belong together; i.e. you can dynamic_cast<> between them.  Also,
	if you want to use atkmm seriously you probably have to understand
	the architecture of the object hierarchy anyway.

2002-12-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/extra_defs_gen/generate_extra_defs.cc: Tweak the code a bit
	to make it list signals of interfaces too.
	* tools/extra_defs_gen/generate_defs_gtk.cc: Add a couple of ATK
	interface types.

	* atk/src/atk_signals.defs: Add missing signal defs.
	* atk/src/atk_vfuncs.defs: Add missing vfunc defs.

	* atk/src/editabletext.{ccg,hg}:
	* atk/src/image.{ccg,hg}:
	* atk/src/selection.{ccg,hg}:
	* atk/src/table.{ccg,hg}:
	* atk/src/text.{ccg,hg}:
	* atk/src/value.{ccg,hg}: New wrappers of ATK interfaces.

	* atk/src/noopobject.{ccg,hg}: New wrapper of AtkNoOpObject, a dummy
	class that implements all of the interfaces in ATK as no-ops.

	* atk/src/object.{ccg,hg} (Atk::Object_Class::wrap_new): Abuse
	Atk::NoOpObject to avoid instantiating Atk::Object directly.  This
	is necessary because there is no C++ wrapper for gail, thus the
	interfaces would never be available from C++ code.

	* atk/src/Makefile_list_of_hg.am_fragment: Add new files.
	* atk/atkmm.h: ditto.

	* tools/m4/convert_atk.m4:
	* tools/m4/convert_glib.m4:
	* tools/m4/convert_gtk.m4: Add/fix several conversions.

2002-12-30  Murray Cumming  <murrayc@usa.net>

	* configure.in: Changed LIBGTKMM_SO_VERSION to what it would be
	if we had never increased the interface number (the first one).
	We want libtool to think that gtkmm 2.2.0 is not API incompatible with
	gtkmm 2.0.0. GTK+ doesn't even use this libtool feature. People
	will need to remove the previous unstable gtkmm 2.1.x so libraries -
	we'll give instructions.

2002-12-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textbuffer.hg: Use a nasty _CONVERSION() hack to get
	insert_text_callback() to use the length argument, rather than
	depending on 0-termination of the string.  This fixes an invalid
	read of size 1 detected by valgrind.

2.1.2:

2002-12-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/fileutils.hg: Add missing @ingroup tags.

2002-12-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/fileutils.{ccg,hg} (Glib::file_open_tmp): Implement.
	(Glib::file_get_contents): Implement.

2002-12-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/tutorial/figures/Makefile.am (figures_DATA): Remove
	treeview_draganddrop.png because it's not in the repository.

2002-12-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treemodelsort.ccg (Gtk::TreeModelSort):
	(convert_iter_to_child_iter): Fix cut'n'paste mistake.
	(set_value_impl): Don't forget to convert the iterator.

2002-12-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treemodelsort.{ccg,hg}: New files, implementing
	Gtk::TreeModelSort.

	* gtk/src/Makefile_list_of_hg.am_fragment: Add new files.

	* gtk/src/treemodel.hg (Gtk::TreeModel): Add friend declaration of
	Gtk::TreeModelSort, which is necessary to forward set_value_impl().

2002-12-30  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeiter.[hg|ccg] Removed the new const overrides
	of get_iter(), because they need more serious attention. Added
	TODOs for the next API break.

2002-12-29  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeview.hg: enable_model_drag_source(), and 
	enable_model_drag_dest(): Add Gdk::ACTION_MOVE to default argument
	value, because moving seems like an expected behaviour in a tree.
	Added enable_model_drag_source() override without targets, to use
	the standard GTK_TREE_MODEL_ROW target, as expected by the default
	drag-and-drop handlers.
	* gtk/src/treepath.[hg|ccg]: Added get_from_selection_data() and 
	set_in_selection_data(). This might not be the best place to put them
	but they seem only loosely connected with SelectionData too.
	* gtk/src/treeiter.[hg|ccg]: Added const overrides of the get_iter() 
	methods, using a const_iterator typedef. I'm not sure whether we
	should do something more complicated for const_iterator.
	* examples/book/treeview/tree/: Use TreeView::set_reorderable(), to
	show it working.
	* examples/book/treeview/drag_and_drop: Instead of overriding a 
	TreeView, override the TreeModel and reimplement the row_draggable()
	and drop_possible() methods, using data from the model itself.

2002-12-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/types.{ccg,hg}: Use std::string instead of Glib::ustring
	for GdkAtom names.  While it's true that atom names should probably
	always be pure ASCII and thus valid UTF-8, they should definitely
	not be compared using locale-dependent collation algorithms.  Thus
	play safe and use std::string; it's more efficient too.

	* gtk/src/selectiondata.{ccg,hg}: Likewise.
	* examples/book/clipboard/ideal/examplewindow.cc: Likewise.
	Also fix another dangling reference, and use std::find() instead
	of an explicit loop to iterate over the target list.

2002-12-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/selectiondata.{ccg,hg} (Gtk::SelectionData::set): Use
	guint8* rather than guchar* -- they're identical, but guint8* is
	better suited to point out that raw bytes are requested.  Recent
	GdkPixbuf code is using guint8 as well.

	(Gtk::SelectionData::get_{data,length}): Add these accessors,
	since it's not always appropriate to copy std::strings around.

	(Gtk::SelectionData::get_selection): Add accessor that returns
	the selection ID.  Some code might require this information.

	(Gtk::SelectionData::get_data_type): New accessor to the 'type'
	struct member.  This is different from get_target() in that it
	returns the type of the currently assigned data, rather than the
	possible destinations.

	(Gtk::SelectionData::include_text): Rename to targets_include_text()
	as in GTK+ -- include_text() was meaningless, or at least spelled
	incorrectly.

	* examples/book/clipboard/ideal/examplewindow.cc (on_clipboard_get):
	Eeek, don't store a reference to a temporary.

2002-12-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/types.{ccg,hg} (Gdk::AtomStringTraits): Implement traits
	for use with Glib::ArrayHandle<>.

	* gtk/src/selectiondata.{ccg,hg} (Gtk::SelectionData::get_targets):
	Get rid of the broken list construction code and just return
	a Glib::ArrayHandle<Glib::ustring,Gdk::AtomStringTraits>.

	(Gtk::SelectionData::set): Take a std::string argument since it's
	raw data.

	(Gtk::SelectionData::get_data_as_text): Return a std::string, and
	rename to get_data_as_string().  Murray, I hope it's OK to do this?
	The existence of get_text() vs. get_data_as_text() seemed quite
	confusing; at least it confused me.  Also, the returned data is by
	no means required to be text AFAICT.

	* examples/book/clipboard/ideal/examplewindow.cc: Replace call
	to get_data_as_text() with get_data_as_string().

	* examples/book/treeview/drag_and_drop/treeview_dndable.cc:
	Comment-out an unused static variable to silence the compiler.

2002-12-29  Murray Cumming  <murrayc@usa.net>

	* examples/book/treeview: Added the beginnings of a drag_and_drop
	example for the TreeView.

2002-12-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/box.hg (Child): Fix my last commit: Now we finally know
	what this ctor declaration was for.  I replaced it with a dummy
	friend declaration plus comment instead.
	* gtk/src/table.hg (Child): ditto
	* gtk/src/toolbar.hg (Tool): ditto.

2002-12-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/box.hg (Child): Get rid of the insane ctor declaration
	Child(void* do_not_derive_this).  We have comments for that in C++,
	and there's nothing to gain or lose by by deriving from Child
	anyway.  I reckon Karl (or whoever wrote this) was just on crack.
	* gtk/src/table.hg (Child): ditto
	* gtk/src/toolbar.hg (Tool): ditto.

2002-12-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/accelgroup.{ccg,hg} (Gtk::AccelGroup::activate): Make
	this a static method that wraps gtk_accel_groups_activate().

	* tools/m4/convert_gtk.m4: Add Gtk::Object& conversion.

2002-12-29  Murray Cumming  <murrayc@usa.net>

	* gdk/src/display.hg: Added lookup_pixmap().
	* gdk/src/pixmap.[hd|ccg]: Wrapped gdk_pixmap_foreign_new_for_display
	as a constructor and create() method.
	* gdk/src/screen.hg: Added get_setting() as a templated method.

	* gtk/src/treeview.[hg|ccg]: enable_model_drag_dest() - added a default
	argument value. Added enable_model_drag_source() overload with a
	different argument order which allows default argument values.

2002-12-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/refptr.h (Glib::swap<>): Add @relates tag.

2002-12-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/demowindow.{cc,h}: Install a select_function()
	that allows only leaf nodes to be selected.  This nicely prevents
	the ugly warning message when clicking on the "Tree View" node.

2002-12-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/refptr.h (Glib::RefPtr<>::operator=): Reimplement
	copy assignment by using the swap technique described in Herb
	Sutter's "Exceptional C++".  Also elaborate about this stuff in
	a fairly large comment.

	(Glib::RefPtr<>::clear): Make use of swap() here too.

2002-12-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/refptr.h (Glib::RefPtr<>::swap): Implement.
	(Glib::swap<>): Implement.

	(Glib::RefPtr<>): For clarity, use the 'inline' keyword in method
	declarations too, not only in the implementation's prototype.

2002-12-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/docgen.m4 (GTKMM_ARG_ENABLE_FULLDOCS): Make the default
	setting of --enable-fulldocs depend on --enable-maintainer-mode.
	Also try to check for the XML::Parser module if we need to build
	sources.  I remember having had some trouble with this; i.e. I'm
	not sure if the test always suceeds, particularly with Perl 5.8.

	* scripts/macros.m4 (GTKMM_CHECK_PERL): Some minor corrections.

2002-12-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/pixmap.ccg (Gdk::Pixmap::create_*): Use Glib::unwrap()
	instead of gobj() since the RefPtr<> can be 0.

	* gdk/src/pixmap.hg (Gdk::Pixmap::create): This has no equivalent
	in GDK and thus doesn't work at all.  A Gdk::Pixmap created via
	this function causes a segmentation fault on the last unreference,
	as the GDK code tries to access data that has never been set up.
	Add TODO comment stating that it should be removed at some point.

	* gdk/src/{bitmap,pixmap}.hg: The ctors and create() methods should
	all take a Gdk::Drawable instead of a Gdk::Window -- add TODOs.
	This has recently been fixed in GDK but we can't follow the change
	without breaking ABI.

2002-12-25  Naofumi Yasufuku  <naofumi@yasufuku.net>

	* glib/glibmm/dispatcher.cc: Under mingw32, macro definitions in
	fcntl.h are required by pipe().

2002-12-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/colorselection.ccg (global_change_palette_hook_callback):
	Trap all exceptions thrown from the C++ callback slot.

2002-12-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/book/clipboard/ideal/examplewindow.cc (on_clipboard_get):
	Remove unused parameter name to avoid a warning.  Also convert some
	macros to properly typed constants.

2002-12-24  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm-tut.xml: Wrote the Clipboard chapter.

2002-12-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Pass --enable-warnings=hardcore to configure when
	building with gcc3, and the user didn't say otherwise on the
	command line.

2002-12-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/selectiondata.hg (Gtk::SelectionData::get_targets):
	Remove extra qualification from declaration to silence GCC.

2002-12-24  Murray Cumming  <murrayc@usa.net>

	* gtk/src/clipboard.[hg|ccg] renamed one of the request_contents()
	methods to request_targets() because that's all it does.

2002-12-24  Murray Cumming  <murrayc@usa.net>

	* gtk/src/clipboard.ccg: SignalProxy_GetClear::gtk_callback_get():
	Don't clear() the slot, so it can be called again. This was just copy/
	pasted from elsewhere.
	* examples/book/clipboard/ideal: This now works normally. Added code
	to disable the Paste button if no suitable data is available.

2002-12-24  Murray Cumming  <murrayc@usa.net>

	* gtk/src/selectiondata.[hg|ccg]: Added accessors, and a wrapper for
	gtk_selection_data_get_targets(), with documentation about how 
	it could be used.
	* gtk/src/clipboard.[hg|ccg]: Added a request_contents() overload
	that uses the special TARGETS target, with documentation.
	* examples/book/clipboard/ideal/examplewindow.cc (on_clipboard_get):
	Check the selection_data's target, not the info parameter, because
	that seems to be always 0.

2.1.1:

2002-12-23  Mark Jones  <mark.jones106@verizon.net>

	* gtk/src/fileselection.hg (Gtk::FileSelection::get_history_pulldown): 
        New convenience method to get the history option menu so that it can
        be hidden if desired.

2002-12-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.hg (Gtk::Widget::get_parent): We should return
	Gtk::Container* here -- add TODO comment.
	(Gtk::Widget::get_toplevel): ditto.

2002-12-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* atk/src/atk_docs.xml: Regenerate from latest CVS sources.
	* gdk/src/gdk_docs.xml: ditto
	* gtk/src/gtk_docs.xml: ditto
	* pango/src/pango_docs.xml: ditto.

	* tools/pm/DocsParser.pm (convert_tags_to_doxygen): Replace
	"&mdash;" with "@htmlonly&mdash;@endhtmlonly" because Doxygen
	is too dumb to recognize it.

2002-12-23  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm/selectiondata_private.h: Hid from doxygen.
	* gtk/src/clipboard.[hg|ccg]: wait_*() methods are now const.

	* atk/relation.[hg|ccg]: Added const overload of get_target().

2002-12-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/liststore.{ccg,hg} (Gtk::ListStore::iter_swap): Implement.
	(Gtk::ListStore::move): Implement.
	(Gtk::ListStore::reorder): Implement.
	(Gtk::ListStore::iter_is_valid): Implement.

	* gtk/src/treestore.{ccg,hg} (Gtk::TreeStore::iter_swap): Implement.
	(Gtk::TreeStore::move): Implement.
	(Gtk::TreeStore::reorder): Implement.
	(Gtk::TreeStore::iter_is_valid): Implement.

2002-12-23  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm/: Added selectiondata_private.[h|c], with a
	SelectionData_WithoutOwnership, for use as an output arg.
	* gtk/src/clipboard.hg: SlotGet now takes a SelectionData& instead
	of a GtkSelectionData*. It's actually a SelectionData_WithoutOwnership,
	but people don't need to know that.

2002-12-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.{ccg,hg} (Gtk::Widget::modify_bg_pixmap): New
	convenience method to change the widget's background pixmap.  This
	seems to be truly missing in GTK+, considering that modify_bg()
	has no effect if a background pixmap is set by the theme.

	(Gtk::Widget::get_modifier_style): Add const overload.

	* tools/m4/convert_gtk.m4: Add const Gtk::RcStyle conversion.

	* demos/gtk-demo/example_colorsel.cc: Get rid of the recently
	added expose_event handler and use modify_bg_pixmap() instead.

2002-12-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/style.{ccg,hg} (Gtk::Style::set_[xy]thickness): Wrap
	manually because _MEMBER_SET() forces reference arguments, which
	looks weird with simple types like 'int'.  Unfortunately we can't
	fix _MEMBER_SET() at this point because that would break ABI.

	* gtk/src/rc.{ccg,hg} (Gtk::RcStyle): Implement accessors to
	public GtkRcStyle fields so that Gtk::RcStyle is actually useful
	for a change.

2002-12-23  Murray Cumming  <murrayc@usa.net>

	* gtk/src/: Added selectiondata.[hg|ccg] as wrapper of 
	GtkSelectionData.
	* gtk/src/clipboard.hg: Used the C++ SelectionData wrapper, but not
	where a GtkSelectionData* is non-const - see comment in code.

2002-12-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_colorsel.cc: Add an expose event handler
	in order to get the color display to work with pixmap themes.  Note
	that the palette colors in the color selection dialog still won't
	be shown without the GTK+ patch attached to bug #101732.

2002-12-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/color.hg (Gdk::ColorTraits): Add Gdk::Color traits for
	use with Glib::ArrayHandle<>.

	* gtk/src/colorselection.{ccg,hg} (Gtk::ColorSelection): Remove
	_UNMANAGEABLE() macro call.

	(palette_from_string): Implement.
	(palette_to_string): Implement.
	(set_change_palette_hook): Implement.

	(Gtk::ColorSelectionDialog): Make _UNMANAGEABLE().
	(ColorSelectionDialog::ColorSelectionDialog): Don't implement the
	default ctor manually -- we have _CTOR_DEFAULT() for that.

	* gtk/src/fontselection.{ccg,hg} (Gtk::FontSelection::PropertyType):
	Get rid of unused enum.  Probably left-over from gtkmm-1.2.

	(Gtk::FontSelectionDialog): Mark as _UNMANAGEABLE().
	(FontSelectionDialog::FontSelectionDialog): Use ctor macros rather
	than implementing them manually.

2002-12-22  Murray Cumming  <murrayc@usa.net>

	* gtk/src/clipboard.hg: request_contents() now takes a Glib::ustring
	instead of a GdkAtom, because it seems that people are meant to just
	get a GdkAtom from a string anyway.
	* example/book/clipboard: Moved existing example into simple 
	directory, and started a more perfect but complex example in
	the ideal directory.

2002-12-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.hg (Gtk::Widget::get_style_property): New wrapper
	of gtk_widget_style_get_property().  Although templated, it's not
	really compile-time type safe -- but certainly much less dangerous
	than the varargs interface.
	(Gtk::Widget::get_style_property_value): This is the non-templated
	implementation part of get_style_property().

2002-12-22  Murray Cumming  <murrayc@usa.net>

	* gtk/src/clipboard.hg: Removed WRAP_CREATE() and _DEFAULT_CTOR - 
	Added get() as wrapper of gtk_clipboard_get() instead.
	Added some _IGNORE()s.
	* example/book/: Added clipboard example. At the moment it uses
	the text clipboard format - maybe we should do something more 
	advanced.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/objectbase.cc:
	* gtk/src/container.ccg:
	* gtk/src/object.ccg:
	* gtk/src/window.ccg: Test for GTKMM_DEBUG_REFCOUNTING rather than
	DEF_DEBUG_REFCOUNTING.  Also don't indent all the #ifdefs in line
	with the C++ code.  Indenting preprocessor magic like that is just
	lying to yourself.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/label.ccg (Gtk::Label::Label): Don't set "use_underline"
	to 1 in the default ctor.  Actually, there is no need to set any
	properties at all.

	* gtk/src/label.hg (Gtk::Label::get_layout): Fix crash by adding
	the missing "refreturn".  Also add a const overload.

	* tools/m4/convert_pango.m4: Add const Pango::Layout conversion.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.hg (Gtk::Widget::get_style): Add const overload.
	* tools/m4/convert_gtk.m4: Add const Gtk::Style conversion.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/style.{ccg,hg} (Gtk::Style::paint_hline): Uncomment.
	I have absolutely no idea why this was commented out.

	(Style::[gs]et_black): Add getter and setter for this style color.
	(Style::[gs]et_white): ditto.

	(Style::[gs]et_xthickness): Another missing getter/setter.
	(Style::[gs]et_ythickness): ditto.

	(Style::[gs]et_bg_pixmap): New getters/setter for the bg pixmap,
	e.g. as used by pixmap themes.

	(Style::get_background): Deprecate.  It's a useless and potentially
	confusing alias of get_bg().
	(Style::get_background_pixmap): Deprecate another confusing rename
	of the widely adopted 'bg' naming convention.

	* tools/m4/convert_gdk.m4: Add some Gdk::Color conversions.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/objectbase.cc (Glib::ObjectBase::~ObjectBase): Do
	g_object_unref() if gobject_ != 0.  That's necessary to prevent
	a reference leak if a derived class's ctor threw an exception.
	gobject_ should be 0 in any other case -- I elaborated about that
	in a comment.
	Also move most of the code from Glib::Object::~Object() hitherto,
	in order to avoid relying on destruction order in MI hierarchies.

	(Glib::ObjectBase::destroy_notify_): Set gobject_ = 0 before
	invoking delete.

	* glib/glibmm/object.cc (Glib::Object::~Object): Move most of the
	code into Glib::ObjectBase::~ObjectBase().  See above.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.h: Documentation fixes + cleanup.
	* gtk/src/object.ccg (Gtk::Object::_destroy_c_instance): Comment
	another comment stating that managed widgets are referenced when
	added to a container.  That's simply not true.

2002-12-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* tests/Makefile.am_fragment (INCLUDES): Add $(GTHREAD_CFLAGS).
	* tests/dispatcher/Makefile.am (INCLUDES): Get rid of it.  This
	works around a nasty problem involving a combination of certain
	releases of automake, escaped newlines in variable assignments,
	and the += operator.

2002-12-17  Ross Burton  <ross@burtonini.com>

	* docs/tutorial/gtkmm-tut.xml: Proof-read, and validation
	cleanups.

2002-12-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/iochannel.hg (Glib::IOChannel): Document that the feature
	of implementing a custom IOChannel is deprecated in glibmm 2.2.  The
	GIOChannel vfunc interface hasn't stabilized yet and is therefore
	not intended for public use.

	* glib/glibmm/streamiochannel.h (Glib::StreamIOChannel): Document
	the whole class as deprecated in glibmm 2.2.  See above.

2002-12-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/value.h:
	* glib/glibmm/value_custom.h:
	* glib/src/iochannel.hg:
	* glib/src/markup.hg:
	* gdk/src/pixbufloader.hg:
	* gdk/src/window.hg: Update and fix lots of Doxygen comments.

2002-12-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.{cc,h} (Glib::get_application_name): Add.
	(set_application_name): Add.

	* glib/glibmm/threadpool.{cc,h} (Glib::ThreadPool): Add loads of
	reference documentation.
	(ThreadPool::get_exclusive): New accessor method to read-only
	data field GThreadPool::exclusive.

2002-12-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.cc (Glib::get_prgname): Don't free the
	string returned by g_get_prgname().  It is static data, the GLib
	header is missing a G_CONST_RETURN.

2002-12-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/wrap.h (Glib::unwrap_copy): Add.

	* tools/pm/WrapParser.pm (on_wrap_vfunc|output_wrap_vfunc): Handle
	new argument "refreturn_ctype" that can be used whenever GObject
	vfuncs are supposed to take a reference on the returned object.

	* tools/pm/Output.pm (output_wrap_vfunc_cc): Pass "refreturn_ctype"
	to _VFUNC_PCC().

	* tools/m4/vfunc.m4 (_VFUNC_PCC): Make use of Glib::unwrap_copy()
	if "refreturn_ctype" has been specified.

	* atk/src/component.hg (Atk::Component::ref_accessible_at_point):
	Rename to get_accessible_at_point().  atkmm should hide all the
	refcounting obscurity whenever possible.
	(ref_accessible_at_point_vfunc): Also rename to
	get_accessible_at_point_vfunc(), and make use of "refreturn_ctype"
	to indicate that the C vfunc callback is supposed to take an extra
	reference.

	* atk/src/object.hg (Atk::Object::get_parent): Add "refreturn".
	(ref_accessible_child): Rename to get_accessible_child().
	(ref_relation_set): Rename to get_relation_set().
	(ref_state_set): Rename to get_state_set().

2002-12-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* atk/src/object.hg (Atk::Object::get_layer): Remove because it's
	deprecated.  We don't need to maintain API stability _within_ the
	gtkmm 2.1.x series.
	(Atk::Object::get_mdi_zorder): ditto.

2002-12-07  Gary Peck  <gbpeck@sbcglobal.net>

	* gtkmm.spec.in: Removed "--without docs" option and simplified the
	spec file since the documentation is included in the tarball now.

2.1.0:

2002-12-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* tests/dialog_deletethis/main.cc:
	* tests/scrolledwindow/main.cc: Get rid of compiler warnings.

2002-12-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/book/drag_and_drop/dndwindow.cc:
	* examples/book/drawingarea/myarea.cc:
	* examples/book/eventbox/examplewindow.cc:
	* examples/book/label/examplewindow.cc:
	* examples/book/range_widgets/examplewindow.cc:
	* examples/book/signals/custom/main.cc:
	* examples/book/spinbutton/examplewindow.cc:
	* examples/dnd/dndwindow.cc:
	* examples/gdk/radar.cc:
	* examples/statusbar/statusbar.cc: Fix all sorts of problems that
	caused compiler warnings.
	* examples/calendar/calendar.cc: Likewise, but also make use of
	Glib::Date rather than horribly low-level C code.

2002-12-05  Walter H. van Holst  <walter.van.holst@xs4all.nl>

	* gtkmm.spec.in: Remove obsolete reference to patch file and
	add the documentation files to the %files section.

2002-12-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treemodel.{ccg,hg} (TreeModel::foreach): Add overload for
	a SigC::Slot that gets passed both TreePath and TreeIter.  Although
	you could always easily get one out of the other, it might cause a
	performance problem.  GTK+ increments both the GtkTreePath and the
	GtkTreeIter simultaneously in the foreach() implementation to avoid
	extra tree traversion.

	* gtk/src/treeselection.{ccg,hg} (TreeSelection::get_model):
	Actually implement the const overload.
	(selected_foreach): Add overload for a SigC::Slot that gets passed
	both TreePath and TreeIter, for the same reason as described above
	for TreeModel::foreach().
	(get_selected_rows): Make the overload which returns the TreeModel
	non-const.  We could add another overload that returns a const
	TreeModel but this seems overkill.  In fact, I'm tempted to get rid
	of the output argument entirely.

2002-12-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/convert_gtk.m4: Fix memory leak on _all_ GtkTreePath*
	to Gtk::TreePath conversions, i.e. for return values.  Also use the
	Gtk::TreePath ctor directly instead of Glib::wrap() in order to
	avoid an extra copy.

2002-12-05  Murray Cumming  <murrayc@usa.net>

	* examples/Makefile.am: Don't try to build notebook and dialogs 
	directories - they have been removed.
	* docs/reference/Makefile.am: Minor change to make it the same as the 
	gtkmm-2-0 file, to try to fix a make distcheck problem.

2002-12-04  Daniel Elstner  <daniel.elstner@gmx.net>

	Big atkmm fix breaking API and ABI.  No need to worry, see the list.

	* tools/m4/convert_atk.m4: Add/fix a few type conversions, and
	get rid of the evil 'Glib::ustring' -> 'const char*' conversion.
	The latter was used by vfuncs that return const char* -- that is,
	ended up calling c_str() on a local variable.  Ouch.

	* atk/src/action.hg (Action::get_description_vfunc): Change return
	type to 'const char*'.  This is the only option, see above why.
	(get_name_vfunc): ditto
	(get_keybinding_vfunc): ditto.

	* atk/src/component.hg (Atk::CoordType): New enum.
	(Atk::Layer): Enum, moved here from object.hg.

	* atk/src/component.hg (Component::contains): Use C++ types in API.
	(ref_accessible_at_point): ditto
	(get_extents): ditto
	(get_position): ditto
	(get_layer): ditto
	(set_extents): ditto
	(set_position): ditto.

	* atk/src/object.hg (Atk::State): New typedef from guint64.
	(Atk::Layer): Move to component.hg.
	(Atk::Object): Make public what is supposed to be public.

	* atk/src/object.hg (Object::add_relationship): Use C++ types.
	(remove_relationship): ditto.

	* atk/src/objectaccessible.hg (ObjectAccessible::get_object):
	Make use of 'refreturn'.
	(for_object): ditto.

	* atk/src/relation.hg (Relation::create): Add missing method.
	(get_target): ditto.

	* atk/src/stateset.hg (StateSet::contains_states): Make const.

	* atk/src/*.{ccg,hg}: Get rid of all dependencies on ATK headers.

2002-12-04  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/class_boxedtype.m4: Don't generate a forward declaration
	of the C type's class struct because Boxed Types don't have one.

	* gtk/src/treerowreference.hg: No need to forward declare struct
	GtkTreeRowReference since it's autogenerated.

2002-12-04  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treepath.hg (TreePath_Traits): Don't pass the C type by
	reference since it's only a pointer anyway.

	* gtk/src/treerowreference.{ccg,hg}: Add some TODO comments.

2002-12-04  Murray Cumming  <murrayc@usa.net>

	* Removed dialog and notebook examples - they were replaced by new
	examples in examples/book/.

2002-12-03  Murray Cumming  <murrayc@usa.net>

	These are API breaks of API that could not have been used before:
	* gtk/src: Added clipboard.[hg|ccg] to replace 
	gtk/gtkmm/clipboard.[h|c]. Gtk::Clipboard is now wrapped as the 
	GObject that it is, so it is now used with Glib::RefPtr<>
	* gtk/src/window.hg: Added get_clipboard(), new in 2.2
	* gtk/src/textbuffer.[hg|ccg]: Methods that use Gtk::Clipboard now
	do so via Glib::RefPtr<>.

2002-12-03  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treepath.hg: TreePath_Traits: Resolved ambiguity.

2002-12-02  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treerowreference.[hg|ccg]: GtkTreeRowReference is now
	a boxed type, so we wrap it as such, and it can now be copied. This
	should not break any API.

2002-12-02  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm-tut.xml: Completed Internationalization and
	Localization chapter.

2002-12-02  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeselection.[hg|ccg], treepath.hg: Defined Traits for
	TreePath and used them in the ListHandle<> for 
	Gtk::TreeSelection::get_selected_rows().

2002-12-02  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeselection.[hg|ccg]: Added commented-out 
	Gtk::TreeSelection::get_selected_rows() methods. The ListHandle stuff
	isn't working yet.

2002-12-02  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Output.pm (output_wrap_meth),
	  tools/m4/method.m4 (_STATIC_METHOD): Allow static _WRAP_METHOD() 
	methods touse the optional refreturn and throwerr parameters.
	* gtk/src/window.hg,
	  gtk/src/settings.hg: Used the static method fix to wrap new
	methods.

2002-12-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.h (Glib::SignalIO::connect): Fix comment about
	the return type: 'false' means disconnect -- not 'true'.

2002-11-27  Daniel Sundberg <dss@home.se>
 
 	* gtk/src: Added most of new gtk+-2.1 API except from ListStore, 
 	TreeStore, TreeModel, TreeSelection and TreeIter
	
2002-12-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/vfunc.m4 (_VFUNC_CC): Add optional "refreturn" parameter.
	* tools/pm/Output.pm (output_wrap_vfunc_cc): Pass optional refreturn
	argument to _VFUNC_CC().
	* tools/pm/WrapParser.pm (on_wrap_vfunc): Extract "refreturn" from
	the parameter list and pass it to output_wrap_vfunc_cc() if set.

	* gtk/src/widget.hg (Gtk::Widget::get_accessible): Use "refreturn".
	(get_accessible_vfunc): ditto.

2002-12-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeview.ccg (_auto_store_on_cellrenderer_toggle_edited):
	Remove unused parameter name in order to avoid a warning.

2002-12-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/tutorial/gtkmm-tut.xml: Remove several superfluous xi:include
	tags that caused the example sources to be included twice.

	* docs/tutorial/insert_example_code.pl: Pre-process the example
	sources via Perl code instead of using XInclude.  That way we can
	easily strip the license comment block from the examples.

	* docs/tutorial/Makefile.am: Add dependencies to some targets.

2002-12-01  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/: Added insert_example_code.pl, to insert XInclude
	statements in the XML, to show the example code inline.

2002-11-30  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeview.ccg (_auto_store_on_cellrenderer_toggle_edited):
	NOT the existing model value instead of trying to get a new value
	from the CellRenderer. Fixed bug #99986.
	* examples/book/treeview/editable_cells/:
	  demos/gtk-demos/treeview_liststore.cc,
	  demos/gtk-demos/treeview_treestore.cc:
	Used append_editable() for bool columns.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/Makefile.am: Build dispatcher and dispatcher2
	examples unconditionally too.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/Makefile.am: Build dispatcher.{cc,h} unconditionally
	on all platforms, including win32.  I think I fixed the win32
	problem a while ago -- if not, please complain.

	* glib/glibmm.h: Remove the #ifdef GTKMM_WIN32 for dispatcher.h.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.ccg (Widget_Class::dispose_vfunc_callback):
	Correct one of the comments, and add a few chunks of text
	elaborating on the tricky details.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/Makefile_list_of_hg.am_fragment:
	* gdk/src/display.hg:
	* tools/m4/convert_gdk.m4: Re-apply Murray's Gdk::Device patch.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/class_boxedtype.m4: Generate a swap() method for all
	non-static boxed types, together with an inlined swap() function
	in the class' namespace.  swap() is often useful, can be highly
	efficient, and is sometimes used implicitely by the STL if available.

	* gtk/src/treepath.{ccg,hg} (swap): Remove manually implemented
	function since it's now automatically generated.
	(TreePath::TreePath()): No need to implement the default ctor
	manually because _CLASS_BOXEDTYPE() can do it for us.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treepath.{ccg,hg} (Gtk::TreePath::clear): Implement.
	(template <class In> TreePath(In, In)): ditto
	(template <class In> assign(In, In)): ditto
	(template <class In> append(In, In)): ditto.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.ccg (Widget_Class::dispose_vfunc_callback): Make
	sure hide() is the last thing we call on the widget.  This is
	absolutely necessary since the signal_hide() handler might delete
	the C++ object -- testing cpp_destruction_in_progress_ again is
	_not_ sufficient and means accessing deallocated memory.

	This fixes a reproducable segfault in the gtkmm demo.  The demo
	code deletes the example windows in a signal_hide() handler, which
	used to crash after a few window open/close cycles.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treepath.{ccg,hg} (Gtk::TreePath): Implement an STL style
	interface similar to std::vector<>, and mark the old interface as
	deprecated in the documentation.  I had to use a little hack to get
	rid of the TreePath(bool) ctor (which was evil) without breaking ABI
	or API.  See the comment in treepath.hg for details.

	* demos/gtk-demo/example_treeview_editable_cells.cc: Simplify the
	code by using the new STL style interface of Gtk::TreePath.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/convert_glib.m4: Don't use ptr->gobj() in the conversion
	from RefPtr<const T> because ptr might be 0.

2002-11-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/Makefile_list_of_hg.am_fragment:
	* gdk/src/display.hg:
	* tools/m4/convert_gdk.m4: Back out Murray's last commit on these
	files because it broke the build.  Murray, you definitely need to
	verify the output of 'cvs update' and look for '?' marks before
	going to bed :P

2002-11-30  Murray Cumming  <murrayc@usa.net>

	* Added Gdk::Device wrapper, although some of the stable API already
	uses a bare GdkDevice* C type. Added TODOs for them.

2002-11-30  Murray Cumming  <murrayc@usa.net>

	* Gdk::DisplayManager::list_displays(): uses a SListHandle.

2002-11-28  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm.h: Included fontselection.h.
	* examples/book/dialog: Added MessageDialog, FileSelection,
	FontSelectionDialog, and ColorSelectionDialog examples.
	* docs/tutorial/gtkmm-faq.xml: Mentioned these dialogs and examples.
	* docs/tutorial/figures/Makefile.am: Mentioned the menu pngs again.

2002-11-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/tutorial/figures/Makefile.am (figures_DATA): Temporarily
	remove menus_menubar.png menus_menu.png from the list.  Murray,
	please add these files to CVS first :)

2002-11-28  Murray Cumming  <murrayc@usa.net>

	* gtk/src/gtk_signals.defs, gtk/src/treeview.hg: Changed the return
	types of teh keybinding signals, because GTK+ 2.2 broke API on these.
	Luckily they shouldn't be wrapped anyway, so nobody is using them,
	so we can probably break them in gtkmm too.

2002-11-27  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial.gtkmm-tut.xml: The book is now licensed under the GNU 
	FDL.

2002-11-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/book/toolbar/examplewindow.cc: Add #include <iostream>.

2002-11-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/stringutils.cc: Ooops, forgot to #include <cerrno>.
	Bug reported by kmaraas.

2002-11-26  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/figures/Makefile.am: Added some .pngs to the makefile.

2002-11-25  Murray Cumming  <murrayc@usa.net>

	* pango/src/*.[hg|ccg]: Removed some old FSF copyrights that were
	still around.

2002-11-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/stringutils.h (Glib::Ascii::strtod): In the Doxygen
	comment, use @retval instead of @return for the end_index output
	argument.

2002-11-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Doxyfile.in (DOT_IMAGE_FORMAT): Change to 'png'.

	* docs/reference/Makefile.am (html/index.html): Depend on
	$(doxygen_configfile) rather than $(doxygen_configfile_source).
	(install-reference): Get rid of *.gif wildcard.
	(uninstall-reference): ditto.

	* Makefile.am (gtkmm-docs.tar.gz): Also include *.xml files from
	the examples in the tarball.

2002-11-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/stringutils.{cc,h}: New files, containing a selection
	of string-related utility functions.  Not all of the GLib string
	functions are wrapped:  I included only the functions that aren't
	easily replaceable in C++, and/or exist for portability reasons.

	* glib/glibmm/Makefile.am: Add stringutils.{cc,h}.
	* glib/glibmm.h: #include <glibmm/stringutils.h>.

2002-11-25  Murray Cumming  <murrayc@usa.net>

	* gtk/src/toolbar.[hg|ccg]: Added Gtk::Toolbar non-STL-style interface
	append, prepend, insert methods, because every container should have 
	both interfaces.

2002-11-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher.cc: Make the progress bars a little
	bit more livid.

	* examples/thread/dispatcher2.cc: Canonicalize
	s/on_clicked_event/on_button_clicked/

2002-11-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.cc (DispatchNotifier::pipe_io_handler):
	Make this method private.  It's quite irrelevant since the whole
	class is internal anyway, but there is no reason for this method
	to be public.

2002-11-24  Murray Cumming  <murrayc@usa.net>

	* tools/pm/DocParser.pm (append_parameter_docs): 
	Added workaround for perl 5.8.0 crash when doing regex on empty string.
	This only affects cvs builds. Fixes #98706

2002-11-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/markup/parser.cc: No need to write line number and
	character index to std::cerr.  Apparently this information is
	already included in the Glib::Markup::Error message string.

2002-11-24  Murray Cumming  <murrayc@usa.net>

	* gdk/src/dragcontext.ccg: Fixed typo in #include.

2002-11-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/markup/parser.cc: New example demonstrating the
	Glib::Markup parser.

	* examples/Makefile.am: Add markup/ directory.
	* configure.in (AC_CONFIG_FILES): Add examples/markup/Makefile.

2002-11-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/markup.hg: No need to #include <glib/gmarkup.h>.

2002-11-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/markup.{ccg,hg}: New files wrapping GMarkup, a simple
	XML subset parser.

	* glib/src/Makefile_list_of_hg.am_fragment: Add markup.{ccg,hg}.
	* glib/glibmm.h: #include <glibmm/markup.h>.

2002-11-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/gerror.m4 (_GERROR): Add parameter __CQUARK__ in order
	to generate a Foo(Code code, const Glib::ustring& message) ctor.

	* tools/pm/Output.pm (output_wrap_gerror): Pass the additional
	domain parameter to _GERROR().

2002-11-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treesortable.{ccg,hg} (TreeSortable::set_sort_func): Add
	method overload which takes a const TreeModelColumnBase& argument.
	* gtk/src/treeview.hg (TreeView::set_search_column): ditto
	* gtk/src/treeviewcolumn.hg (TreeViewColumn::set_sort_column_id):
	ditto.

2002-11-21  Murray Cumming  <murrayc@usa.net>

	* gdk/src: Added Display, DisplayManager, and Screen wrappers, new
	in GTK+ 2.2, along with some related methods in other gtkmm classses.

2002-11-21  Murray Cumming  <murrayc@usa.net>

	* atk/src/: Added Atk::Action and Atk::Component interface wrappers,
	and Atk::ObjectAccessible class wrapper.
	* atk/src/object: Wrapped new add_relationship() and 
	remove_relationship() methods.

2002-11-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textbuffer.{ccg,hg}: Get rid of the hackish work-around
	of bug #70227 (missing "tag_table" property in GTK+ 2.0).

2002-11-20  Murray Cumming  <murrayc@usa.net>

	* pango/src: Added newly-generated pango_methods.defs instead of 
	putting it inside pango.defs. Updated pango_enums.defs. 

2002-11-20  Murray Cumming  <murrayc@usa.net>

	* gdk/src/gdk_methods.defs, gdk_enums.pl, gdk_pixbuf.defs: Updated.

2002-11-20  Murray Cumming  <murrayc@usa.net>

	* atk/src/atk_methods.defs and atk_enums.defs: Updated with h2defs.py.

2002-11-20  Murray Cumming  <murrayc@usa.net>

	* This is the HEAD branch, for gtkmm 2.2.
	* configure.in: Change version to 2.1.0. Require GTK+ 2.1.x.
	* gtk/src/gtk_methods.defs: Regnerated with h2defs.py.
	* gtk/src/container.hg: child_type() now returns a GType instead of
	a GtkType. It is just a typedef.
	* gtk/src/widget.hg: get_ancestor() now takes a GType instead of a
	GtkType.

2002-11-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/thread.hg: Rather than temporarily undefining the macro
	THREAD_PRIORITY_NORMAL, do some preprocessor magic to mutate the
	macro into an enum.  This way, we don't have to copy'n'paste macro
	definitions from Win32 headers (ouch!).  Plus, the gtkmm identifier
	can actually be used since it's properly namespaced.

	* gdk/src/event.hg: Likewise for macro DELETE.
	* gdk/src/types.hg: Likewise for macro ERROR.
	* gtk/gtkmm/stock.h: Likewise for macro DELETE.

	* gtk/gtkmm/stock.cc: Play safe and #undef DELETE unconditionally.

2002-11-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/book/menus/main_menu/examplewindow.cc: Use builtin
	stock IDs from the Gtk::Stock namespace instead of plain string
	literals.

2002-11-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in (AC_OUTPUT): Split the list of output files into
	two parts and use AC_CONFIG_FILES() for them.  This fixes a
	problem with automake 1.7 which is apparently not able to process
	huge output file lists.

2002-11-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/docgen.m4 (GTKMM_ARG_ENABLE_FULLDOCS): Fix help text
	of --enable-fulldocs option.

2.0.1:

2002-11-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/Makefile.am: Install the documentation files.
	* docs/images/Makefile.am: ditto
	* docs/tutorial/figures/Makefile.am: ditto.
	* docs/Makefile_web.am_fragment (gtkmm_docdir): New variable
	defining the base directory of the installed documentation.

	* docs/reference/Makefile.am: Manually implement install-data-local
	and uninstall-local in order to install the html directory.
	* docs/tutorial/Makefile.am: ditto.

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* tests/dispatcher: New test, trying to brute-force reentrancy
	problems in Glib::Dispatcher.
	* tests/Makefile.am configure.in: Integrate the new test.

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.cc (fd_set_close_on_exec): Surround the
	whole function with #ifndef G_OS_WIN32, so that Glib::Dispatcher
	could potentially compile on Win32.  The missing function is no
	problem at all since Win32 doesn't have exec() anyway.
	(DispatchNotifier::DispatchNotifier): Don't leak the fd pair if
	SignalIO::connect() throws -- you can never know.
	(DispatchNotifier::send_notification): Don't try to write the data
	block in multiple chunks.  This shouldn't happen since the fd is
	not in nonblocking mode, and if it happened we would get into big
	trouble wrt. reentrancy.  A g_return_if_fail() should catch this
	pathologic case.

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/value_custom.cc (custom_boxed_type_register):
	Replace the g_return_val_if_fail() in case the type is already
	registered with a proper warning message.  Include the type name
	and a please-report request in the message.

	* glib/src/thread.hg (Glib::Mutex::Lock): Explain this a bit more
	and add a simple usage example -- for those who aren't familiar with
	the lets-scope-everything-we-can-get-our-hands-one technique :)

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Makefile.am (html/index.html): Get rid of the
	whole html directory before running doxygen.

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am: Uuh, it's $(doc_tarball_files) not $(doc_files).

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* Makefile.am: Implement the recursive targets doc-clean,
	doc-rebuild and post-html.  Also, try not to include all kind of
	crap in the gtkmm-docs.tar.gz tarball.

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/Makefile_web.am_fragment: Revert Murray's last change.
	This was not how it's supposed to work:  The target post-html is
	recursive now!

2002-11-15  Murray Cumming  <murrayc@usa.net>

	* Makefile.am, docs/Makefile_web.am_fragment: Top-level docs upload
	now works - The html directories were not uploaded because they were
	in the .cvsignore files, so we don't use the --cvsignore rsync option
	anymore.

2002-11-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/Makefile_web.am_fragment (rsync_args): New variable
	holding common arguments to rsync.  Get rid of the -a flag and
	the --cvs-exclude option.  The latter is no longer necessary since
	the html directories are going to be removed from CVS.

	* docs/FAQ/Makefile.am: Properly implement already existing rules,
	and add a doc-clean rule.  Also, use maintainer-clean-local instead
	of clean-local since we're now distributing the documentation.
	* docs/images/Makefile.am: ditto
	* docs/internal/Makefile.am: ditto
	* docs/reference/Makefile.am: ditto.

	* docs/Makefile.am: Clean up and implement the recursive rules
	post-html and doc-clean.  Also add a convenience rule doc-rebuild,
	which is a shortcut for make doc-clean all.

2002-11-14  Naofumi Yasufuku  <naofumi@yasufuku.net>

	* configure.in: Use -mms-bitfields option for MinGW gcc3. This
	option is required to build GTK programs under Win32 platforms.

2002-11-12  Naofumi Yasufuku  <naofumi@yasufuku.net>

	* glib/src/thread.hg (Glib::ThreadPriority): Undefine
	THREAD_PRIORITY_NORMAL macro for Win32 (previously defined in
	winbase.h).

	* gdk/src/event.hg (Gdk::EventType): Undefine DELETE macro for
	Win32 (previously defined in winnt.h).

	* gdk/src/types.hg (Gdk::Status): Undefine ERROR macro for Win32
	(previously defined in wingdi.h).

	* gtk/gtkmm/stock.{h,cc} (Gtk::Stock::DELETE): Undefine DELETE
	macro for Win32 (previously defined in winnt.h).

2002-11-14  Murray Cumming  <murrayc@usa.net>

	* gtk/src/statusbar.hg: Documentation: removed mention of non-existant
	messages() method. Bug #98410.

2002-11-14  Murray Cumming  <murrayc@usa.net>

	* gtk/src/widget.ccg (Widget_Class::dispose_vfunc_callback):
	Removed non-manage()ed child widgets from their containers when they
	are disposed (destroyed), as well as preventing disposal. Previously 
	some child widgets were not being properly removed from destroyed 
	containers. Fixes bug #97729.
	* gtk/src/container.ccg: (Container_Class:destroy_callback):
	Commented-out the code that removes non-manage()ed child widgets from
	their containers before destruction. The 
	Widget_Class::dispose_vfunc_callback should now take care of this. Also
	that code should work with both gtkmm containers and non-wrapped GTK+ 
	containers. 

2002-11-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/signalproxy.h.m4 (SignalProxyBase::data_to_slot):
	Return 0 if the connection is blocked.

	* tools/m4/signal.m4 (_SIGNAL_PROXY): Check whether the pointer
	returned by data_to_slot() is non-0 before invoking the SigC::Slot
	callback function.  This fixes a nasty bug with gtkmm signals --
	the 'blocked' flag of the SigC::ConnectionNode was just ignored.
	* glib/glibmm/signalproxy.cc (slot0_void_callback): ditto
	* glib/glibmm/propertyproxy_base.cc
	(SignalProxyProperty::callback): ditto.

2002-11-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/iochannel.{ccg,hg}: Fix typos/mistakes in comments.

2002-11-11  Murray Cumming  <murrayc@usa.net>

	* examples: Used regexxer to change all kit.run() lines to
	Gtk::Main::run() - it is a static method.

2002-11-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeiter.ccg (TreeIter::operator++): Get rid of the
	GLIBMM_INITIALIZE_STRUCT() -- the bug that required us to zero
	out the GtkTreeIter has been fixed months ago in GTK+ 2.0.3.
	(TreeIter::setup_end_iterator): ditto.
	(TreeIter::equal): For the same reason, reactivate the code
	that compares all user_data pointers.

2002-11-10  Murray Cumming  <murrayc@usa.net>

	* Reference docs: Added Toolbars module.

2002-11-10  Murray Cumming  <murrayc@usa.net>

	* gtk/src/bin.hg: remove(): Added documentation about the 
	automatically-created Viewport in ScrolledWindows.

2002-11-06  Murray Cumming  <murrayc@usa.net>

	* docs/FAQ/Makefile.am, docs/tutorial/Makefile.am,
	docs/reference/Makefile.am: Distribute generated html documentation.
	Note that the reference documentation must now be manually rebuilt
	with "make clean all" because Doxygen doesn't know when the source
	files have been updated.
	* scripts/docgen.m4: Make the --enable-fulldocs option default to yes,
	because people don't seem to be having problems with it.
	
2002-11-09  Murray Cumming  <murrayc@usa.net>

	* Added tests/scrolledwindow, for bug #97729 (Matthew Tuck).

2002-11-06  Murray Cumming  <murrayc@usa.net>

	* docs/FAQ/Makefile.am, docs/tutorial/Makefile.am: Correct make target
	dependencies. Don't mkdir the html directories - they are in cvs so 
	they will always exist.

2002-11-06  Murray Cumming  <murrayc@usa.net>

	* Makefile.am: Added post-html target to top-level build, though
	you still need to run make in each docs subdirectory manually - I don't
	know how to do recursive build targets other than "all". It also 
	uploads a tar.gz of the docs and examples directories, so that people 
	can use it offline.
	* docs/index.html: Added link to the docs tarball.

2002-11-05  Murray Cumming  <murrayc@usa.net>

	* examples/book/treeview: Added examples.
	* docs/tutorial/gtkmm-tut.xml: Included examples.

2002-11-04  Morten Brix Pedersen  <morten@wtf.dk>
        
        * Add gtkmm.spec.in. A file to help people create their own RPMs of
          gtkmm. Based on a spec file provided by Gary Peck.

2002-11-04  Murray Cumming  <murrayc@usa.net>

	* EventBox: Corrected reference documetation - it's not really 
	transparent. Suggested by Alex Pavloff.

2002-11-03  Ole Laursen  <olau@hardworking.dk>
 
	* docs/tutorial/gtkmm-tut.xml: Wrote the i18n chapter. Heavily rewritten by Murray Cumming.
	
2002-11-03  Xavier Dufresne  <xdufresne@gmx.fr>

	* examples/book/box/examplewindow.cc,
	examples/book/box/main.cc,
	examples/book/table/examplewindow.cc: #include <iostream>
	which fix compiler error.

2002-11-02  Daniel Elstner  <daniel.elstner@gmx.net>

	Emergency API addition, not breaking ABI (bug #97498):

	* gtk/src/windowgroup.hg (Gtk::WindowGroup::create): Add missing
	static method.
	(Gtk::WindowGroup ctor): Make it protected.

	* configure.in: Bump version to 2.0.1, .so version 2:0:1.

2002-10-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/FAQ/gtkmm-faq.xml: Update FAQ entries about exceptions,
	image file loading, and threads.

2.0.0:

2002-10-31  Michael v. Szombathely <szombath@bifab.de>

        * book/paned/messageslist.cc,
	cellrenderercustom/cellrendererlist.cc,
	cellrenderercustom/cellrenderertoggle.cc,
	cellrenderercustom/testpopup.cc: code removed, which was
	introduced to workaround a now resolved Sun Forte C++ compiler bug
	(not handling constructors with template parameters)
	* README.SUN: updated to newest compiler patch level
	
2002-10-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/cellrenderercustom/popupentry.cc: Fix compiler warnings.
	* examples/cellrenderercustom/cellrendererpopup.cc: Explicitely
	#include some GTK+ headers to avoid relying on indirect includes
	by gtkmm headers.

2002-10-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.{cc,h} (ustring::clear): Add missing method.
	This method is standard for all other STL containers but it wasn't
	mentioned in Stroustrup for std::string.  But since libstdc++-v3
	supports std::string::clear() unconditionally I guess this has been
	added to the standard.  It won't hurt anyway.

2002-10-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/notebook.ccg: Remove a default argument from a method
	definition's prototype, and clean up the code a bit.

2002-10-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/signalproxy.cc (slot0_void_callback): Don't try to
	invoke a signal on a disassociated wrapper.  We already prevent
	this in the m4 generated callbacks and this one slipped through.

2002-10-30  Murray Cumming  <murrayc@usa.net>

	* gtk/src/notebook.[hg|ccg]: Moved some Notebook_Helpers implementation
	into the .cc file.

2002-10-30  Murray Cumming  <murrayc@usa.net>

	* docs/FAQ: Converted it from SGML to DocBook XML.

2002-10-30  Murray Cumming  <murrayc@usa.net>

	* docs/FAQ/gtkmm-faq.sgml: Added some questions to counter the 
	incorrect information in the inti project's FAQ.

2002-10-28  Murray Cumming  <murrayc@usa.net>

	* Gtk::AspectFrame: Added a constructor that uses Gtk::AlignmentEnum
	as an alternative to the float.

2002-10-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/unicode.hg (Glib::Ascii::tolower): Ooops, forgot to
	wrap this function.  I think the API addition is justified because
	it doesn't break anything (not even the ABI since it's inline).
	Furthermore, we already have Glib::Unicode::tolower() thus lacking
	Glib::Ascii::tolower() would be annoyingly inconsistent.
	(Glib::Ascii::toupper): ditto.

2002-10-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.cc (MainContext::check): As in query(),
	prefer the clear reinterpret_cast<GPollFD*>(&fds.front()) over the
	innocent-looking fds.front().gobj() -- we might as well say what
	we're doing and what semantics are required.

2002-10-26  Daniel Elstner  <daniel.elstner@gmx.net>

	Last minute API fix:

	* gtk/src/box.hg (Box::pack_start): Remove the 'bool fill = true'
	default argument to avoid overloading ambiguities.
	(Box::pack_end): ditto.

	* gtk/src/image.hg (Image::Image(const Glib::ustring&)): Change
	argument type to std::string because it's a filename.
	(Image::set(const Glib::ustring&)): ditto.

2002-10-26  Daniel Elstner  <daniel.elstner@gmx.net>

	Last minute API fix:

	* glib/glibmm/ustring.h (ustring_Iterator): Change the reference
	typedef from void to value_type.  Although the iterator doesn't
	actually support reference access, the typedef must be functional
	so that adaptors like std::reverse_iterator<> can work.
	* glib/glibmm/arrayhandle.h (ArrayHandleIterator): ditto
	* glib/glibmm/listhandle.h (ListHandleIterator): ditto
	* glib/glibmm/slisthandle.h (SListHandleIterator): ditto
	* glib/src/fileutils.hg (DirIterator): ditto.

2002-10-24  Murray Cumming  <murrayc@usa.net>

	* Fixed atk/atkmm-1.0.pc.in too.

2002-10-24  Murray Cumming  <murrayc@usa.net>

	* gdk/gdkmm-2.0.pc.in, glib/glibmm-1.0.pc.in, 
	pango/pangomm-1.0.pc.in: Make pkg-config report the new library
	names, such as -lglibmm-1.0.

2002-10-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/exceptionhandler.cc: Add a few comments.
	(Glib::add_exception_handler): Make this function exception-safe.

2002-10-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/exception/exceptiontest.cc: Code cleanup.  An example
	that demonstrates exception handling should itself be entirely
	exception-safe :)

2002-10-23  Christof Petig  <christof@petig-baender.de>

	* gtk/gtkmm/menu_elems.*: provide constructors for a StockMenuElems
	with a submenu
	* examples/book/menus/main_menu/examplewindow.*: test it

2002-10-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* pango/src/attributes.hg (Attribute::get_string): Use _MEMBER_GET()
	instead of _MEMBER_GET_PTR(), and return a Glib::ustring.
	(AttributeTraits): New traits type for use with container handles.

	* pango/src/attriter.{ccg,hg} (AttrIter::get_extra_attrs): Return
	Glib::SListhandle<Attribute,AttributeTraits>.
	* pango/src/item.{ccg,hg} (Analysis::get_extra_attrs): ditto.

	* pango/src/item.{ccg,hg} (Item::get_analysis): Implement manually
	rather than using _MEMBER_GET_PTR().  This isn't a pointer and
	returning const objects by value is pointless most of the time.
	(ItemTraits): New traits type for use with container handles.

	* pango/src/context.{ccg,hg} (Context::itemize): Return
	Glib::ListHandle<Item,ItemTraits>.

	* pango/src/layoutrun.hg (LayoutRun::get_item): Don't use
	_MEMBER_GET_PTR().  See above.
	(LayoutRun::get_glyphs): ditto.

2002-10-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/tutorial/gtkmm-tut.xml: Fix section on Intermediate Types.

2002-10-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/property.h: Don't use extern "C" for callback
	functions that will be invoked from C code.  Strictly speaking, the
	use of extern "C" for such callbacks is required.  The problem is
	that gtkmm already relies on identical calling conventions in C and
	C++ in countless places, thus declaring some of them extern "C" is
	rather pointless.  What's worse is that extern "C" makes the linker
	silently ignore namespaces (because there's no such thing in C)
	which could lead to ABI clashes if we're not careful.
	* glib/src/spawn.ccg: ditto
	* gtk/src/treemodel.ccg: ditto
	* gtk/src/treeselection.ccg: ditto.

2002-10-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/demos.h: Fix build with --enable-warnings=hardcore.
	* demos/gtk-demo/demowindow.cc: ditto
	* demos/gtk-demo/example_appwindow.cc: ditto
	* demos/gtk-demo/example_menus.cc: ditto
	* demos/gtk-demo/example_pixbufs.cc: ditto.

2002-10-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/macros.m4 (GTKMM_ARG_ENABLE_WARNINGS): New m4 macro
	providing the --enable-warnings configure option.  Possible warning
	levels are: none, minimum, maximum, hardcore.  The latter enables
	-Werror.  minimum is the default and enables -Wall only.

	* configure.in: Make use of GTKMM_ARG_ENABLE_WARNINGS().  If you're
	brave enough try --enable-warnings=hardcore.  gtkmm itself builds
	fine with this option and GCC 3.2, but the demos probably won't.

	* gtk/src/menu.ccg (SignalProxy_*): More cleanups: 1) Add try/catch
	blocks to all callbacks.  2) Get rid of the bug-hiding NULL pointer
	checks -- it should either crash or run into a g_assert(); but just
	ignoring errors is evil.  3) Move all SignalProxy_* classes into the
	anonymous namespace.  This stuff is pure implementation and should
	not be exported.
	* gtk/gtkmm/clipboard.cc (SignalProxy_*): ditto.

2002-10-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/signal.m4: In the signal_foo_notify_callback(), don't
	forget to check whether the instance still has a C++ wrapper.  We
	already did this in signal_foo_callback() but it should be done in
	both.  As a side effect, we got rid of all warnings due to unused
	parameters.

	* gtk/src/treeview.ccg (SignalProxy_ColumnDrop::gtk_callback):
	Thanks to the warnings cleanup a real problem became visible in
	this function:  column was passed 3 times to the slot but
	prev_column and next_column were just ignored.

	* gtk/src/treeview.ccg (SignalProxy_*): 1) Add try/catch blocks to
	all callbacks.  2) Get rid of the bug-hiding NULL pointer checks --
	it should either crash or run into a g_assert(); but just ignoring
	errors is evil.  3) Move all SignalProxy_* classes into the
	anonymous namespace.  This stuff is pure implementation and should
	not be exported.

2002-10-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Add documentation for (almost) all
	non-standard Glib::ustring methods.

2002-10-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/debug.h: Improve the output of the refcounting debug
	macros and use G_LOG_LEVEL_DEBUG to distinguish them from warnings.
	Also, use proper G_STMT_START{ ... }G_STMT_END constructs so that
	these macros can be used almost like functions.

	* scripts/macros.m4 (GTKMM_ARG_ENABLE_DEBUG_REFCOUNTING): New m4
	macro providing the --enable-debug-refcounting configure argument.

	* configure.in: Use GTKMM_ARG_ENABLE_DEBUG_REFCOUNTING().
	* glib/glibmmconfig.h.in: #undef GTKMM_DEBUG_REFCOUNTING.

	* glib/glibmm/objectbase.cc: Use new GTKMM_DEBUG_REFERENCE()
	rpt. GTKMM_DEBUG_UNREFERENCE() macro syntax.
	* glib/glibmm/containerhandle_shared.h: ditto
	* gtk/src/object.ccg: ditto.

2002-10-21  Murray Cumming <murrayc@usa.net>

	* Library names changed from 1.3 to 2.0, and 0.0 to 1.0, in 
	anticipation of the binary API freeze.

2002-10-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/container.ccg (Gtk::Container::destroy_callback):
	Don't reference the *container* on each iteration.  Actually
	the code was supposed to ref the child widget, but even that
	isn't really necessary at this point.

2002-10-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/container.ccg (Gtk::Container::destroy_callback):
	Fix fatal typo.

2002-10-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_images.cc: Explicitely close the
	Gdk::PixbufLoader stream on destruction, as requested by the
	annoying GDK warning we got all the time.

2002-10-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_images.cc: Adapt to Gdk::PixbufLoader
	changes, and convert the example to use Glib::IOChannel for file
	access.

	* demos/gtk-demo/example_drawingarea.cc: Fix some warnings and
	tidy up the code a bit.
	* demos/gtk-demo/example_sizegroup.cc: ditto
	* demos/gtk-demo/example_treeview_editable_cells.cc: ditto.

2002-10-21  Murray Cumming  <murrayc@usa.net>

	* Gtk::Container_Class:destroy_callback(): dynamic_cast<> child
	widgets to Widget*, instead of Container*, of course. This seems to fix
	lots of lifetime bugs.

2002-10-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/iconfactory.hg (Gtk::IconFactory::add): Fix constness
	of icon_set parameter.
	* tools/convert_gtk.m4: Add necessary conversion.

2002-10-19  Daniel Elstner  <daniel.elstner@gmx.net>

	API changes breaking binary compatibility:

	* gdk/src/pixbufloader.{ccg,hg} (Gdk::PixbufLoader ctor): Throw
	an exception rather than using an ugly GError* output argument.
	(create): ditto
	(write): ditto
	(close): ditto.

2002-10-19  Daniel Elstner  <daniel.elstner@gmx.net>

	More API additions:

	* gdk/src/pixbuf.{ccg,hg} (Gdk::Pixbuf::create_from_data): Wrap
	missing method.
	(create_from_inline): ditto.

	* tools/m4/convert_gdk.m4: Add guint8 <-> guchar conversions.
	* tools/m4/convert_glib.m4: Remove some wrong conversions.

2002-10-18  Daniel Elstner  <daniel.elstner@gmx.net>

	Binary compatible API changes:

	* gtk/src/treemodel.hg (Gtk::TreeModel::row_changed):
	Wrap missing method.
	(row_inserted): ditto
	(row_has_child_toggled): ditto
	(row_deleted): ditto
	(rows_reordered): ditto.

	* configure.in: Bump version to 1.3.27.

1.3.26:

2002-10-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/utility.h (GLIBMM_INITIALIZE_STRUCT): Don't use
	__builtin_bzero() unless the compiler is GCC >= 2.96.  Fixes build
	with GCC 2.95.4.

1.3.25:
	
2002-10-17  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm-tut.xml: Started to remove inline example code, 
	replacing it with links to the actual example code. We might process 
	the XML in future to insert the code automatically.
	* Documentation now uploads to /gtkmm2/docs to allow relative links
	to the examples.

2002-10-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/tutorial/gtkmm-tut.xml: Fix hello world example; the colon
	preceding the initializer list was missing.  Globally substitute
	kit.run() with Gtk::Main::run() to avoid confusion because of the
	bizarre syntax used to call a static method.

	I also started fixing the timeout intro but gave up quickly due
	to the large amount of outdated inline example code, which Murray
	wants to replace with links anyway.

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Add a paragraph about ustring vs. streams
	to the Glib::ustring class documentation.

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* PORTING: set_usize() should be replaced with set_size_request(),
	not set_default_size().
	Reported by Jussi Pakkanen <jpakkane@yahoo.com>

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.h (IOCondition): Wheee, it's operator|=() not
	operator|(), likewise for & and ^.  This must be the dumbest error
	I ever made.  Shudder.

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.cc (glibmm_source_get_callback_data): Ooops,
	forgot the return value for g_return_val_if_fail().  Fixed.

2002-10-15  Martin Schulze  <MHL.Schulze@t-online.de>

	* glib/glibmm/main.{cc,h}: Add SignalIO::connect() and
	IOSource::create() overloads that take a
	const Glib::RefPtr<IOChannel>&.

	* glib/src/iochannel.{ccg,hg}: Add IOChannel::create_watch().

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textbuffer.{ccg,hg} (TextBuffer::insert_interactive):
	Return std::pair<iterator,bool> rather than just the iterator,
	since iter == end() isn't a sufficient indicator that the
	insertion failed.  This is an incompatible API change, see
	gtkmm-list for information.
	(erase_interactive): ditto.

2002-10-16  Murray Cumming <murrayc@usa.net>

	* book: Started to add screenshots of examples. 

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeview.{ccg,hg} (TreeView::unset_hadjustment): New
	method adding the possibility to unset the adjustment object.
	This is the equivalent of gtk_tree_view_set_hadjustment(foo, 0)
	in GTK+.
	(unset_vadjustment): ditto
	(unset_expander_column): ditto.
	(set_cursor): New overload taking only the TreePath argument.
	This is another necessary API addition due to the usage of NULL
	pointers in GTK+.

	* gtk/src/textview.hg: Minor beautification.

2002-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeview.{ccg,hg} (TreeView::map_expanded_rows): Make
	slot a const reference argument.  The missing & was probably a
	typo.
	(enable_model_drag_source): Get rid of GtkTargetEntry* in favor
	of the corresponding C++ type.  This requires the method to be
	implemented manually since we need an ArrayHandle.
	(enable_model_drag_dest): ditto.

2002-10-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/thread.cc: Write to std::cout instead of
	std::cerr and flush() the stream explicitely.  (The implicit
	flushing is the only reason why std::cerr has been used.)
	* examples/thread/threadpool.cc: ditto.

2002-10-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/enum.m4: Generate all bitwise operators for flags
	enumerations, rather than just 3 (| & ~).  It's hard to judge
	which ones are necessary and which not, and there is no
	particular reason to exclude any of them.

	* glib/glibmm/main.h (Glib::IOCondition): Manually implement the
	missing bitwise operators.

	* glib/glibmm/main.cc: Minor coding style adaption.

2002-10-15  Daniel Elstner  <daniel.elstner@gmx.net>

	Glib::IOChannel patch from Tassos Bassoukos <abas@aix.meng.auth.gr>
	with major modifications.  See bugzilla #93585 for the originally
	submitted patch.

	* glib/src/iochannel.{ccg,hg}: New files implementing class
	Glib::IOChannel, which wraps GIOChannel.

	* glib/glibmm/streamiochannel.{cc,h}: New files implementing
	class Glib::StreamIOChannel, which provides the Glib::IOChannel
	interface for standard C++ streams.

	* glib/src/glib_enums.defs: Fix several enumeration values that
	weren't parsed correctly.  This is obviously quick and dirty,
	I should fix tools/enum.pl instead.

	* glib/glibmm/error.{cc,h} (Glib::Error::propagate): New internal
	utility method for use by the Glib::IOChannel code.

	* tools/m4/convert_glib.m4: New file defining glibmm-specific
	type conversions.
	* tools/m4/convert_base.m4: Include convert_glib.m4
	* tools/m4/convert_gtkmm.m4: ditto.

	* glib/glibmm/Makefile.am: Add new files
	* glib/src/Makefile_list_of_hg.am_fragment: ditto
	* tools/m4/Makefile_list_of_sources.am_fragment: ditto
	* glib/glibmm.h: ditto.

2002-10-12  Murray Cumming  <murrayc@usa.net>

	* gdk/src/gc.hg: _IGNORE()ed some convenience functions.

2002-10-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textbuffer.ccg (TextBuffer::insert_with_tags_by_name):
	Don't return immediately if an invalid tag name is in the array,
	because there are others following and we should try to apply all
	of them.

2002-10-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textbuffer.{ccg,hg}: Gtk::TextBuffer API changes for STL
	compliance, probably breaking stuff:
	(insert_at_cursor): Don't return the insertion point.  That's a)
	not STL compliant since the returned iterator should point *after*
	the inserted range, and b) useless since easy to retrieve.
	(insert_range): Rename to insert().
	(insert_range_interactive): Rename to insert_interactive().
	(delete_text): Rename to erase().
	(delete_interactive_text): Rename to erase_interactive().
	(delete_selection): Rename to erase_selection().
	(insert_child_anchor): Return an iterator.
	(paste_clipboard): New overload without override_location.
	(signal_insert_text): Rename to signal_insert().
	(signal_delete_range): Rename to signal_erase().
	(assign): New alias method for set_text().
	Also fix several occasions of supiciously-looking code dealing
	with iterators.

	* demos/gtk-demo/example_textview.cc: Fix invalid iterator warnings.
	* demos/gtk-demo/textwidget.cc: s/delete_text/erase/

2002-10-12  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm/clipboard.[h|cc]: Documented Slot types. Slots are now 
	passed as const &. Added const overload of get_owner().

2002-10-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textiter.hg (TextIter::operator bool): Return !is_end()
	rather than is_end().  Ouch -- am I really the first one to notice
	this?  Also update reference documentation.

2002-10-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/convert_pango.m4: Add conversion for Pango::Language.

	* gtk/src/textiter.{ccg,hg}: Gtk::TextIter API changes (all safe,
	except for the get_language() change none of these modifications
	will make existing code not compile):
	(iterator_category): Change to bidirectional_iterator_tag.
	(reference): Impossible -- make it the same as value_type.
	(pointer): Impossible -- make it a void typedef.
	(operator--): Implement.
	(operator*): Return by value not reference.
	(operator->): Remove.
	(get_marks): Change to const method
	(get_child_anchor): ditto
	(get_toggled_tags): ditto
	(get_tags): ditto
	(forward_search): ditto
	(backward_search): ditto.
	(get_language): s/PangoLanguage*/Pango::Language/
	(forward_find_char): Make predicate a const reference
	(backward_find_char): ditto.
	Also, make all operators inline since they're just plain
	forwarders to the real methods.

2002-10-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeview.{cc,hg} (TreeView::scroll_to_cell): Split
	up this method into scroll_to_cell(), scroll_to_row() and
	scroll_to_column() with 2 overloads each, i.e. 6 methods.  Also
	document all 6 of them.  The API change is justified by the fact
	that scrolling to a row without changing the column and vice
	versa was impossible with the old API.

2002-10-11  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/textbuffer.{ccg,hg} (TextBuffer::create_mark):
	Add missing overload to create anonymous marks.

2002-10-11  Murray Cumming  <murrayc@usa.net>

	* Changed all copyrights to The gtkmm Development Team.

2002-10-11  Daniel Elstner  <daniel.elstner@gmx.net>

	Fix most warnings issued by g++-3.2 -pedantic -W -Wall:

	* gdk/src/color.ccg: Explicitely initialize all struct members,
	not just the first.  GCC 3.2 is pickier than ever before.
	* glib/glibmm/class.cc: ditto
	* glib/glibmm/dispatcher.cc: ditto
	* gtk/src/stockitem.ccg: ditto
	* tools/extra_defs_gen/generate_extra_defs.cc: ditto

	* glib/glibmm/utility.h (GLIBMM_INITIALIZE_STRUCT): Use
	__builtin_bzero() instead of compound literals to avoid warnings
	because of not explicitly initialized struct members.

	* glib/glibmm/main.cc (Source::dispatch_vfunc): Omit unused
	parameter name.
	* glib/glibmm/propertyproxy_base.cc (callback): ditto
	* gtk/src/treemodel.ccg (TreeModel::set_value_impl): ditto
	* gtk/src/treeviewcolumn.ccg (generate_cellrenderer): ditto

	* glib/glibmm/error.cc: In the copy ctor explicitely call the
	base class's (copy) ctor.  This warning really makes sense.
	* tools/m4/list.m4: ditto

	* glib/glibmm/signalproxy_connectionnode.cc: Reorder initializer
	list to match declaration order.  That's not a new warning!

	* glib/src/value_basictypes.cc.m4: Prevent warnings about long long
	by using typedefs prefixed by G_GNUC_EXTENSION.

	* gtk/gtkmm/menu_elems.cc: An unused accel_key parameter in one of
	the ctors caused a warning.  This was an actual bug -- fixed.

	* gtk/src/box.ccg (Child::set_options): padding was unused.
	Another actual bug -- enable compiler warnings, dudes!

	* gtk/src/object.ccg (Object::_init_unmanage): is_toplevel is
	unused -- I commented it out for now, though I'm not sure whether
	this is right. (could someone please investigate?)
	(Object::callback_destroy_): Omit unused parameter name.

	* gtk/src/textiter.ccg (TextIter::get_attributes): Remove the
	initializer for GtkTextAttributes (thereby avoiding a warning)
	and add a comment explaining that it isn't strictly necessary.

	* pango/src/attributes.ccg (get_type): Fix enum type mismatch.

2002-10-11  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/entry.hg (Entry::get_layout): Add missing "refreturn".

	* gtk/gtkmm.h: Include treemodel.h and treerowreference.h.

2002-10-09  Murray Cumming  <murrayc@usa.net>

	* Now requires libsigc++ 1.2.0.

1.2.24:
	
2002-09-23  Martin Schulze  <MHL.Schulze@t-online.de>
 
 	* glib/glibmm/main.{cc,h} (Glib::Source): Change the implementation
 	of Glib::Source. Now it doesn't use a derived but rather a native
 	GSource object and installs a SourceCallbackData on construction
 	that contains both the pointer to the c++ wrapper and the pointer
 	to the connection node that is currently used (i.e. 0 until a slot
 	is connected). Glib::Source::finalize() is replaced with
 	Glib::Source::destroy_notify_callback() which gets called when the
 	SourceCallbackData object is notified from glib.
 	The change allows us to wrap existing GSource objects. A new
 	Glib::Source(GSource*, GSourceFunc) ctor is added to support this.
	
2002-10-06  Stephan Puchegger  <stephan.puchegger@ap.univie.ac.at>

 	* API additions to Glib::TimeVal - convenience methods rather than 
	wrappers of glibmm functions.
	
2002-10-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/convert.{ccg,hg} (Glib::IConv): Add reset() method
	which provides an obvious and portable way of resetting the
	conversion descriptor.

	* glib/src/convert.ccg (Glib::IConv::IConv): Get around the
	untranslated error message problem by abusing g_convert() to
	generate the GError for us.  Might be slightly unorthodox but
	neatly avoids any inconsistencies with GLib.

2002-10-02  Murray Cumming  <murrayc@usa.net>

	* Added Gdk::screen_height() and Gdk::screen_width() in the new 
	gdk/gdkmm/general.[h|cc] files.

2002-10-02  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/main.h: Added documentation line from 
	ebuddington@wesleyan.edu about SignalIO disconnection based on 
	handler's return type.

2002-09-30  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm-tut.xml: Made the Basics chapter more basic, 
	moving detailed information into the appendices and the Container 
	Widgets chapter. This chapter should do no more than introduce basic 
	things such as widgets and signals.
	* docs/index.html: Updated links for renumbered book chapters.

2002-09-25  Mike McEwan  <mike@lotusland.demon.co.uk>

	* gtk/src/textmark.ccg (get_iter): Do a reference on the
	Glib::RefPtr<TextMark>(this) passed to Gtk::TextBuffer::get_iter_at_mark().

2002-09-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/paned/paned.cc: Get rid of g_strdup_printf()
	in favor of std::ostringstream.

2002-09-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher2.cc: Remove unnecessary #include.

2002-09-21  Stephan Puchegger  <puchs@ap.univie.ac.at>

	* examples/thread/dispatcher2.cc: New example demonstrating
	the use of Glib::Dispatcher with multiple main loops.

	* examples/thread/Makefile.am: Add new example file.

2002-09-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* tests/dialog_deletethis/main.cc: Add missing #include <iostream>
	as well as a missing namespace std:: prefix.

2002-09-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.{cc,h} (Glib::Source): Make the static
	vfunc_table_ data const.

2002-09-21  Stephan Puchegger  <puchs@ap.univie.ac.at>

	* glib/glibmm/dispatcher.{cc,h} (Glib::Dispatcher): Add extra
	ctor which accepts an arbitrary Glib::MainContext instance to
	operate on.  (#93694)

2002-09-20  Murray Cumming  <murrayc@usa.net>

	* Added platform-specific READMEs to the docs overview page.

2002-09-20  Murray Cumming  <murrayc@usa.net>

	* gtk/src/object.ccg: Container_Class::destroy_callback():
	Added a g_object_ref before the gtk_container_remove for
	un-manage()ed child widgets, so that they are not destroyed before
	their C++ destructors destroy them with gtk_object_destroy().

2002-09-20  Murray Cumming  <murrayc@usa.net>

	* Added tests/dialog, for bug #93703.

2002-09-19  Murray Cumming  <murrayc@usa.net>

	* reference documentation: Hid TypeTraits and Value
	specializations. Added libsigc++ reference docs URL to overview page.

2002-09-18  Christian Meyer  <chrisime@gnome.org>

	* docs/internal/using_gtkmmproc.txt: added how _CLASS_GOBJECT() and
	_CLASS_GTKOBJECT() work. _CLASS_GOBJECT() is still "FIXME".

2002-09-18  Murray Cumming  <murrayc@usa.net>

	* Updated the FAQ, with information about the gcc 2.9*
	dynamic_cast<> bug, and gcode.

2002-09-18  Murray Cumming  <murrayc@usa.net>

	* docs/reference/Doxyfile.in: Generate a doxygen tags file, for
	use by other doxygen docs, such as the gnomemm docs.

2002-09-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Doxyfile.in: Predefine the macro GTKMM_API to
	an empty string, so that it won't mess up the documentation.

	* docs/reference/Makefile.am: Add all image directories that have
	been found to DOXYGEN_IMAGE_PATH, not just the first.  (In other
	words, make it work for me ;)

	* gtk/gtkmm/stock.h (Gtk::Stock::MISSING_IMAGE): Correct the
	@image link to stock_broken_image_24.png (it hasn't been correct
	before because of a GTK+ doc bug at the time I wrote this).

2002-09-16  Murray Cumming  <murrayc@usa.net>

	* gtk/src/textbuffer.ccg: Removed a default parameter value from
	the method definition.

1.3.23:

2002-09-15  Murray Cumming  <murrayc@usa.net>

	* gtk/src/container.ccg: Container_Class::destroy_callback(): We
	don't remove child widgets if they are not manage()ed, so that
	gtk_container_destroy will call destroy them
	properly. gtk_widget_destroy() will always succeed, but
	gtk_container_remove() isn't guarranteed to cause destruction.
	It is now clear that this callback was necessary, not just as a
	refcount hack - we really do need to remove non-manage()ed
	widgets, because SINKing them does not prevent them from being
	destroyed in gtk_container_destroy().
	
2002-09-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/gtkmm/menu_elems.h gtk/src/object.hg: Remove extra
	qualification of class members inside the class declaration,
	in order to avoid compiler warnings.

2002-09-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/miscutils.cc (build_filename): The 2-argument
	convenience overload of build_filename() did not strip trailing
	rpt. leading separators from its arguments.  Fixed to match the
	other build_filename() and the documentation.

2002-09-13  Bassoukos Tassos  <abas@aix.meng.auth.gr>

 	* tools/m4/method.m4, tools/pm/Function.pm, tools/pm/Output.pm: 
 	implemented an "errthrow" flag to _WRAP_METHOD, which generates code
	to throw GErrors as exceptions in automatically wrapped methods.
	When using this flag, omit the trailing GError** parameter from the
 	signature of the 1st argument to _WRAP_METHOD.

2002-09-13  Murray Cumming  <murrayc@usa.net>

	* Glib::Dispatcher: Put emit() back. It is in SigC::Signal*, but
	not in Slots.

2002-09-13  Murray Cumming  <murrayc@usa.net>

	* Glib::Dispatcher: removed emit(), leaving the operator()
	overload, like libsigc++ signals.

2002-09-12  Murray Cumming  <murrayc@usa.net>

	* Pango::Attributes, Color, Language: Changed some std::string
	parameters to Glib::ustring because there is no reason to believe
	that they can not be UTF8.

2002-09-12  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView::Column(): set_widget() now takes a Gtk::Widget&
	rather than a GtkWidget*. Suggested by Andrew E. Makeev.

2002-09-12  Murray Cumming  <murrayc@usa.net>

	* gtk/src/widget.hg, style.hg, iconset.hg: Changed includes so
	that people have to include widget.h manally when using iconset.h,
	rather then having to include style.h manually when using
	widget.h. This should have less impact.

2002-09-11  Murray Cumming  <murrayc@usa.net>

	* Gtk::Style: wrapped the virtual functions, as suggested by 
	Andrew S. Novikov.

2002-09-11  Murray Cumming  <murrayc@usa.net>

	* gtk/src/textbuffer.[hg|ccg]: Added Gtk::TextBuffer::get_text()
	overload to get all of the text. Suggested by Michael Gariss.

2002-09-08  Marcelo E. Magallon <mmagallo@debian.org>

 	* tools/pm/Enum.pm, tools/pm/Function.pm, tools/pm/GtkDefs.pm,
 	tools/pm/Output.pm, tools/pm/WrapParser.pm: fix sub prototypes.
 	Perl doesn't use commas to separate arguments.
	
2002-09-04  Martin Schulze <MHL.Schulze@t-online.de>

	* api_status.txt: Reflect recent API additions to pangomm.
	* TODO: Add TODO item about adding some pangomm examples.
	* tools/pm/DocParser.pm: Comment out conditional if-clause
	around conversion from C documentation to C++. It prevented
	conversion of the documentation in *_docs_override.xml which
	currently is in the same style as *_docs.xml and lead to results
	mistakes in our overridden gtk documentation.
	* pangomm/src/attributes.hg:
	- Make Attr* default constructors protected. They don't construct
	legal attribute objects. Attribute::Attribute() constructs an
	object with gobject_==0. This is handled as if it were an attribute
	type ATTR_INVALID and allows wrapping of 0 ret vals from pango functions.
	- Change const char* into std::string& or const Glib::ustring&.
	* pangomm/src/attriter.ccg: Correct bug in AttrIter::get_font().
	(Taken a hint in pagno c ref doc serious :)
	* pangomm/src/attriter.hg:
	- Rename AttrIter::get() to AttrIter::get_attribute().
	- Rename AttrIter::range() to AttrIter::get_range().
	* pangomm/src/attrlist.hg: Add default argument for: explicit
	AttrList::AttrList(const Glib::ustring&, gunichar accel_marker=0).
	* pangomm/src/color.hg: Change const char* into const std::string&.
	* pangomm/src/context.{hg,ccg}:
	 - Remove _WRAP_CREATE(). It can't possibly initialize the Pango::Context
	  correctly because some PangoFontMap is needed from a pango backend.
	- Add function overload for Context::get_metrics() without any
	  argument. Passes 0 into the language arg of the pango function.
	- Remove "length" parameter in Context::itemize() for the simple overload.
	  Compute the length from the passed text argument instead.
	* pangomm/src/coverage.{hg,ccg}:
	- Change Coverage::to_bytes() to return a Glib::ArrayHandle instead of guchar*.
	- Remove Coverage::copy(). The pango docs state that is is superfluous.
	* pangomm/src/font.hg:
	- Add function overload for Font::get_metrics() without any
	  argument. Passes 0 into the language arg of the pango function.
	- Rename Font::get_glyph_extents_{ink,logical}_rect_only() to
	  Font::get_glyph_{ink,logical}_extents() and make them return a Rectangle.
	* pangomm/src/fontdescription.hg: Remove
	FontDescription::{set_family_static,merge_static}. These functions
	can cause memory leaks. See comments in fontdescription.hg.
	* pangomm/src/glyph.{hg,ccg}:
	- Add Glib::wrap(PangoGlyphInfo*). I forget it last time.
	- Comment out set_* in GlyphInfo and GlyphGeometry. They don't make sense
	  as GlyphInfo and GlyphGeometry are merely output classes to the user.
	* pangomm/src/glyphstring.{hg,ccg}:
	- Add GlyphString::GlyphString(const Glib::ustring&, const Analysis&).
	  This wraps pango_shape which didn't do up to now.
	- Make GlyphString::get_logical_widths(), GlyphString::index_to_x() and
	  GlyphString::x_to_index() calculate the size from the passed text
	  parameter rather than demanding an extra argument.
	  GlyphString::get_logical_width() now allocaltes an array to store the
	  results rather than expecting the user to do this and index_to_x()
	  returns the result instead of using an ouput argument.
	- Added overloads that return one Rectangle for get_extents().
	- Make GlyphString::get_logical_widths() return a Glib::ArrayHandle<int>.
	* pangomm/src/item.{hg,ccg}: Add Item::get_segment() and Item::shape().
	The former computes the text segment that is covered by the item
	(convenience one-line-function not available in pango), the latter
	wraps the new GlyphString constructor and thus pango_shape().
	* pangomm/src/language.{hg,ccg}:
	- Add Language::Language() that constructs an object with gobject_==0.
	- Adapt Language::get_string to allow for objects with gobjct_==0.
	- Change const char* into std::string.
	* pangomm/src/layout.{hg,ccg}:
	- Bug fix: use text.bytes() instead of text.size().
	- Bug fix: use refreturn parameter of _WRAP_METHOD for
	  Layout::get_context() and Layout::get_line().
	- Make Layout::index_to_pos() return a rectangle instead of expecting an
	  output argument.
	* pangomm/src/layoutiter.{hg,ccg}:
	- Bug fix: use refreturn parameter of _WRAP_METHOD for LayoutIter::get_line().
	- Make LayoutIter::get_char_extents() return a rectangle instead of
	  expecting an output argument.
	- Make LayoutIter::get_run() return a LayoutRun object.
	* pangomm/src/layoutline.{hg,ccg}:
	- Make index_to_x() return an int instead of using an output argument.
	- Make get_x_ranges() return a Glib::ArrayHandle<std::pair<int,int> >.
	* pangomm/src/layoutrun.{hg,ccg}: New files adding wrapper LayoutRun.
	* pangomm/src/tabarray.{hg,ccg}: Make TabArray::get_tab() return a
	std::pair<TabAlign,int> instead of using two output arguments.
	* pangomm/src/Makefile_list_of_hg.am_fragment: Add new file.
	* tools/m4/convert_pango.hg: Add entries for the new wrapper LayoutRun.
	* pangomm/src/{*.hg,*.ccg}:
	- Make lots of get_* and other functions const.
	- Add more functions like Layout::get_ink_extents() where pango functions
	  use two PangoRectangle* output arguments.
	- Add lots of documentation. Hopefully some things I had to learn the
	  hard way become clear in the class description of
Pango::Context!
	
2002-09-01  Martin Schulze <MHL.Schulze@t-online.de>

	* {pango,atk,gdk}/src/{pango,atk,gdk}_docs.xml: New files holding
	the GTK C docs for these namespaces. They were generated by the
	pygtk/codegen/docextract_to_xml.py python script in the gnome-python
	cvs module. Glib is omitted because no docs can be reused.
	* {pango,atk,gdk}/src/{pango,atk,gdk}_docs_override.xml:
	New files that will hold documentation for functions where
	the GTK docs are not appropriate.
	* {pango,atk,gdk}/src/Makefile.am: Include above files
	in the 'files_defs' variables so they get passed to gtkmmproc.

2002-08-29  Michael v. Szombathely <szombath@bifab.de>

	* README.sun: build instructions for Sun Forte C++ added

1.3.22:
	
2002-08-28  Michael v. Szombathely <szombath@bifab.de>
	
 	* gtk/src/table.hg, examples/dnd/dndwindow.cc,
	docs/tutorial/gtkmm-tut.xml: use of AttachOptions around 
	operator| removed
	
2002-08-28  Michael v. Szombathely <szombath@bifab.de>

	* tools/m4/convert_pango.m4: for Pango::Layout and
 	Pango::LayoutLine conversion of const RefPtr's changed to special
 	macro __CONVERT_CONST_REFPTR_TO_P_SUN, to avoid ambiguity errors
 	with Sun's Forte C++ compiler.

2002-08-26  Martin Schulze  <MHL.Schulze@t-online.de>

	* tools/m4/members.m4:
	- Improve indentation of generated code.
	- _MEMBER_SET_PTR, that hasn't been used up to now, shouldn't
	force us to have const XYZ& in the parameter list. We might
	want it to take XYZ* to transfer the ownership of XYZ.
	(=> change def. to "define(`_MEMBER_SET_PTR',`void set_$1($3 v)..." )
	- Delete wrong ";" in _MEMBER_SET_GOBJECT/SECTION_CC
	* tools/m4/convert_pango.m4: Reorder the entries to improve
	readability and adopt to changes in pangomm.
	TODO: verify usage of Pango::XYZ(($3)) versus Glib::wrap(($3))

	* pango/src/rectangle.{ccg,hg}: New files adding wrapper
	Pango::Rectangle.
	* pango/src/language.{ccg,hg}: New files adding wrapper
	Pango::Lanuage.
	* pango/src/color.{ccg,hg}: New files adding wrapper
	Pango::Color.
	* pango/src/item.{ccg,hg}: New files adding wrappers
	Pango::Item, Pango::Analysis.
	* pango/src/glyph.{ccg,hg}: New files adding wrappers
	Glyph, GlyphUnit, GlyphInfo, GlyphGeometry, GlyphVisAttr.
	* pango/src/attributes.{ccg,hg}: Add missing wrapper classes
	Pango::Attribute, Pango::Attr[XYZ]. Attributes are created using
	the appropriate function Pango::Attribute::create_attr_xyz().
	If necessary, one can cast a Pango::Attribute* to the appropriate
	subclass Pango::Attr[XYZ] to retrieve and manipulate the type
	specidic data of the attribute.
	* pango/src/attriter.{ccg,hg}: Add missing wrapper class Pango::AttrIter.
	(I named it Pango::AttrIter rather than the obvious Pango::AttrIterator
	to be consistent with the naming of other iterator classes.)
	* pango/src/attrlist.{ccg,hg}: Make use of the new wrapper classes.
	* pango/src/Makefile_list_of_hg.am: Add new filenames.

	* pango/src/{attrlist.hg,context.hg,coverage.hg,font.{ccg,hg},
	fontdescription.hg,fontface.hg,fontfamily.hg,fontmap.hg,fontmetrics.hg,
	glyphstring.{hg,ccg},layout.hg,layoutiter.{hg},layoutline.hg,tabarray.hg}:
	- Make use of new wrappers.
	- Remove "Pango::" at some places to reflect changes in convert_pango.m4.
	- Add class descriptions.
	- TODO: Add more documentation.
	* pango/src/context.{ccg,hg}: Wrap method pango_itemize in Pango::Context.
	* pango/src/font.hg: Remove function Font::find_shaper(): We don't
	wrap PangoEngine* and most of its c API is disabled by default
	(i.e. you have to #define some tag to include the definitions).
	* pango/src/fontset.{ccg,hg}: Wrap methods pango_fontset_get_font(),
	pango_fontset_get_metrics().

2002-08-26  Naofumi Yasufuku  <naofumi@yasufuku.net>
 
	* gtk/gtkmm/menu_elems.cc: Don't include strings.h on Win32
	platforms to avoid compile error.
	
2002-08-26  Murray Cumming  <murrayc@usa.net>

	* gtk/src/object.ccg: set_manage(): We no longer assume that the
	GObject refcount is 1 after gtk_something_new(), because it isn't
	always, for instance, with GtkButton when it has a mnemonic. This
	doesn't fix bug #91404 but it might be part of the problem.

2002-08-25  Murray Cumming  <murrayc@usa.net>

	* tools/m4/class_shared.m4: Added _GTKMMPROC_WIN32_NO_WRAP, and
	changed tools/generate_wrap_init.pl.in to look for this so that it
	can put #ifndef WIN32 around the use of those classes.

2002-08-24  Murray Cumming  <murrayc@usa.net>

	* Added tests/child_widget_managed: Based on Michael
	v. Szombathely's code in bug #91404. But I believe that I have
	corrected the code, proving that it isn't a bug.

2002-08-02  Michael v. Szombathely <szombath@bifab.de>

	* pango/src/layout.hg, gtk/src/treemodel.hg: extra semicolons removed

2002-08-20  Naofumi Yasufuku  <naofumi@yasufuku.net>
 
 	* configure.in: Add -fnative-struct g++ option to CXXFLAGS on
 	native Win32 target.
	
2002-08-22  Naofumi Yasufuku  <naofumi@yasufuku.net>
 
 	* build_shared/Makefile_build.am_fragment: Added
 	install-libtool-import-lib and uninstall-libtool-import-lib
 	targets	for Win32 build. Win32 import libraries are now installed
 	automatically.

2002-08-22  Murray Cumming  <murrayc@usa.net>

	* Gdk::Window: Added set_window(void) overload, to reset the cursor.

2002-08-16  Martin Schulze  <MHL.Schulze@t-online.de>

	* gtk/src/treeview.hg: Remove the internal functions in namespace
	TreeView_Private from documentation. The problem arose because
	the functions are global in this namespace.
	
1.3.21:
	
2002-08-18  Martin Schulze  <MHL.Schulze@t-online.de>

	* pango/src/layout.{ccg,hg}: Wrap pango_layout_new(PangoContext*)
	adding Pango::Layout::create(const Glib::RefPtr<Context>&).

2002-08-17  Murray Cumming  <murrayc@usa.net>
	* Gtk::Container_Class::destroy_callback():
	Uncommented the code to remove the widgets before GTK+ does so
	itself. It does seem necessary.
	* Gtk::Object::_destroy_c_instance():
	Prevented double destruction of the GtkObject, by connecting a 
	temporary GtkObject::"destroy" callback just to set 
	Gtk::Object::gobject_disposed_.
	* Added tests/child_widget2 to exercise these bug fixes.
	* This bug (#90891) was found by Daniel Sundberg.

2002-08-17  Murray Cumming  <murrayc@usa.net>

	* Moved tools/*.txt to docs/internal/
	* Added docs/internal/documentation_generation.txt

2002-08-17  Murray Cumming  <murrayc@usa.net>

	* Some additions to PORTING, from Elke Meier.

2002-08-15  Bradley Bell  <btb@debian.org>

	* The PORTING file is now distributed.
2002-08-18  Martin Schulze  <MHL.Schulze@t-online.de>

	* pango/src/layout.{ccg,hg}: Wrap pango_layout_new(PangoContext*)
	adding Pango::Layout::create(const Glib::RefPtr<Context>&).
2002-08-14  Ole Laursen  <olau@hardworking.dk>

	* gtk/src/scale.hg: Fixed set_draw_value and get_draw_value to use
	bools. Also added more documentation for Scale, VScale and HScale
	
1.3.20:
	
2002-08-14  Murray Cumming  <murrayc@usa.net>

	* Gtk::IconFactory::add(): Change parameter from string to
	Gtk::StockID, to allow use of Gtk::BuiltinStockID also.
	* Gtk::StockItem: constructor: ditto.
	
2002-08-13  Martin Schulze  <MHL.Schulze@t-online.de>

	* tools/m4/list.m4: Fix a bug in macro GP_LIST_FIND(). It generated
	illegal code when _no_ argument was given to GP_LIST_FIND(). (The
	argument being a function name that allows to retrieve the widget
	from the STL-list's output type. We don't need it for
	ComboDropDownList since the output type is the widget itself.)
	* gtk/src/combo.{ccg,hg}: Complete the API: Generate thin wrappers
	around GtkListItem and GtkList (named ComboDropDownItem and
	ComboDropDown) that contain the functionality necessary to
	manipulate the pull-down list of a Gtk::Combo. Insertion and removal
	to/from the list is provided by an STL-style wrapper
	(named Gtk::ComboDropDown_Helpers::ComboDropDownList).
	* tools/m4/convert_gtk.m4: Add conversions from (const) GtkWidget*
	to (const) Gtk::ComboDropDown*. Remove conversion from (const)
	GtkWidget* to Gtk::List* which doesn't exist.
	* examples/book/combo/examplewindow.cc: Show the use of the new
	Gtk::ComboDropDown API by adding a mixed entry (image/label) to
	the combo's list.

2002-08-10  Martin Schulze  <MHL.Schulze@t-online.de>
 
	* gtk/src/treeview.hg: Try to avoid the conditional compilation:
	Make _connect_auto_store_editable_signal_handler() a global
	function in namespace TreeView_Private. This non-member function
	can safely refer to specializations of the member function template
	TreeView::_auto_store_on_cellrenderer_*_edited(), working around
	compiler bugs. gcc 2.95.3 had a problem with this. See bug #89951.
	
2002-08-10  Murray Cumming  <murrayc@usa.net>

	* examples/calendar and examples/tictactoe no longer use manage()
	on top-level windows. These examples are a bit neglected anyway.

2002-08-10  Murray Cumming  <murrayc@usa.net>

	* gtk/src/object (destroy_c_instance_()): If g_object_unref()
	doesn't cause it to be disposed then force it with
	gtk_object_destroy(). This is necessary because adding a widget to
	a container refs it even if it's not floating. Fixes bug #90088,
	as seem in tests/delete_cpp_child.

2002-08-09  Martin Schulze  <MHL.Schulze@t-online.de>

	* configure.in,scripts/cxx.m4,gtk/gtkmmconfig.h.in: Add configure
	time check as proposed by Joe Yandle with some modifications. It
	checks whether the compiler allows member functions to refer to
	specializations of member function templates.
	* gtk/src/treeview.hg: Use configure time check from above for
	conditional compilation of the critical code.
	
2002-08-09  Murray Cumming  <murrayc@usa.net>

	* Gdk::Drawable: Changed filled arg org of draw_rectangle() and
	draw_arc() from int to bool, because it should be a gboolean.
	Found by Michael Koziarski.

2002-08-09  Martin Schulze  <MHL.Schulze@t-online.de>

	* gtk/src/textiter.{ccg,hg}, gtk/src/textmark.{ccg,hg}:
	Avoid unnecessary includes. Add TextMark::get_iter() which
	works equivalent to mymark->get_buffer()->get_iter_at_mark(mymark).
	* gtk/src/textbuffer.{ccg,hg}:
	- Make TextBuffer::insert_(interactive_)at_cursor() return
	the iterator of the cursor position using get_insert()->get_iter()
	or end() if the insertion failed.
	- Make TextBuffer::delete_(interactive_)text() return the iterator
	of the position where the deletion occured or end() if no deletion
	occured. Make the iterators in the parameter list const.
	- Make the iterators in the parameter lists of
	TextBuffer::paste_clipboard(), TextBuffer::insert_child_anchor()
	and TextBuffer::create_child_anchor() const.

2002-08-08  Murray Cumming  <murrayc@usa.net>

	* Removed examples/combo and examples/menu. They are replaced by
	cleaner examples in example/book/.

2002-08-08  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* gdk/src/color.{hg,ccg}: Renamed red_p(), green_p(), blue_p() to
	get_red_p(), get_green_p(), get_blue_p() because of inconsistency.
	* TODO: Added comment about a few more get-methods that should 
	be renamed in some future version because of inconsitency.
	
2002-08-07  Martin Schulze  <MHL.Schulze@t-online.de>
 
 	* gtk/src/ruler.hg: Fix errors in documentation (names of enums).
 	* example/rulers/rulers.cc: Change event mask of the drawing area
 	into (Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK).
 	Gdk::POINTER_MOTION_HINT_MASK prevented the emission of motion
 	events quite effectively and Gdk::BUTTON_PRESS_MASK seems
 	necessary to get motion events also while a mouse button is pressed.
 	The latter seems quite strange to me - I'll report on the gtk ml.
	
2002-08-07  ERDI Gergo  <cactus@cactus.rulez.org>

	* gtk/src/treemodel.ccg (proxy_foreach_iter_callback): Marshall
	correct return value from callback slot

	* gtk/src/treeview.hg: Removed unused pCellToggle variable

	* gtk/src/bin.ccg (add_label): new overload to support the
	AlignmentEnum API

2002-08-07  Murray Cumming  <murrayc@usa.net>

	* Glib::Object::Object(castitem): Removed warning, because
	libglade really does need to instantiate "gtkmm_" classes
	directly.
	* Added _UNMANAGEABLE macro for use with top-level windows in the
	.hg file. This prevents use of manage() in their wrap_new()
	functions. It's tedious to use this for every Window-derived
	class, but I want to make sure that people see the warning when
	they do the same thing manually.

2002-08-07  Murray Cumming  <murrayc@usa.net>

	* Added examples/book/combo example.

1.3.19:
	
2002-08-06  Murray Cumming  <murrayc@usa.net>

	* Removed Glib::Closure. We don't use it, so it's probably
	useless.
	* Gtk::TreeModel: Added foreach() wrapper, like the 
	Gtk::TreeModel::Selection::foreach() methods. We can't use the
	same Slot types because the Model one has a bool return value.
	* Widget, Window: Removed unused old-style docs.
	* Gtk::Style: Added const get_gc() overloads.

2002-08-05  Murray Cumming  <murrayc@usa.net>

	* Added Gtk::TreeModel::RowReference, as a wrapper of
	GtkTreeRowReference. Requested by Julian Missig

2002-08-05  Daniel  <dss@home.se>

	* demos/gtk-demo/example_treeview_treestore.cc: toggle boxes are
	no longer shown in parent rows - there is a hidden boolea column
	that is associated with the visible attribute of the cell renderers.

2002-08-05  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/signalproxy_connectionnode.h:
	Fixed segfautlt-on-quit in examples/book/menu/main_menu and
	demos/gtk-demo "paned widgets" part, by adding a boolean to detect
	disconnection in progress. I found this problem with Valgrind. I'm
	not sure why this only happens with these 2 examples, and I need
	to check that this doesn't cause any memory leaks.

2002-08-04  Murray Cumming  <murrayc@usa.net>

	* Fixed dialog lifecycle bug #89557, with a quite large
	reorganisation of the lifecycle code. Most importantly, I
	discovered that GtkWindows _must_ be destroyed with
	gtk_object_destroy() and never with just a g_object_unref().
	* Gtk::Object: Added comments to explain how manage() isn't quite
	the same when used on something that has already been added to a 
	container. In those cases it just does an extra ref/unref, because
	it doesn't need to unsink and then sink something that is already
	sunk. It makes no difference to the API. It worked
	before too, but we never knew about it. The code comments are
	probably clearer than that explanation.
	* Gtk::Window: They can never be manage()ed because they have no
	parents, so calling Gtk::manage() on them will now give a warning.

2002-08-03  Murray Cumming  <murrayc@usa.net>

	* Added tests/refcount_dialog - this currently shows a
	problem. See bug #89557.
	* Added glibmm/debug.[h|cc] which will help debug the refcounting
	bug above.
	* gtk/src/widget.[hg|ccg]: Added custom hierarchy_changed and
	parent_set callbacks, like Container's custom remove callback, to 
	prevent calling Glib::wrap() on already-deleted instances. I have
	a feeling that we could remove both of these after I fix the bug 
	above. I have marked them with GTKMM_LIFECYCLE comments.
	* You will now see a warning if Glib::wrap() tries to recreate a
	2nd C++ wrapper. I want to hear about it if you see that warning.

2002-08-02  Michael v. Szombathely <szombath@bifab.de>

	* examples/cellrenderercustom/cellrendererlist.cc,
 	examples/cellrenderercustom/cellrenderertoggle.cc,
 	examples/cellrenderercustom/testpopup.cc, examples/paned/paned.cc:
 	#ifdefs for Sun Forte C++ (__SUNPRO_CC) to work around it bug to
 	compiler constructors with template parameters
	See gnome bugzilla bug #85979.
	
2002-08-02  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* gtk/src/menu.{hg,ccg}: Revert to old popup() method.
	* gtk/src/menushell.{hg,ccg} (accelerate): Added override that 
	takes a Gtk::Widget parent parameter instead of a Gtk::Window 
	toplevel parameter. It then discovers that widget's top-level Window.
	* gtk/src/menubar.{hg,ccg}: Connect auto acceleration init method
	to realize signal (again). This will show accelerators if
	the menubar is added to a window first, and menu items are added
	later.
	* gtk/src/optionmenu.{hg,ccg}: Use same mechanism to automatically
	initialize menu accelerators as in Gtk::MenuBar.
	* gtk/gtkmm/accelkey.{h,cc}: Switched accel_key and accel_mods
	parameter to be more consistent with the rest of the accel functions.
	* gtk/gtkmm/menu_elems.{h,cc}: Cleanup.
	* gtk/gtkmm/accelmap.{h,cc}: New wrapper for gtk+ functions.
	* demos/*, examples/*: Menu API changes.
	
2002-07-31  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeRow: inherit publically from Gtk::TreeIter so that a
	row can be used wherever an iterator is needed by a method. This
	means that we don't have to provide overrides for every such
	method, which could be ambiguous anyway. People can't always use
	an iterator because some methods and callbacks return a row
	instead of an iterator, for convenience.

2002-07-30  Michael v. Szombathely <szombath@bifab.de>
 
	* gtk/src/liststore.ccg, gtk/src/treestore.ccg: explicit casts
 	removed (are not needed), detected by Sun Forte C++ compiler

2002-07-30  Michael v. Szombathely <szombath@bifab.de>

	* tools/m4/convert_base.m4, tools/m4/convert_gdk.m4,
   	tools/m4/convert_gtk.m4, tools/m4/convert_pango.m4: Specify
 	template specialization when using unwrap() for RefPtr's of some
 	const types by special macro __CONVERT_CONST_REFPTR_TO_P_SUN, to
 	avoid ambiguity errors with Sun's Forte C++ compiler.

2002-07-29  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm/menu_elems.cc: The ImageMenuElem() constructors now
	call show() on the image widget so the coder doesn't need to. Note
	that you can use StockMenuElem() to use a stock icon in a menu item.

2002-07-26  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm-tut.xml: Added TreeView Editable Cells
	sub-section.

2002-07-26  Murray Cumming  <murrayc@usa.net>

	* gtk/src/treeview.hg: The auto-store-edit templated callbacks now
	use int column numbers rather than TreeModelColumns, so the
	TreeModelColmns don't need to exist when they are called.

2002-07-20  Marcelo E. Magallon <mmagallo@debian.org>

	* docs/tutorial/Makefile.am: DOCBOOK_STYLESHEET specifies the location
	  of the docbook stylesheet.  If the variable is not defined in the
	  current environment, use the current stylesheet from the docbook
	  website.  You probably have to set SGML_CATALOG_FILES to point to
	  your catalog collection, too.

2002-07-20  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView: append_column(): removed editable parameter, and
	  added a append_column_editable() method that creates editable columns
	  whose new values are automatically stored in the model. It needs
	  to be a separate method because we can't provide template
	  specializations for every known model type, and that shouldn't
	  stop people from using a normal append_column().
	* Gtk::TreeViewColumn: Added get_first_cell_renderer() so that it
	  is easier when connecting signals for editable cells.
	* Gtk::TreeView: Added get_column_cell_renderer(): ditto.

2002-07-20  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView:
	  - append_column() changed editable parameter to
	  auto_store_editable. Data in edited cells will automatically be
	  set in the model when this is specified.
	  Gtk::TreeViewColumn: Added get_first_cell_renderer() so that it
	  is easier when connecting signals for editable cells.
	  Gtk::TreeView: Added get_column_cell_renderer(): ditto.

2002-07-20  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView:
	  - Added remove_all_columns() method.
	  - append_column(): Added bool editable parameter, but people
	  still need to connect a signal handler that sets the new data
	  in the model.

2002-07-19  Michael Babcock  <mbabcock@la.creatureshop.henson.com>

	* examples/packbox/packbox.cc: Make button labels display
	PackOptions instead of bool,bool. Also fix code to match comments
	so it actually shows the different packing options.
	
2002-07-20  Murray Cumming  <murrayc@usa.net>

	* Gtk::Dialog: add_button() now returns a Button* instead of a
	Widget*. Bug #88668.

2002-07-19  Marcelo E. Magallon <mmagallo@debian.org>

	* configure.in: add AC_PREREQ(2.50) since GTKMM_CV_PERL_VERSION
	  depends on features introduced after 2.13 (according to autoconf's
	  changelog)
	* autogen.sh: Remove work-arround for Debian; having autoconf do
	  version checks is better.

2002-07-19  Jarek Dukat  <madmaxer@poczta.fm>
 
 	* gtk/src/treeiter.hg: Added typename declaration for gcc 3.1.
	
2002-07-18  Jarek Dukat  <madmaxer@poczta.fm>
 
 	* many, many files: Added many overloaded methods like:
 		Obj* Foo::bar();
 		const Obj* Foo::bar() const;
 	and
 		Glib::RefPtr<Obj> Foo::bar();
 		Glib::RefPtr<const Obj> Foo::bar() const;

2002-07-19  Murray Cumming  <murrayc@usa.net>

	* Gtk::Box_Helpers::Child: Implemented unimplemented methods.

2002-07-19  Murray Cumming  <murrayc@usa.net>

	* Prefixed PackOptions values with PACK_ to avoid conflicts and
	confusion with other enum values.
	* Looked at Table::attach() and Paned::pack*() and decided that
	they should continue to use the separate AttachOptions enum -
	for Table that is not even a change from GTK+.
	* Added back the bool, bool pack methods so that it's easier to 
	port from gtkmm 1.2, or from GTK+.
	
2002-07-19  Michael Babcock  <mbabcock@la.creatureshop.henson.com>

	* gtk/src/: Added new Gtk::PackOptions enumeration for use with
	Box::pack_start() and Box::pack_end().
	* demos/: Change demos to use PackOptions instead of AttachOptions.
	* examples/: ditto
	
2002-07-19  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm/signalproxy_connectionnode.cc: Fix for bug #87912: 
	While disconnecting the gsignal, avoid a
	"not connected" warning by checking first. GTK+ seems to sometimes
	disconnect signals _before_ calling the destroy notify callback
	for that object. It's rare (the bug example uses delete this), and 
	is just a check, so it seems harmless.

2002-07-19  Murray Cumming  <murrayc@usa.net>

	* Gtk::Label, Gtk::TreeViewColumn, Gtk::AspectFrame: 
	Added set_alignment() overrides that use an enum instead of 0.0, 
	0.5, 1.0, etc, float values. Used it in the examples/demos.

2002-07-18  Murray Cumming  <murrayc@usa.net>

	* Restored the notebook example - I accidently committed some
	debugging code.

2002-07-18  Murray Cumming  <murrayc@usa.net>

	* To fix bug #88380:
	  - Gtk::Container:: Add custom "remove" callback to prevent use
	  of wrap on C objects whose C++ objects have been
	  disconnected. This was generating new, secret, C++ instances.
	  This required a new qdata quark, because we _do_ want to use
	  wrap() on C objects whose C++ instance has not _yet_ been created.
	  I think this is just a Container::remove thing - The GTK+ people
	  obviously don't test the full behaviour with unmanaged widgets.
	  - tools/signal.m4: Don't call the Slot if the C object's C++
	  wrapper has been disconnected from the C object.

2002-07-18  Morten Brix Pedersen  <morten@wtf.dk>
 
         * gtk/src: Fix old-style documentation with braces around it.
         *  Remove some old-style documentation which wasn't used.
         *  Change code example in Gtk::Main to use 'int main()' instead of
           'void main()'.
         *  Add extra documentation to the run(Window&) override method.
         *  Add documentation to Gtk::Socket.
	
2002-07-18  Ole Laursen  <olau@hardworking.dk>

	* glib/glibmm/refptr.h: Added reference documentation.

2002-07-16  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* glib/glibmm/miscutils.cc (build_filename): Ugly typo fixed.
	
2002-07-16  Murray Cumming  <usa.net>

	* Gtk::Menu::popup() Added override that takes a Gtk::Widget
	parent parameter instead of a Gtk::Window toplevel parameter. It
	then discovers that widget's top-level Window. This is still just
	a short-term solution.

2002-07-16  Murray Cumming  <murrayc@usa.net>

	* gtk/src/gtk_docs_override.xml: Inserted <function> sections
	without the instructions to free C return values. This closes bug
	#87591

2002-07-16  Bradley Bell  <btb@debian.org>

	* tools/extra_defs_gen/Makefile.am: Corrected -version-info
	argument so libgtkmm_generate_extra_defs has a version number.

2002-07-15  Murray Cumming  <murrayc@usa.net>

	* gdk/pixbuf-loader.hg: Use refreturn with some methods, as
	suggested by Christof Petig.

2002-07-14  Morten Brix Pedersen  <morten@wtf.dk>
        
        * examples/calendar: FontSelection was a no-op, now uses modify_font()
          on the Calendar object instead of set_style() on the Font dialog.
	
2002-07-14  Jarek Dukat  <madmaxer@poczta.fm>

	* gtk/src/label.{ccg,hg}: Added new overloaded constructor
	that lets creating aligned labels without storing label
	into a temporary variable.

2002-07-14  Jarek Dukat  <madmaxer@poczta.fm>

 	* examples/thread/thread.cc, examples/thread/threadpool.cc:
	Changed cout to cerr. cout is buffered and user can't observe
	threads' work. Unbuffered cerr shows it very well.

1.3.18:
	
2002-07-14  Murray Cumming  <murrayc@usa.net>

	* examples/book/signals: Added custom signals example.
	* docs/tutorial/gtkmm-tut.xml: Added customs signals appendix.

2002-07-13  Murray Cumming  <murrayc@usa.net>

	* Gtk::Menu: Changed popup() override to accepts a SigC::Slot to
	calculate the menu position, instead of a static function pointer.

2002-07-13  Murray Cumming  <murrayc@usa.net>

	* tools/pm/DocsParser: Corrected the removal of <para> tags from
	reused GTK+ docs.

2002-07-13  Morten Brix Pedersen  <morten@wtf.dk>

        * docs/FAQ/gtkmm-faq.sgml: Fix wrong references to mailinglist.html
        * gtk/src/scrolledwindow.hg: Referenced GtkAdjustment instead of
          Gtk::Adjustment.
        * gtk/src/gtk_docs_override.xml: GTK+ documentation said that the
          value should be free()ed, it shouldn't in gtkmm.
	
2002-07-13  Murray Cumming  <murrayc@usa.net>

	* examples/book/menus: Added popup example.
	* Gtk::Menu::popup(): Now calls accelerate. This is not a perfect
	solution because the accelerator key can then only be used after
	the popup has already been shown once. See bug #87944.

2002-07-13  Murray Cumming  <murrayc@usa.net>

	* reference docs: Added a Menus group and added lots of class
	documentation, and some method documentation.
	* examples/books/menus: Added a main_menu example.
	* Added Gtk::SeparatorMenuItem, and used it in 
	Gtk::Menu_Helpers::SeparatorMenuElem.

2002-07-13  Murray Cumming  <murrayc@usa.net>

	* examples/Makefile.am: Don't upload the empty directories.
	* docs/index.html: Add link to the examples.

2002-07-12  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm-tut.xml: Added some information about the
	Selection, as suggested by Matthew Tuck.

2002-07-12  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* glib/glibmm/miscutils.[cc|hh]: Added build_filename() 
	convenience function.	
	
2002-07-12  Murray Cumming  <murrayc@usa.net>

	* Gtk::ListStore, TreeStore: Added erase(row) and insert(row) overrides
	for convenience.
	* Gtk::TreeMode, ListStore, TreeStore, TreeRow: set_value_impl()
	and get_value_impl() take a column index so that they can be used
	by all overrides of the public get_value() and set_value() methods.

2002-07-09  Jarek Dukat  <madmaxer@poczta.fm>

	* glib/src/convert.{ccg,hg}: Added error handling to Glib::IConv
	constructor. It now throws Glib::ConvertError when conversion
 	is not possible.
 
2002-07-09  Jarek Dukat  <madmaxer@poczta.fm>
 
 	* gtk/src/textbuffer.ccg: Fixed default argument bug. 
	
2002-07-10  Murray Cumming  <murrayc@usa.net>

	* docs/tutorial/gtkmm_tut.xml: Removed 2nd explanation of
	TreeModel::Row operator[].

2002-07-10  Murray Cumming  <murrayc@usa.net>

	* TreeModel::Row: Added operator bool() to show whether the row is
	valid. Allows checking when using treemodel->children()[index].
	* TreeSelection: Added select(const TreeModel::Row&) override, for
	use with the return value of TreeModel::operator[].
	* TreeView: Added insert_column() and append_column() overrides so
	that they share the same 3 overrides.
	* tools/pm/DocsParser.pm: Remove <para> tags from C sgml tmpl text
	so they don't show up in our doxygen output.
	* docs/tutorial/gtkmm_tut.xml: Completed a first version of the
	book's TreeView chapter.

2002-07-09 Murray Cumming  <murrayc@usa.net>

	* * gtk/src/gtk_docs.xml: Regenerated from gtk+ docs using
	docextract_to_xml.py, with jamesh's fix to get the docs from the
	GTK+ docs tmpl sgml files - needs the patch in bug #86860.

2002-07-09  Murray Cumming  <murrayc@usa.net>

	* gtk/src/gtk_docs.xml: Regenerated from gtk+ docs using
	docextract_to_xml.py

2002-07-09  Murray Cumming  <murrayc@usa.net>
 
 	* Gtk::RadioButton: It seems that the Group does need to be
 	updated before use with another RadioButton, so it really
 	shouldn't be const. It's possible that this worked better before I
 	started messing with it, but I don't understand how it worked
	before. Bug #87492.
	
2002-07-08  Morten Brix Pedersen  <morten@wtf.dk>
        
        * gtk/src/: More descriptions for classes.

2002-07-07  Morten Brix Pedersen  <morten@wtf.dk>
 
        * gtk/src/: Added description for several classes.
	
2002-07-07  Morten Brix Pedersen  <morten@wtf.dk>
        
        * gtk/src/treeselection.hg: Mention that get_selected() returns NULL
          if no rows were selected.

2002-07-07  Murray Cumming  <murrayc@usa.net>

	* TreeModel: Added set_value() and get_value() that take an int
	column index instead of a TreeModelColumn<>, for use with columns
	added at runtime, when there is no compiler to provide the type
	information.
	
2002-07-07  Murray Cumming  <murrayc@usa.net>

	* book: Added outline and some text of a TreeView chapter.

2002-07-07  Murray Cumming  <murrayc@usa.net>

	* Gtk::TextBuffer: insert*() returns the iterator and doesn't
	modfify the input iterator, like the STL. Code like this
	refBuffer->insert(iter, "sometext");
	that relies on iter being changed and ready for the next insert,
	should be changed to this:
	iter = refBuffer->insert(iter, "sometext");
	
2002-07-07  Murray Cumming  <murrayc@usa.net>

	* Removed Glib::Object::create(). It was meant as an example for
	derived classes, but it is inherited publically so it just
	confuses the API of derived classes, such as Gtk::Style, that have
	no create() method, because they can not be instantiated. Problem
	found by Morten Brix Pedersen.

2002-07-07  Murray Cumming  <murrayc@usa.net>

	* reference docs: Put CellRenderers in TreeView group, as
	suggested by Morten.

2002-07-07  Morten Brix Pedersen  <morten@wtf.dk>

        * PORTING: Be clear about new slot() behaviour. Mention removal of
          set_policy()
        * README.win32: Fix typo.

2002-07-04  Murray Cumming  <murrayc@usa.net>

	* gtk/src/radiobutton.hg: RadioButton_Helpers::Group: Added copy
	constructor, which seems to be required by
	RadioButton::get_group(), thought it compiled anyway. Made add()
	const to simplifiy things. It's protected anyway, so it won't
	confuse the API.
	* gtk/src/radiomenuitem.hg: Reuses the Group class from
	radiobutton.hg, instead of copy-and-pasting code for its own Group.
	* RadioButton and RadioMenuItem: made constructors and set_group() 
	take a const Group& so that they be used with get_group() -
	problem found by Matthew Tuck
	
2002-07-03  Murray Cumming  <murrayc@usa.net>

	* PORTING: Added bits, with help from Jarek Dukat.

2002-07-03  Murray Cumming  <murrayc@usa.net>

	* Removed my TreeModel::size() implementation because I now
	realise that it is in TreeNodeChildren, returned by children().
	* tools/m4/convert_gdk.m4: Specified the template instance more
	exactly for Gdk::GC's unwrap(). Hopefully this fixes bug #85978
	with Sun's Forte compiler.

2002-07-03  Murray Cumming  <murrayc@usa.net>

	* tools/pm/WrapParser.pm: Made the _vfunc suffix the default, and 
	removed it from all the _WRAP_VFUNC() macros in the .hg files.
	* tools/pm/Output.pm: Removed the commented-out VFUNC_INTERFACE
	stuff.
	* tools/m4/boxedtype_static.m4: Allowed treeiter.hg to prevent
	generation of a wrap() function, because
	TreeIterBase* wrap(GtkTreeIter*) isn't very useful. I'm not sure
	how to write a wrap() for TreeIter or TreeRow instead.
	* gtk/src/treemodel.hg: Uncommented out the get_iter_* vfuncs so
	that people can theoretically derive new TreeModels. They use C
	types at the moment - see the TreeIterBase comment above.

2002-07-02  Murray Cumming  <murrayc@usa.net>

	* tools/m4/enums.m4: Renamed some variables so that m4 doesn't
	confuse them with _CLASS_* variables. It still needs more work to
	allow enums to be inside classes. 

2002-07-01  Liam Girdwood <liam@nova-ioe.org>
 
 	* examples/menu/menu2.cc: Changed MenuList items to references.
	
2002-07-01  Marcelo Magallon <mmagallo@debian.org>

	* Correct _DEPS description in tools/using_gtkmmproc.txt

2002-07-01  Murray Cumming  <murrayc@usa.net>

	* Gtk::Invisible: Call realize() in the constructor, to match what
	happens in gtk_invisible_new(). This might fix the segfault
	discovered by Tony <a_a_c@bellsouth.net>.

2002-06-30  Murray Cumming  <murrayc@usa.net>

	* TextBuffer:: Added typedefs for Tag, TagTable, and Mark. The
	originals (e.g. TextTag, TextMark) still appear in some other
	classes, because of circular dependencies. We can declare TextMark
	but we can't just declare TextBuffer::TextMark.
	* Refererence docs: Added TextView group, and mentioned it on docs
	overview page.

2002-06-30  Murray Cumming  <murrayc@usa.net>

	* TextBuffer, TextIter, TextView, etc:
	* Made some get_() methods const.
	* Changed TextBuffer::delete_() to delete_text().
	* typedefed TextIter as TextBuffer::iterator.
	* TextBuffer::get_start_iter() and get_end_iter() are now begin()
	and end(), to be more STL-like.

2002-06-29  Murray Cumming  <murrayc@usa.net>

	Dealt with some minor TODO comments in the code:
	* gdk/src/types.hg: Make Geometry a simple typedef of GdkGeometry
	instead of inheriting from it. We don't wrap any methods anyway.
	* Removed preview.[hg|ccg] from cvs - it's deprecated, and we
	don't build it anyway.

2002-06-29  Murray Cumming  <murrayc@usa.net>

	* Added Cedric Gusting's README.win32 about building on Windows.
	* Gtk::Table_Helpers::Child: Added get_*() accessors for some more
	of the fields, because it looks silly with just get_widget(). I'm
	still waiting for official information about what's public/useful
	API. Maybe a future version of gtkmm will just hide the
	GtkTableChild and use Widgets directly.

2002-06-28  Murray Cumming  <murrayc@usa.net>

	* docs/index.html: Added link to gcc's libstdc++ reference
	documentation.

2002-06-28  Erdi Gergo  <cactus@cactus.rulez.org>

	* glib/glibmm/containers.h: Added typename declarations for gcc 3.1.

2002-06-26  Murray Cumming  <murrayc@usa.net>

	* Gtk::Table: STL-style list now works. Previously we thought that
	the GList container Widgets, but it really contains GtkTableChild
	items. That's what Karl meant in his cryptic "This doesn't work
	and we can't fix it due to API freeze" comments. I worry that
	there are no more real mysteries left. This fixes bug #86085.

2002-06-26  Murray Cumming  <murrayc@usa.net>

	* glib/src/containers.h: Cleaned up the Iterator templates used
	by the STL-style interfaces. Mostly just white space and more
	meaningful names.

2002-06-25  Christof Petig <christof@petig-baender.de>

	* Show icons for stock menu items.

1.3.17:
	
2002-06-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm.h: Don't include glibmm/dispatcher.h on Win32.

2002-06-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Remove the SECTION_CC_BEGIN/SECTION_CC_END
	kludge.

	* configure.in: Get rid of the GTKMM_INSTALL_EXCLUDE nastyness.
	* configure.in: Bump to version 1.3.17, binary age 11:0:0.

2002-06-23  Cedric Gustin  <cgustin@ibelgique.com>

	* build_shared/Makefile_gensrc_platform.am_fragment: New file,
	used to add platform-specific files to $(files_hg).  Also defines
	$(files_all_hg) which contains all files of any platform.

	* build_shared/Makefile_build_extra.am_fragment: New file, used
	to separate platform-specific non-built source files.  Variables
	$(files_extra_all_cc) and $(files_extra_all_h) are defined similar
	to $(files_all_hg).

	* build_shared/Makefile_build.am_fragment: Split $(files_all_cc)
	and $(files_all_h) into platform-specific variables, similar to
	the $(files_extra_foo) stuff.  Also, get rid of the filtering via
	GTKMM_INSTALL_EXCLUDE uglyness.

	* build_shared/Makefile_build_gensrc.am_fragment: More splitting
	up of the files_built_{cc,h} variables, just like above.

	* build_shared/Makefile_gensrc.am_fragment: Use $(files_all_hg)
	to build and install all of the source files, no matter what the
	platform is.

	* atk/src/Makefile_list_of_hg.am_fragment: Split the variable
	files_hg into files_posix_hg, files_win32_hg and files_general_hg.
	* gdk/src/Makefile_list_of_hg.am_fragment: ditto
	* glib/src/Makefile_list_of_hg.am_fragment: ditto
	* gtk/src/Makefile_list_of_hg.am_fragment: ditto
	* pango/src/Makefile_list_of_hg.am_fragment: ditto.

	* atk/atkmm/Makefile.am: Split variables files_extra_{cc,h} into
	sublib_files_extra_posix_{cc,h}, sublib_files_extra_win32_{cc,h}
	and sublib_files_extra_general_{cc,h}.  Also, use automake
	conditionals to build a different set source files depending on
	the target platform.
	* gdk/gdkmm/Makefile.am: ditto
	* glib/glibmm/Makefile.am: ditto, and exclude dispatcher on Win32
	* gtk/gtkmm/Makefile.am: ditto
	* pango/pangomm/Makefile.am: ditto.

	* atk/atkmm/private/Makefile.am: Distribute all headers, but
	install only the platform-specific headers.
	* gdk/gdkmm/private/Makefile.am: ditto
	* glib/glibmm/private/Makefile.am: ditto
	* gtk/gtkmm/private/Makefile.am: ditto
	* pango/pangomm/private/Makefile.am: ditto.

	* Makefile.am: Add new files in the build_shared/ directory.

	* configure.in: Look for GModule too, and use its CFLAGS and LIBS
	when building glibmm.

	* gtk/src/plug.hg: Remove the silly SECTION_CC_BEGIN/END stuff that
	was used to insert #ifndef _WIN32 into the code -- the source file
	is now excluded from the build on that platform.
	* gtk/src/socket.hg: ditto.

	* gtk/src/main.ccg: Use #ifndef GTKMM_WIN32 instead of _WIN32.
	* glib/glibmm/threadpool.cc: ditto
	* demos/gtk-demo/example_stockbrowser.cc: ditto.

	* gdk/src/window.hg: Use #ifndef GDKMM_WIN32 instead of _WIN32.
	Seems odd, can't we use GTKMM_WIN32 here too?  It might be a good
	idea to merge all *config.h files into a single one.

	* examples/thread/Makefile.am: Don't build the dispatcher example
	on Win32.  (Should work, TODO)

2002-06-22  Martin Schulze  <MHL.Schulze@t-online.de>

	* glib/glibmm/object.h
	pango/src/fontmetrics.hg
	pango/src/tabarray.hg
	gdk/src/color.hg
	gtk/gtkmm/base.h
	gtk/gtkmm/targetentry.h
	gtk/src/object.hg: Remove #include <glibmm/containers.h>

	* tools/m4/list.m4
	glib/glibmm/containers.h
	glib/glibmm/helperlist.h
	gtk/src/menushell.ccg
	gtk/src/toolbar.ccg
	demos/gtk-demo/example_menus.cc
	examples/menu/menu2.cc
	examples/stock/stock.cc: Avoid double indirection when using the
	iterators of our STL-style wrappers for box, menushell, table,
	toolbar. The syntax now reads i->some_method() instead
	of the ugly (*i)->some_method().
	Adapt demos and examples to the changes.

2002-06-22  Murray Cumming  <murrayc@usa.net>

	* Bug #83244: Added Gdk::RgbCmap wrapper, as suggested by Oliver
	Samyn. Used it in Gdk::Drawable::draw_indexed_image().

2002-06-21  Murray Cumming  <murrayc@usa.net>

	* Added Pango::GlyphString wrapper.

2002-06-21  Morten Brix Pedersen  <morten@wtf.dk>

	* Makefile.am: Ship CHANGES file with gtkmm tarball.

2002-06-20  Daniel Elstner  <daniel.elstner@gmx.net>

	Changes to Cedric's Win32 patch to make it work with automake 1.4:

	* gtk/src/Makefile_list_of_hg.am_fragment: Remove the automake
	conditional code that was used to exclude plug.hg and socket.hg
	from Win32 builds.

	* configure.in: Introduce Makefile variable GTKMM_INSTALL_EXCLUDE,
	which contains a list of headers to be skipped on make install.
	Set it to 'plug.h plug_p.h socket.h socket_p.h' when building on
	Win32.

	* build_shared/Makefile_build.am_fragment: Use the make function
	$(filter-out) to exlude the files listed in GTKMM_INSTALL_EXCLUDE
	from the installed headers.  It's hackish and uses a special GNU
	make feature, but it seems to work.
	* gtk/gtkmm/private/Makefile.am: ditto.

	* tools/m4/base.m4: Add two new sections SECTION_CC_BEGIN and
	SECTION_CC_END, which can be used to insert code at the very
	beginning or very end of the generated .cc file.

	* gtk/src/plug.hg: Use the new BEGIN and END sections to insert
	#ifndef _WIN32 guards into the source code.  Thus, the file is
	essentially empty when building on Win32 -- not pretty, but it
	works.  (Excluding the files from the build would be nicer, but
	I couldn't get that to work.)
	* gtk/src/socket.hg: ditto.

2002-06-13  Cedric Gustin  <cgustin@ibelgique.com>

	* configure.in : Added support for win32 DLL (tests on win32
	platform + call to AC_LIBTOOL_WIN32). Added config.h.in in
	AM_CONFIG_HEADER to be used for platform dependent functions (like
	flockfile) in demos, examples. Added pkg-config check for gobject
	for glibmm (DLL dependency).
	* atk/atkmm/Makefile.am, pango/pangomm/Makefile.am,
	gdk/gdkmm/Makefile.am, gtk/gtkmm/Makefile.am : Added
	win32_dlls_extra_libs (defined in
	build_shared/Makefile_build.am_fragment) to library LIBADD for DLL
	dependency.
	* build_shared/Makefile_build.am_fragment : Added support for
	win32 DLL (no_undefined and win32_dlls_extra_libs variables).
	* demos/pixbuf-demo.cc, demos/gtk-demo/example_pixbufs.cc : Added
	definition of M_PI is not available on target platform.
	* demos/gtk-demo/demowindow.cc : Added tests on stdio.h functions
	(HAVE_* macro defined in config.h in root directory) which are not
	available on mingw32.
	* demos/gtk-demo/example_stockbrowser.cc :  Adding the icon to the
	treeview column generates a bunch of warnings on win32. As long as
	a fix has not been found, let's comment this out.
	* glib/glibmmconfig.h.in, gdk/gdkmmconfig.in.h,
	gtk/gtkmmconfig.h.in : Renamed a few win32-related macros to
	better separate the platform and compiler options. Added support
	for mingw32. Slightly changed the *_API macros to support latest
	versions of libtool.
	* gdk/src/dragcontext.hg : Changed first argument of set_icon
	method from StockID to ustring to avoid cross-dependence between
	gdkmm and gtkmm.
	* gdk/src/window.hg : Removed get_decorations from the list of
	wrapped methods for the win32 platform.
	* glib/glibmm/containers.h, glib/glibmm/quark.h : Tagged a few
	variables as GLIBMM_API.
	* glib/glibmm/threadpool.cc : Win32 does not defined
	g_thread_pool_get_max_unused_threads and
	g_thread_pool_stop_unused_threads. Removed the corresponding
	methods when building on win32.
	* gtk/gtkmm/stock.h : Tagged a few variables as GTKMM_API.
	* gtk/src/Makefile_list_of_hg.am_fragment : Splitted the list of
	generated source files into two list, the general and unix files
	(basically plug and socket which are not supported on win32).
	* gtk/src/main.ccg : This is a bug in the win32 port of
	gtk+-2.0. gtk_init, called in Main::init, is a macro that calls
	gtk_init_abi_check whose fourth argument is
	sizeof(GtkWindow) and the fifth GtkBox. Because both have not been
	declared yet, we have to do it explicitly.
	* tools/extra_defs_gen/Makefile.am : Check for win32 platform and
	add the no-undefined flag if necessary.
	* tools/extra_defs_gen/generate_defs_gtk.cc : Removed PLUG and
	SOCKET related lines when building on win32.

2002-06-20  Jarek Dukat  <madmaxer@poczta.fm>
 
	* gtk/src/box.{ccg,hg}: Gtk::Box_Helpers::Element() and
	Gtk::Box_Helpers::EndElem() now use Gtk::AttachOptions
	instead of two bool arguments, just like Gtk::Box::pack_start().

2002-06-20  Jarek Dukat  <madmaxer@poczta.fm>

	Changed many get_...() methods to be const:
	* gdk/src/event.hg:
		Gdk::Event::get_time()
		Gdk::Event::get_state()
		Gdk::Event::get_coords()
		Gdk::Event::get_root_coords()
		Gdk::Event::get_axis()
	* gdk/src/image.hg:
		Gdk::Image::get_pixel()
	* gdk/src/pixbufanimation.hg:
		Gdk::PixbufAnimation::get_width()
		Gdk::PixbufAnimation::get_height()
		Gdk::PixbufAnimation::is_static_image()
	* gdk/src/window.hg:
		Gdk::Window::is_visible()
		Gdk::Window::is_viewable()
		Gdk::Window::get_state()
		Gdk::Window::get_geometry()
		Gdk::Window::get_position()
		Gdk::Window::get_origin()
		Gdk::Window::get_root_origin()
		Gdk::Window::get_events()
 
	* gtk/src/calendar.hg:
		Gtk::Calendar::get_date()
	* gtk/src/cellrenderertoggle.hg:
		Gtk::CellRendererToggle::get_radio()
		Gtk::CellRendererToggle::get_active()
	* gtk/src/colorselection.hg:
		Gtk::ColorSelection::get_previous_alpha()
		Gtk::ColorSelection::is_adjusting()
	* gtk/src/frame.hg:
		Gtk::Frame::get_label_align()
	* gtk/src/iconsource.hg:
		Gtk::IconSource::get_filename()
	* gtk/src/image.hg:
		Gtk::Image::get_storage_type()
	* gtk/src/label.hg:
		Gtk::Label::get_selection_bounds()
		Gtk::Label::get_layout_offsets()
	* gtk/src/misc.hg:
		Gtk::Misc::get_alignment()
		Gtk::Misc::get_padding()
	* gtk/src/treeview.hg:
		Gtk::TreeView::get_headers_visible()
		Gtk::TreeView::get_rules_hint()
		Gtk::TreeView::get_reorderable()
		Gtk::TreeView::get_enable_search()
		Gtk::TreeView::get_search_column()
	* gtk/src/widget.hg:
		Gtk::Widget::get_name()
		Gtk::Widget::get_extension_events()
		Gtk::Widget::get_events()
		Gtk::Widget::get_pointer()
		Gtk::Widget::is_ancestor()
		Gtk::Widget::get_composite_name()

2002-06-20  Murray Cumming  <murrayc@usa.net>

	* Gtk::TextBuffer::create_mark(). Do additional reference() on
	return value. The GTK+ docs say that it doesn't happen
	automatically. Bug reported by Andrew E. Makeev <andrew@solvo.ru>.

2002-06-20  Michael v. Szombathely  <szombath@bifab.de>

	* gdk/src/drawable.ccg: Specify template specialization when using
	unwrap() with Gdk::GC, to avoid ambiguity with Sun's Forte compiler.

2002-06-20  Murray Cumming  <murrayc@usa.net>

	* Added links to old gtkmm 1.2 docs to documentation overview page.

2002-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/gdk/radar.cc: Add missing namespace SigC:: prefix.
	I have no idea how it could compile without that.  A quick grep
	of the gtkmm headers didn't reveal anything nasty.  Hmm.

2002-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/gdk/radar.cc: Add missing namespace std:: prefixes,
	do some minor generic cleanup, and fix the value of PI ;)

2002-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/WrapParser.pm: Comment-out the special case code
	for interface vfuncs and _WRAP_VFUNC_ONLY().

	* tools/m4/vfunc.m4: Disable the VFUNC_INTERFACE_* macros.

	* gtk/src/celleditable.hg: Split interface methods up into
	separate invoker and virtual method (with _vfunc suffix).
	Also try to use C++ types for vfuncs whereever possible.
	* gtk/src/editable.hg: ditto
	* gtk/src/treedragdest.hg: ditto
	* gtk/src/treedragsource.hg: ditto
	* gtk/src/treemodel.hg: ditto
	* gtk/src/treesortable.hg: ditto.

2002-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/module.hg (Module::Module): Add default argument
	ModuleFlags flags = ModuleFlags(0).

2002-06-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/gmodule_enums.defs: New file.
	* glib/src/glib.defs: Include gmodule_enums.defs.
	* glib/src/Makefile.am (files_defs): Add new .defs files.
	* glib/glibmm.h: #include <glibmm/module.h>.

	* glib/src/module.{ccg,hg}: Wrap enum GModuleFlags, and get rid
	of the gmodule.h header dependency.  Also make class Glib::Module
	noncopyable.
	(Module::get_symbol): Use void*& instead of gpointer&.

	* tools/m4/convert_gtk.m4: Add necessary conversions.

2002-06-19  Murray Cumming  <murrayc@usa.net>

	* Added Glib::Module wrapper for gmodule functions. Bug #85915.

2002-06-19  Alain Rouge  <alain.rouge@enac.fr>

	* Added examples/gdk "radar" example. It demonstrates drawing with 
	gdkmm.

2002-06-19  Murray Cumming  <murrayc@usa.net>

	* tools/: Split README into gtkmmproc_internals.txt and
	using_gtkmmproc.txt. Added Daniels' ChangeLog comments about the
	various _CLASS_BOXEDTYPE_* macros.

2002-06-19  Murray Cumming  <murrayc@usa.net>

	* glib/src/fileutils.hg: FileError enum: rename TRY_AGAIN enum
	member to TRYAGAIN, to avoid a clash with a TRY_AGAIN macro that
	is in some unknown UNIX C header. Fixes problem with libbonobouimm.

1.3.16:

2002-06-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in: Version 1.3.16, binary age 10:0:0.
	* configure.in: Require GLib >= 2.0.4; GTK+ >= 2.0.5.

2002-06-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.{cc,h} (TimeoutSource): Try to get
	interval > G_MAXINT right, as GLib now does (#82624).  It seems
	as if this currently works only if sizeof(long) > sizeof(int),
	which is not the case on x86.  Hmm.

2002-06-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/cellrenderercustom/Makefile.am: Add missing header
	files, so that they'll be distributed.  Doh!

2002-06-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/thread.hg (Mutex::Lock): Replace the acquire_immediately
	parameter with overloaded ctors.  There are overloads on 2 distinct
	enum types: NotLock and TryLock.  Thus, the choice is evaluated at
	compile time now, and I think it's more readable too.
	(RecMutex::Lock): ditto
	(RWLock::ReaderLock): ditto
	(RWLock::WriterLock): ditto.

2002-06-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/thread.hg: Use 'struct' to forward-declare structs.

2002-06-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/thread.{ccg,hg}: Wrap the GThreadPriority enumeration
	as Glib::ThreadPriority, and document it.

2002-06-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.cc: Fix embarassing spelling error.
	(struct DispatchNotifyData): Swap dispatcher and notifier pointers,
	so that dispatcher is now in the middle of the data.  This seems
	more appropriate since the other fields are used for sanity checks.

2002-06-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/frame.{ccg,hg}: s/\<remove_/unset_/ for methods
	which pass 0 to the corresponding GTK+ setter function.  "unset"
	is a better term because "remove" implies a container action.
	* gtk/src/menu.{ccg,hg}: ditto
	* gtk/src/range.{ccg,hg}: ditto
	* gtk/src/spinbutton.{ccg,hg}: ditto
	* gtk/src/tooltips.{ccg,hg}: ditto
	* gtk/src/treeviewcolumn.{ccg,hg}: ditto
	* gtk/src/widget.{ccg,hg}: ditto.

	* gtk/src/frame.{ccg,hg}: Use _CTOR_DEFAULT() instead of
	implementing the default ctor manually.

	* gtk/src/spinbutton.hg: Add anonymous enum for GTK_INPUT_ERROR,
	and adapt the signal_input() documentation too.

	* gtk/src/widget.{ccg,hg} (get_path): Use Glib::ustring rather
	than std::string.
	(get_class_path): ditto.

2002-06-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/fileselection.hg (set_filename): Change the filename
	argument type to std::string.  The get_filename/set_filename
	inconsistency has been fixed in GTK+ 2.0.4.

1.3.15:

2002-06-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in: Bump version to 1.3.15, and binary age to 9:0:0.

2002-06-15  Murray Cumming  <murrayc@usa.net>

	* configure.in: Now depends on newer libsigc++.
	* tools/m4/: vfunc and signal callbacks - Added
	explanatory comments about the is_derived_ optimisation.

2002-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/thread/dispatcher.cc: Add comments.

2002-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.h: Add reference documentation.
	* glib/glibmm/dispatcher.cc: Minor tweaks.

2002-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/dispatcher.{cc,h}: New files, implementing a special
	Glib::Dispatcher signal for easy inter-thread communication through
	a pipe.
	* glib/glibmm/Makefile.am: Add dispatcher.{cc,h}.
	* glib/glibmm.h: ditto.

	* examples/thread/dispatcher.cc: New example demonstrating
	Glib::Dispatcher.
	* examples/thread/Makefile.am: Add dispatcher.cc.

2002-06-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/widget.{ccg,hg} (Gtk::WidgetFlags): New enum.
	(Widget::set_flags): Use the enum instead of guint32.
	(Widget::unset_flags): ditto.
	(Widget::get_flags): New method to get the flags.

	* gtk/src/widget.{ccg,hg} (Widget::width): Rename to get_width().
	(Widget::height): Rename to get_height().

	* examples/cellrenderercustom/popupentry.cc:
	s/GTK_CAN_FOCUS/Gtk::CAN_FOCUS/
	* examples/entry/entry.cc: s/GTK_CAN_DEFAULT/Gtk::CAN_DEFAULT/
	* examples/calendar/calendar.cc: ditto
	* examples/rangewidgets/rangewidgets.cc: ditto
	* examples/scrolledwin/scrolledwin.cc: ditto
	* examples/book/buttons/radiobutton/radiobuttons.cc: ditto.

2002-06-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/menubar.ccg (MenuBar::hierarchy_changed_handler_):
	Check for gobj() != 0.  This hack is necessary because the
	"hierarchy_changed" signal is emitted during destruction.  We
	need a way to tell sigc++ to disconnect all slots prematurely.

2002-06-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/menushell.ccg (MenuList::insert): Don't check for
	errors without handling them (sigh).  Get rid of "return the
	right iterator" crap -- I've no idea what the purpose of this
	special casing was.

2002-06-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/menushell.{ccg,hg} (Gtk::MenuShell::MenuShell): Since
	all ctors are manually implemented anyway, we can as well do the
	items_proxy_ initialization here.
	(Gtk::MenuItem::items): Don't create a new MenuList, since it's
	now done only once in the constructor.

2002-06-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/menushell.{ccg,hg}: Override the GtkMenuItem::insert
	vfunc by using the same hack as for GObject::dispose.  Move the
	accelerator activation code into insert_vfunc_callback(), so that
	it works independent of the method used to insert the MenuItem.
	This should hopefully fix all remaining menu accelerator problems.

2002-06-06  Jarek Dukat  <madmaxer@poczta.fm>

	* gtk/src/treesortable.hg: has_default_sort_func() changed to
	const.

2002-06-11  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/menubar.{ccg,hg} (Gtk::MenuBar): Use a signal handler
	instead of overriding on_realize(), because it isn't invoked
	anymore for plain gtkmm classes.  Also, don't use signal_realize()
	but signal_hierarchy_changed(), since the latter seems more
	appropriate.

	* gtk/src/menushell.{ccg,hg} (Gtk::MenuShell): Replace the GObject
	qdata stuff with a member variable.  Unfortunately this requires
	all ctors to be implemented manually, in order to initialize the
	accel_window_ pointer.
	(Gtk::Menu_Helpers::MenuList): Make use of the accel_window_
	pointer.  Also, make the code slightly more sane.

2002-06-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/drawable.hg (Gdk::Drawable): Make it build again ;)

2002-06-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/drawable.hg (Gdk::Drawable): Constness fixes.

2002-06-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/drawable.{ccg,hg} (Gdk::Drawable): Convert most methods
	to use C++ types.  draw_segments() and draw_glyphs() still use C
	types, because the necessary wrappers don't exist yet.

2002-06-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/macros.m4 (GTKMM_CHECK_PERL): Remove the m4_pushdef()
	cruft and use an auxilary GTKMM_CV_PERL_VERSION() macro instead.
	This should hopefully solve any remaining autoconf/automake
	compatibility problems.

2002-06-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Urgh, how got the backticks around the if-condition?
	Must have been sleepy when I wrote this.  Fixed.

2002-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/cellrenderertext.{ccg,hg}: Add edited() method to emit
	the "edited" signal.  This signal is needed by derived cell
	renderers -- in plain GTK+, you're supposed to emit it directly.

	* examples/cellrenderercustom/cellrendererpopup.cc: Make use of
	the new CellRendererText::edited() method.

2002-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/cellrenderercustom/popupentry.cc: More minor cleanup.
	* examples/cellrenderercustom/cellrendererpopup.cc: ditto.

2002-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/cellrenderercustom/popupentry.cc (get_button_width):
	Use Gtk::manage() to simplify lifetime issues.

2002-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/cellrenderercustom/popupentry.cc: Get rid of
	accidentally left-over debug cruft.
	* examples/cellrenderercustom/cellrendererpopup.cc: ditto.

2002-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/signal.m4 tools/m4/vfunc.m4: Replace g_assert(base != 0)
	with a normal if().  This is necessary because interfaces added to
	custom types don't have a parent interface class.

	* examples/cellrenderercustom/cellrendererlist.{cc,h}
	examples/cellrenderercustom/cellrendererpopup.{cc,h}
	examples/cellrenderercustom/popupentry.{cc,h}
	examples/cellrenderercustom/testpopup.cc: New example files.
	These implement a custom CellRendererList, which works like a
	Gtk::ComboBox.  This is a gtkmm port of the custom cell renderer
	in MrProject.  Thanks to them!

2002-06-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/private/interface_p.h (Glib::Interface_Class): Add
	generic add_interface() method.  Also kill some unnecessary cruft.

	* glib/glibmm/interface.{cc,h}: Replace default ctor with a new
	ctor taking a reference to Glib::Interface_Class.  This way, we
	can add interfaces to an implementing type automatically.  Also
	remove interface_class static data from Glib::Interface, because
	it's useless.

	* tools/m4/class_interface.m4: Store a pointer to the interface
	init function in the class struct, as it's already done for non-
	interface classes.  Pass the Interface_Class to the Interface
	constructor.

2002-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_sizegroup.cc: Add on_response() handler
	to hide() the window.  I'm still unsure whether Gtk::Dialog should
	always hide() on response.  If we decide to bring this feature
	back to live, we can use a similar hack as for "destroy".

2002-06-08  Daniel Elstner  <daniel.elstner@gmx.net>

	Implement on-the-fly creation of custom types:

	* glib/glibmm/class.{cc,h} (Glib::Class): Implement new method
	clone_custom_type(), used to derive a new GType from our wrapper
	class' parent type on the fly.  Make GClassInitFunc a member of
	Glib::Class, so that it can be accessed via the class_data pointer
	in Class::custom_class_init_function().

	* tools/m4/class_shared.m4 tools/m4/class_interface.m4: Rename
	Foo_Class::get_type() to init(), which returns a reference to
	Glib::Class rather than the GType.  This is necessary because
	Glib::Object has to access the Glib::Class object in order to
	clone a custom type.  See below.

	* glib/glibmm/objectbase.{cc,h} (Glib::ObjectBase): Add data
	member custom_type_name_, and two extra ctors to set it.  This
	is used by Glib::Object to clone custom types -- for details, see
	the comments in glibmm/objectbase.h and glibmm/object.cc.

	* glib/glibmm/object.{cc,h}: Implement auxilary ConstructParams
	class, and add a Glib::Object ctor that uses it.  This works
	similar to g_object_new(), but allows to move the actual GObject
	creation into the Glib::Object ctor.  In combination with the new
	special Glib::ObjectBase ctors, custom types can be derived
	easily -- see the code comments for details.

	* tools/m4/class_gobject.m4 tools/m4/class_gtkobject.m4: Generate
	__CPPNAME__(const Glib::ConstructParams&) ctor, for use by derived
	classes.  The __CPPNAME__(__CNAME__*) ctor should only be used by
	wrap_new() now.

	* gtk/src/object.{ccg,hg}: Remove wrapper of "destroy" signal.
	Its usage in Gtk::Container conflicts with the optimization of
	non-custom types as decribed below.  Also, implement new ctor
	Gtk::Object::Object(const Glib::ConstructParams&).

	* tools/m4/ctor.m4 (_CTOR_DEFAULT): Replace g_object_new() with
	Glib::ConstructParams, and call the ctor of Glib::ObjectBase with
	custom_type_name = 0.
	(_CTOR_IMPL): ditto.
	(_CONSTRUCT): New macro: Sometimes it's necessary to implement
	ctors manually.  This is a convenience macro which generates the
	code that calls the base ctors.  It's useful since with direct
	base classes and virtual ones it's slighty more complicated now.
	(_CONSTRUCT_SPECIFIC): Yikes!  Same as _CONSTRUCT(), but takes
	BaseClass and Class parameters.  It's necessary if a gtkmmproc
	input file defines more than one class.

	* tools/m4/signal.m4 tools/m4/vfunc.m4: In the signal handler
	and vfunc callbacks, skip the invocation of C++ virtual methods
	if the object's class is not a user-derived class.  A large
	comment in glibmm/objectbase.h describes how it works.  Also,
	fix a bug with a missing 'return' statement if the base class'
	function returns a value.

	* gtk/src/*.ccg: Convert all custom ctors to use _CONSTRUCT()
	or _CONSTRUCT_SPECIFIC().

	* gtk/src/dialog.{ccg,hg}: Remove the custom on_response()
	handler -- it conflicts with the optimization of non-custom
	types, and what it does (calling hide) is questionable anyway.

	* gtk/src/container.{ccg,hg}: Hook in a custom "destroy" handler
	by using the same hack as in widget.hg for "delete_event".  Use
	plain C to implement it, because at this stage (we're in the middle
	of destroying, after all) it's no good using our wrappers.  We have
	a lot of wrapper-recreation problems during destroy, which I'm
	trying to reduce.

	* gtk/gtkmm/cellrenderercustom.{cc,h}
	gtk/gtkmm/private/cellrenderercustom_p.h: Remove files, they're
	no longer necessary to create a custom Gtk::CellRenderer.

	* examples/cellrenderercustom/cellrenderertoggle.cc: Derive from
	Gtk::CellRenderer directly, and use the Glib::ObjectBase ctor to
	create a custom type.

	* examples/Makefile.am: Add cellrenderercustom directory.

	* demos/gtk-demo/example_colorsel.cc (on_button_clicked): Put
	the Gtk::ColorSelectionDialog on the stack rather than manually
	deleting it.

2002-06-02  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/property.cc: Redefine G_STRLOC so that it works
	with g++.  This is a temporary hack till GLib gets fixed.

2002-06-02  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/value_basictypes.cc.m4: Replace G_MININT64, G_MAXINT64
	and G_MAXUINT64 with G_GINT64_CONSTANT(hexnumber).  The min/max
	macros don't work with GCC 2.95.4, probably because they weren't
	using the correct number literal suffix.  I hope it works now.

2002-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Remove #include <gdk/gdkenumtypes.h>
	kludge -- it's now fixed in GTK+.

	* configure.in: Require GLib >= 2.0.3 and GTK+ >= 2.0.3.

2002-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/gtkmm/cellrenderercustom.{cc,h}
	gtk/gtkmm/private/cellrenderercustom_p.h: New files, implementing
	a Gtk::CellRendererCustom base class for custom cell renderers.

	* gtk/gtkmm/Makefile.am gtk/gtkmm/private/Makefile.am gtk/gtkmm.h:
	Add new source files.

	* examples/cellrenderercustom: New directory, containing a
	re-implementation of Gtk::CellRendererToggle in C++, using
	Gtk::CellRendererCustom.

	* configure.in: Add the new example directory.

2002-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/property.{cc,h}: New files, implementing the
	Glib::Property<> template class.  This can be used to create new
	GObject properties on the fly, which is important for custom
	CellRenderer implementations.

	* glib/glibmm/Makefile.am glib/glibmm.h: Add new files.

2002-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/objectbase.h: Make ObjectBase::_get_current_wrapper()
	public, so that it can be used freely in internal gtkmm code.

	* glib/glibmm/utility.{cc,h}: Add internal utility function
	Glib::append_canonical_typename().  This should be used to create
	GObject typenames from C++ RTTI names, because they might contain
	characters not allowed by GObject.

	* glib/glibmm/value_custom.cc: Use append_canonical_typename().

	* glib/glibmm/value.{cc,h} glib/src/value_basictypes.{cc,h}.m4:
	Add internal create_param_spec() method to all Glib::ValueBase_Foo
	classes.  These can be used to create a GParamSpec for the GType
	that is stored in the GValue.

	* glib/glibmm/value_custom.h (Glib::Value<T>): Derive from
	Glib::ValueBase_Boxed, so that its create_param_spec() method
	gets inherited.

2002-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/cellrenderer.{ccg,hg}: Add the _vfunc() suffix to all
	vfunc wrapper methods, so that they no longer have the same name
	as the interface methods.  Convert the vfuncs to use C++ types.

	* tools/m4/convert_{gdk,gtk}.m4: Add necessary conversions for
	the types used by Gtk::CellRenderer vfuncs.

2002-06-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/style.{ccg,hg}, tools/m4/convert_{gtk,pango}.m4:
	Wrap the gtk_paint_*() family of functions in class Gtk::Style.

2002-05-31  Jarek Dukat  <madmaxer@poczta.fm>

	* gtk/src/treesortable.{ccg,hg}: Implement SignalProxy_Compare,
	so that TreeSortable::set_sort_func() and set_default_sort_func()
	can use SigC::Slots now.

2002-05-24  Martin Schulze  <MHL.Schulze@t-online.de>

	* gtk/src/notebook.{ccg,hg}: Reimplement STL-style interface.
	Since the data stored in GtkNotebook's GList is inaccessible
	the iterator "PageIterator" has to hold a pointer to the Notebook
	that owns the list. "Page" (the value_type of "PageList")
	inherits "PageIterator" privately and uses Notebook-API-functions
	to retrieve and manipulate data.
	* examples/notebook/notebook.cc: Use the STL-style interface.
	Add a "find page 4" button to demonstrate the use of PageIterator.

2002-05-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/stockitem.ccg (Gtk::StockItem::lookup): Don't assign
	the returned GtkStockItem if it is invalid.

2002-05-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/stockitem.{ccg,hg} (Gtk::StockItem): Add constructor
	to create a new stock item.  Use a StockItem& as output parameter
	in lookup(), and return true if the stock ID is known.  With this
	change, it's actually possible to check that.

	* gtk/gtkmm/stock.{cc,h}: Implement Gtk::Stock::add(), and make
	Gtk::Stock::lookup(const Gtk::StockID&, Gtk::StockItem&) using
	the modified Gtk::StockItem::lookup() function.

2002-05-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Rearrange the member group tags in the
	Glib::ustring documentation, so that it works with Doxygen 1.2.16.
	In Glib::ustring_Iterator<T>, remove the unnecessary assignment
	operator for Glib::ustring_Iterator<std::string::iterator> --
	the implicit conversion constructor is sufficient.

2002-05-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_panes.cc: Use Gtk::manage() instead of
	member variables for widgets that aren't accessed after setting
	them up.  Also move everything into the anonymous namespace.

2002-05-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/paned.{ccg,hg} (Gtk::Paned::pack[12]): Use the enum
	Gtk::AttachOptions instead of two bool arguments, just like
	Gtk::Box already uses.  Although it isn't a perfect match either,
	it seems very nice having similar interfaces.

	* gtk/src/paned.hg (Gtk::Paned): Get rid of the _MEMBER_GET()
	accessors to private GtkPaned fields.

	* demos/gtk-demo/example_panes.cc: Adapt to new Gtk::Paned API.
	This task turned out harder than expected, because this example
	has been accessing private GtkPaned member data.  Furthermore,
	the code seemed to be nothing but a rotten and fragile hack.
	I ended up rewriting half of it, and it looks much simpler now.

2002-05-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/object.{cc,h}: Remove wrap_specific_type(),
	and simplify Glib::Object_Class::get_type() by using
	Glib::Class::register_derived_type().

	* gtk/src/style.{ccg,hg}: Replace hand-coded setters for the
	Gtk::Style colors with a _STYLE_MEMBER_COLOR() macro, which
	autogenerates them.  Also add missing get_*() methods.

2002-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/main.{ccg,hg}: Remove Gtk::IdleSig, Gtk::TimeoutSig
	and Gtk::InputSig, as well as the corresponding accessors in
	class Gtk::Main.  All three signals are now supported in glibmm,
	with an almost identical interface and either the same or even
	more functionality.

	* gtk/src/main.hg (Gtk::Kit): Remove this silly typedef.  Its
	existence is utter nonsense -- please redirect your flames to
	/dev/null :-P

	* demos/gtk-demo/*.cc: Get rid of all occurrences of Gtk::Kit,
	Gtk::Main::signal_idle() and Gtk::Main::signal_timeout().
	* examples/*/*.cc: ditto

2002-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/pixmap.ccg (Gdk::Pixmap_Class::wrap_new): Ouch,
	Gdk::Bitmap of course has a depth of 1, rather than 2.

	* gdk/src/bitmap.hg: Correct comment about Gdk::Bitmap depth.

	* examples/window/wheelbarrow.cc: Beautify the code and remove
	unnecessary stuff.  Make the example more useful by showing off
	the Gtk::Window::begin_move_drag() feature.

2002-05-20  Daniel Elstner  <daniel.elstner@gmx.net>

	Large patch to get rid of wrap_specific_type():

	* tools/m4/class_gobject.m4, tools/m4/class_interface.m4: Remove
	all stuff related to wrap_specific_type().  No longer recognize
	the _NO_DERIVED_CLASS flag, and comment out _NO_WRAP_FUNCTION.

	* tools/generate_wrap_init.pl.in: Ignore _NO_WRAP_FUNCTION flag.

	* gdk/src/pixbuf.hg: Kill _NO_DERIVED_CLASS, _NO_WRAP_FUNCTION,
	and/or specializations of Glib::Container_Helpers::TypeTraits<>.
	* gdk/src/pixbufanimation.hg: ditto
	* gdk/src/pixbufanimationiter.hg: ditto
	* gdk/src/pixmap.hg: ditto
	* gdk/src/visual.hg: ditto
	* gdk/src/window.hg: ditto
	* pango/src/context.hg: ditto
	* pango/src/font.hg: ditto
	* pango/src/fontface.hg: ditto
	* pango/src/fontfamily.hg: ditto
	* pango/src/fontmap.hg: ditto
	* pango/src/fontset.hg: ditto
	* pango/src/layout.hg: ditto

	* gdk/src/window.{ccg,hg}: Use GDK_WINDOW_OBJECT as C cast macro,
	and remove the gdk_window_get_type #define.

	* tools/m4/class_gobject.m4: Allow for a custom wrap_new()
	function by setting the _CUSTOM_WRAP_NEW flag.

	* gdk/src/bitmap.{ccg,hg}: Make Gdk::Bitmap a C++-only type.  In
	GDK itself, there is no (typewise) difference between GdkPixmap and
	GdkBitmap -- not even internally.

	* gdk/src/pixmap.{ccg,hg}: Implement a custom wrap_new() function
	that creates Gdk::Bitmap instead of Gdk::Pixmap if depth == 2.

	* gdk/src/pixmap.ccg, gdk/src/window.ccg: Adapt the code, because
	Glib::wrap() for Gdk::Pixmap now takes a GdkPixmapObject* argument.
	Also, add extra cast_dynamic() calls when wrapping to Gdk::Bitmap.

	* tools/m4/convert_gdk.m4: Replace all wrap_specific_type()
	conversions with normal Glib::wrap() calls.  Add casts to the
	right C type if necessary.

	* demos/gtk-demo/example_drawingarea.cc: Replace call to
	Gdk::Window::wrap_specific_type().

2002-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* build_shared/Makefile_build.am_fragment (extra_defines):
	Add -DGDK_PIXBUF_DISABLE_DEPRECATED, just for completeness.

2002-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeviewcolumn.{ccg,hg} (SlotCellData): Reduce the
	number of arguments to the callback slot.  One can always use
	SigC::bind() to add parameters which aren't accessed often.

	* gtk/gtkmm/treeview_private.{cc,h} (SignalProxy_CellData):
	Code cleanup, don't check for errors without handling them,
	and add missing exception traps.

2002-05-19  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_stockbrowser.cc
	(Example_StockBrowser::on_selection_changed): Display the
	accelerator key in the details box on the right, just like
	the GTK+ stock browser demo does.

1.3.14:

2002-05-11  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Prefer autoconf2.50 over autoconf if it exists.
	This is a temporary hack for Debian, as recommended on gtkmm-main.
	Also, use the opportunity for a cleanup of autogen.sh.

2002-05-11  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeiter.{ccg,hg} (Gtk::TreeNodeChildren): Use
	Gtk::TreeRow as value_type instead of Gtk::TreeIter.  Add
	iterator and const_iterator typedefs.

2002-05-11  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/Enum.pm, tools/pm/Output.pm, tools/pm/WrapParser.pm:
	Implement flexible substitution of enum elements for _WRAP_ENUM()
	and _WRAP_GERROR().  You can now do e.g. s#^2BIG#TOOBIG# to fix
	leading digits, or whatever you want to do.  Moving enums into
	class scope currently only works for NO_GTYPE enums.

	* glib/src/date.hg: Move all Glib::Date* enums into class
	Glib::Date, and use the new substitution feature to remove the
	DATE_ prefix.

	* glib/src/fileutils.hg (Glib::FileError::Code): Rename the errno
	enum values to something sensible, and document all of them.

	* glib/src/spawn.hg (Glib::SpawnError::Code): Substitute
	s/^2BIG$/TOOBIG/ -- this has been a hack in gtkmmproc until now.

	* gdk/src/event.hg (Gdk::EventType): Likewise for 2BUTTON_PRESS
	and 3BUTTON_PRESS.

2002-05-10  Murray Cumming  <murrayc@usa.net>

	* Gtk::Box::pack_start() and pack_end():
	Replaced the bool expand and fill parameters with one
	Gtk::AttachOptions bitwise mask, whic is already used by
	Gtk::Table::attach(). This should make code easier to read.

2002-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeiter.ccg (Gtk::TreeIter::equal): Ignore
	GtkTreeIter::user_data2 and GtkTreeIter::user_data3, because
	GtkListStore and GtkTreeStore only use GtkTreeIter::user_data.
	This fixes Gtk::TreeIter comparison when the the unused pointers
	contain bogus values.  Obviously this breaks if the model does
	make use of user_data[23] -- it's a serious problem that needs
	ranting about on gtk-devel-list.

2002-05-09  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeSelection, TreeView, TreeDragSource, TreeDragDest:
	replaced use of TreePath with TreeModel::Path typedef.
	* Gtk::TextBuffer: Implemented clipboard methods.

2002-05-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/class_boxedtype_static.m4: Make the wrap ctor
	explicit, as it should be.
	* gtk/src/treeiter.hg, gtk/gtkmm/treemodelcolumn.h: Update
	reference documentation.

2002-05-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treemodel.hg: Remove commented methods set_value() and
	get_value().  Reformat Doxygen comments.

	* gtk/src/treeiter.{ccg,hg}: Implement Gtk::TreeRow::set_value()
	and Gtk::TreeRow::get_value().  Use them in TreeValueProxy<>.

	* gtk/src/treeselection.{ccg,hg} (TreeSelection::get_selected):
	Make this a non-const method, because you can change the data
	via the returned iterator.

2002-05-09  Muray Cumming  <murrayc@usa.net>

	* TreeModel: Added typedefs for ColumnRecord, iterator, Path, and
	Row. Used the typedefs in interfaces, but there are still some
	lingering "TreePaths"s.
	* TreeView: Added typedefs for Selection and Column.
	* Used these typdefs in examples/paned and
	demos/gtk-demo/example_stockbrowser.cc.

2002-05-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeiter.{ccg,hg}: Add an internal method
	Gtk::TreeIter::set_model_refptr(), which is useful if you
	already have a Gtk::TreeModel wrapper object.

	* gtk/src/treeselection.{ccg,hg}: Implement selected_foreach(),
	and cleanup set_select_function() a bit.  Add missing exception
	checks.

2002-05-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* examples/paned/paned.cc, demos/gtk-demo/*.cc: Retrieve the
	Gtk::TreeRow via *iter, and then operate directly on the row.
	This way, (*iter)[column] now becomes row[column].

2002-05-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/date.{ccg,hg}: New files, copied from the glibmm/
	directory.  gtkmmproc is needed to generate the enums.
	* glib/glibmm/date.{cc,h}: Remove now autogenerated files.

2002-05-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeview.hg: Move append_column() member template
	out of the class' body, and add the missing return statement.

2002-05-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treemodel.{ccg,hg}: Make get_value_impl() virtual, and
	add a virtual set_value_impl(), in order to be implemented in
	Gtk::ListStore and Gtk::TreeStore.  Also, remove the public
	get_value() method.
	* gtk/src/liststore.{ccg,hg}, gtk/src/treestore.{ccg,hg}:
	Manually implement set_value_impl(), because gtkmmproc doesn't
	like the virtual keyword.  Remove the public set_value() methods.

	* gtk/src/treeiter.{ccg,hg}: Implement class Gtk::TreeRow and
	template class Gtk::TreeValueProxy<>.  Move several Gtk::TreeIter
	methods into Gtk::TreeRow.  Add TreeIter::operator*, operator->,
	and TreeRow::operator[] (replaces set_value() and get_value()).
	Also rename Gtk::TreeIterChildren to Gtk::TreeNodeChildren.

	* examples/paned/paned.cc, demos/gtk-demo/*.cc: Use the new
	Gtk::TreeIter interface, especially Gtk::TreeRow::operator[].

2002-05-08  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeViewColumn
	  - Replaced overriden TreeViewColumn(modelcolumn) constructors
	  with a templated constructor, which avoids the ambiguity problem
	  and minimises code duplication. The CellRenderer generation 
	  namespace and functionnames need to be cleaned up a bit.
	  - Added tempalted pack_start(modelcolumn) method, which greatly
	  simplifies many-modelcolumns-in-one-viewcolumn situations.	
	* Used this in demos/gtk-demo/example-stockbrowser.cc 
	
2002-05-08  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView: Added templated append_column(modelcolumn)
	method, so that people don't need to worry at all about the
	TreeViewColumn, or the CellRenderer for simple columns.
	* Used this in
	demos/gtk-demo/example-stockbrowser.cc and exampels/paned.	

2002-05-08  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeViewColumn: Added TreeViewColumn(title, modelcolumn) 
	constructors to allow easy creation of ViewColumns with whatever
	CellRender is appropriate for the model's data type. Daniel
	Elstner helped out with this. I'm not totally sure that the
	catch-all TreeViewColumn(title, const ModelColumnBase&)
	constructor won't have ambiguity problems - we might need to
	template the constructor isntead.
	* Used this in
	demos/gtk-demo/example-stockbrowser.cc and exampels/paned.

2002-05-07  Murray Cumming  <murrayc@usa.net>

	* Gtk::CellRenderer: Added virtual _property_renderable() method,
	which returns the PropertyProxy of whatever property that renderer
	actually renders, so that application coders don't need to
	manually specify it.
	* Gtk::TreeViewColumn: Added set_renderer() which is much like the
	existing add_atrribute(), but which gets the appropriate
	renderable property.
	*Used this in demos/gtk-demo/example_stockbrowser.cc.

2002-05-07  Murray Cumming  <murrayc@usa.net>

	* Gtk::Object: wrapped "destroy" signal.
	* Gtk::Container: Added override of on_destroy(), to remove child
	widgets before the refcount reaches zero rather than
	afterwards. See comments in code. This fixes an occasional
	refcount problem when using Gtk::manage().
	Problem found by Jarek Dukat.

2002-05-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_treeview_editable_cells.cc: Remove
	Glib::wrap() for GtkTreePath*, because Gtk::TreeModel::get_path()
	now returns the C++ type Gtk::TreePath.

2002-05-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/class_boxedtype_static.m4: Ooops, forgot to generate
	the Glib::Value<> specializations for static Boxed Types.

2002-05-06  root  <murrayc@usa.net>

	* Gtk::TreePath: Added TreePath(const TreeIter&) constructor, as a
	convenience.

2002-05-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* tests: New testsuite directory.
	* tests/main.cc: Just #include all toplevel headers, and provide
	a dummy main() function.
	* tests/glibmm_value.cc: Try various explicit instantiations of
	the Glib::Value<> template.

2002-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/value_custom.h: Rename Glib::Value_Custom<> to
	Glib::Value<>.  Merge the Glib::Value code for generic pointers
	and Glib::Object pointers into one Glib::Value_Pointer<> template.
	By using a freaky overloading technique, it transparently switches
	to the right implementation.  The Glib::Value<> specializations
	for pointers simply inherit from Value_Pointer<>.

	* glib/glibmm/value.h: Rename Glib::Value<> to Glib::Value_Boxed<>.
	Remove the Glib::Value<> specializations for pointers, since this
	is now implemented in value_custom.h.

	* tools/m4/class_boxedtype.m4: Generate a specialization of
	Glib::Value<> for each BoxedType wrapper class.

	* gtk/gtkmm/treemodelcolumn.h: Gtk::TreeModelColumn_Custom<> is
	no longer needed, since custom types can now be used transparently.

	* demos/gtk-demo/demowindow.cc: Use TreeModelColumn<type_slotDo>
	for the slot column -- TreeModelColumn_Custom is no longer needed.

2002-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/value_custom.{cc,h}: New files, implementing a
	Glib::Value_Custom<> template.  It can be used with any C++ types
	which are suitable for use with containers (i.e. copyable).  For
	each C++ type, a subtype of G_TYPE_BOXED is created on the fly,
	using typeid().name().  Value_Custom<> also has specializations
	for pointer types, which use G_TYPE_POINTER instead.

	* glib/glibmm/value.{cc,h}: Remove Glib::ValueBase_Pointer and
	Glib::Value_Pointer<>.  They are replaced by Glib::Value_Custom<>.

	* gtk/gtkmm/treemodelcolumn.h: Replace TreeModelColumn_Pointer<>
	with TreeModelColumn_Custom<>, using the new Glib::Value_Custom<>.
	Make the Gtk::TreeModelColumnRecord dtor virtual, and the data
	members private again.

	* demos/gtk-demo/demowindow.cc: Use TreeModelColumn_Custom<> for
	the slot column.  This is much cleaner, because we no longer rely
	on the SigC::Slot being static data.

	Note:  Without the patch attached to bug #80814, you'll see a lot
	of GObject warnings when running the demos, but it'll work anyway.

2002-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treemodel.hg: If Gtk::TreeModel::get_value() is const,
	get_value_impl() has to be const as well.

2002-05-05  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeSelection: removed get_user_data() because it's only
	relevant to C callbacks.
	* Gtk::TreeModel: made get_value() const.	

2002-05-05  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView, TreeModel, TreeStore, TreeViewColumn: many
	get_ and is_ methods are now const. Problem found by Jarek Dukat.
	
2002-05-05  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/notebook.ccg (insert_page): Remove default arguments
	from the implementation's prototype, so that it builds again with
	gcc-3.1 and other recent compilers.

2002-05-04  Murray Cumming  <murrayc@usa.net>

	* Gtk::Notebook: Removed STL-style interface because the
	GtkNotebook GList* is private in GTK+, and the STL-style interface
	was only still working due to a terrible hack. Maybe we'll add an
	STL-style interface in future if we see how, but it's difficult.
	* demos/gtk-demo and examples/notebook: Updated for changed
	Gtk::Notebook interface.
	* Added new GtkNotebook methods.

2002-05-02  Murray Cumming  <murrayc@usa.net>

	* tools/m4/WrapParser.pm: Added custom_default_handler optional
	arg to _WRAP_SIGNAL() macro.
	* Gdk::Dialog: Used that optional arg to implement a custom
	default signal handler for the response signal, to ensure that the
	dialog is hidden when run() is about to end.

2002-05-02  Murray Cumming  <murrayc@usa.net>

	* Docs/tutorial/gtkmm-tut.xml: Added RefPtr information for people
	who aren't familiar with smartpointers.

2002-05-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/toolbar.hg (Gtk::Toolbar): Rename the methods
	{get,set,unset}_style() to {get,set,unset}_toolbar_style(),
	and signal_style_changed() to signal_toolbar_style_changed().
	The original names were insane, because they hid several
	Gtk::Widget methods with identical names.  The new naming
	convention matches those of property "toolbar_style".

	* examples/stock/stock.cc: Take account for the Gtk::Toolbar
	API change described above.

2002-05-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/style.hg: Remove "Style::" prefix from the method
	declaration of get_background().  Looks like an accident.

2002-05-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/table.hg (Gtk::Table): Reformat reference documentation,
	and convert all tags to Doxygen.  Also remove all method comments,
	since they weren't in Doxygen style and should be merged from the
	GTK+ documentation anyway.  (This patch fixes bug #80489.)

2002-04-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in: Require GTK+ 2.0.1 -- we rely at least on the
	UTF-8 version of g_logv(), and probably some other stuff too.
	Bump gtkmm version to 1.3.13.  (I'm not sure about the binary
	interface version, thus left it as is.)

2002-04-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/unicode.{ccg,hg}: New files, containing several
	enums and functions for character classification.
	* glib/glibmm/ustring.{cc,h}: Use C++ enum Glib::NormalizeMode.

	* glib/src/fileutils.{ccg,hg}: Remove the currently unused 2nd
	argument of Glib::Dir::Dir() -- we can just overload if needed.
	Add comment explaining why Glib::DirIterator::operator++(int)
	returns void.

2002-04-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/private/Makefile.am: Distribute and install
	the gtkmmproc-generated private headers.

2002-04-30  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/Enum.pm (beautify_values): Rewrite.  The former
	implementation was too tricky, it could end up assigning plain
	wrong enumeration values.
	* glib/src/glib_enums.defs: Correct misdetected enums.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Don't #include <glibmm.h> when building
	glibmm itself.
	* tools/m4/enum.m4: Add support for NO_GTYPE flag, to be used
	if the C enum type isn't registered in the GObject type system.
	* tools/pm/WrapParser.pm, tools/pm/Output.pm: Add support for
	NO_GTYPE flag to _WRAP_ENUM, as decribed above.
	* tools/pm/WrapParser.pm (on_wrap_enum): Also handle Qt-style
	comment blocks.

	* glib/src/convert.hg: Fix typo: GIconv -> GIConv.
	* glib/src/spawn.hg: Wrap enum GSpawnError.
	* glib/src/spawn.ccg: Catch any exceptions from the child_setup
	slot.  Avoid passing the callback pointer if child_setup is empty.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Remove the quotes in di`'vert and un`'divert,
	because they broke the build and aren't needed.  (Never let the
	syntax highlighting confuse you :)

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Change the m4 builtin macro aliasing scheme,
	e.g. builtin() is aliased to m4_builtin() instead of _BUILTIN().
	This makes m4 builtins easier recognizeable and improves syntax
	highlighting in decent editors.
	* tools/m4/base.m4, tools/m4/convert_base.m4: Use the new m4
	builtin macro aliases.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/gerror.m4: Place the implementation in
	SECTION_SRC_GENERATED instead of SECTION_CC.  It seems
	SECTION_CC is only pulled from the _CLASS* macros, which
	glibmm doesn't use currently.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/convert.{cc,h}, glib/glibmm/thread.{cc,h}:
	Remove files.
	* glib/src/convert.{ccg,hg}, glib/src/thread.{ccg,hg}:
	New files, replacing the old ones in the glib/glibmm/
	directory.  Make use of _WRAP_GERROR().

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/pixbuf.hg: Remove _WRAP_ENUM() for GdkPixbufError,
	since it is now wrapped automatically as Gdk::PixbufError::Code.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/src/glib_enums.defs, glib/src/glib_functions.defs,
	glib/src/gobject.defs, glib/src/gobject_enums.defs,
	glib/src/gobject_functions.defs: New .defs files for glibmm.

	* glib/glibmm/fileutils.{cc,h}, glib/glibmm/shell.{cc,h},
	glib/glibmm/spawn.{cc,h}: Remove files.

	* glib/src/fileutils.{ccg,hg}, glib/src/shell.{ccg,hg},
	glib/src/spawn.{ccg,hg}: New files, replacing the old ones
	in the glib/glibmm/ directory.  Make use of _WRAP_GERROR().

	* glib/glibmm/value.cc, glib/src/value_basictypes.cc.m4:
	Remove #include <glibmm/value_basictypes.cc> from value.cc,
	since it can be built separately now.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/Enum.pm: Add missing array initializers.
	* tools/pm/WrapParser.pm: New sub on_wrap_gerror() for _WRAP_GERROR.
	The enum type is now wrapped automatically, and defined in the
	corresponding exception class.  Gdk::PIXBUF_ERROR_FAILED becomes
	Gdk::PixbufError::FAILED, for instance.  Also, _WRAP_GERROR now
	supports an optional NO_GTYPE flag, to be used if the C enum type
	has no _get_type() function.
	* tools/pm/Output.pm: New sub output_wrap_gerror().  Look up the
	enum defs and pass name=value pairs to the m4 _GERROR() macro.
	* tools/m4/gerror.m4: Rename _WRAP_GERROR to _GERROR.  Wrap the
	error code enum in the exception class as described above.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/GtkDefs.pm: Split the scary mega-regex (the one that
	breaks up the Lisp statements) into multiple lines.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* build_shared/Makefile_build*.am_fragment: Add .PHONY targets.
	* gtk/Makefile.am: Remove superfluous 'gtkmm.h' from EXTRA_DIST.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	Glibmm has now separate source/build directories,
	so that gtkmmproc can be used to generate the code.

	* glib/glibmm/*.m4: Move files into glib/src/.
	* glib/glibmm/wrap_init.cc: Remove, it's now auto-generated.
	* glib/glibmm/Makefile.am: Remove *.m4 build rules.
	* glib/Makefile.am: Add 'src' to SUBDIRS.
	* glib/src/Makefile.am, glib/src/Makefile_list_of_hg.am_fragment:
	New files.
	* configure.in: Add new Makefiles.

2002-04-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/class.{cc,h}: Remove ctor and dtor of Glib::Class,
	because it is used only statically.  See the comment in class.h.

2002-04-27  Martin Schulze  <MHL.Schulze@t-online.de>

	* demos/gtk-demo/demowindow.cc: fix segfault in
	DemoWindow::on_treeview_row_activated() when clicking on the `Tree
	View` parent item.

2002-04-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/gerror.m4: Make throw_func() private rather than
	protected, and exclude friend void wrap_init() from Doxygen.

2002-04-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/generate_wrap_init.pl.in: Define G_GNUC_CONST to empty,
	so that the get_type() functions won't be optimized away if the
	return value is unused.

2002-04-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/class.{cc,h}, tools/m4/class_shared.m4: Move most
	of the get_type() code into Glib::Class::register_derived_type().
	The base class information is always retrieved dynamically using
	g_type_query().  This fixes the AtkStateSet/AtkRealStateSet problem.

2002-04-27  Murray Cumming  <murrayc@usa.net>

	* examples/paned/paned.cc: Updated to use the
	derived-TreeModelColumnRecord technique with Gtk::TreeView.

2002-04-24  Martin Schulze  <MHL.Schulze@t-online.de>

	Modifications to the Stock-API:
	* gtk/src/button.{ccg,hg}: Remove convinience constructor for
	BuiltinStockID. It should be redundant because of removed ambiguity.
	* gtk/gtkmm/stock.{cc,h}:
	- Put BuiltinStockID in namespace Gtk rather in Gtk::Stock. Then
	we have Gtk::StockID, Gtk::BuildinStockID, Gtk::StockItem and
	the Gtk::Stock namespace for globals and static functions. This
	looks like the most consistent hierarchy.
	- Add two functions to make the API clearer:
	bool lookup(const Gtk::StockID&, Gtk::IconSet&);
	bool lookup(const Gtk::StockID&, Gtk::IconSize, Gtk::Image&);
	The pure gtk API for stock-ids, -items, -icons is a bit
	confusing and it's difficult to find the functions to lookup the
	different things that can be associated with stock-ids. Secondly
	the list returned by Gtk::Stock::get_list_ids() includes both
	stock-ids associated with stock-items and stock-icons. So again
	this is more consistent.
	* gtk/src/stockitem.{ccg,hg}: Add static method to StockItem:
	static StockItem lookup(const Gtk::StockID& stock_id);
	This makes the API consistent with Gtk::IconSet and Gtk::Image
	because these classes also have functions to look up a stock-id.
	* gtk/gtkmm/stockid.{cc,h}: Gtk::Stock::BuiltinStockID becomes
	Gtk::BuiltinStockID.

2002-04-25  Michael v. Szombathely <szombath@bifab.de>

	* gtk/src/table.hg: Added cast when ORing Gtk::AttachOptions
	flags for a default argument value, because some versions (certain 
	patches?) of Sun/Forte don't  the operator| overloads for
	enums. Users of those compilers might still have problems with the
	examples.

2002-04-25  Murray Cumming  <murrayc@usa.net>

	* tools/generate_wrap_init.pl.in: wrap_init() functions now
	call the get_type() methods to register the gtypes. It is
	therefore necessary for them to #include the widget headers,
	I needed to add some extra code to stop the compiler from optimising
	away the get_type() call - that is strange.
	* tools/m4/gerro.m4:The above change showed that the Error
	throw_func() methods should be protected+friend rather than
	private.
	* These changes were needed by libglademm, which instantiates
	gtkmm's derived gtypes based on the registered gtype names.

2002-04-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Makefile.am: 'make post-html' no longer rebuilds
	the docs unnecessarily.  Also, merge the post-html-tarball and
	post-html rules, i.e. 'make post-html' does now upload a .tar.bz2
	package first, and extracts it on the SF server.  This greatly
	speeds up matters, particularly because of bzip2.

2002-04-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Makefile.am: If the GTK+ reference documentation
	isn't installed, try looking into $(top_srcdir)/../gtk+ for a GTK+
	source tree from CVS.

2002-04-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/cxx_std.m4, configure.in, glib/glibmmconfig.h.in:
	Implement macro GTKMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS, in order
	to work	around the lack of proper sequence ctors in Sun's libCstd.

	* glib/glibmm/containerhandle_shared.h, glib/glibmm/arrayhandle.h,
	glib/glibmm/listhandle.h, glib/glibmm/slisthandle.h: Don't rely
	on standard-conform sequence constructors, unless the macro
	GTKMM_HAVE_TEMPLATE_SEQUENCE_CTORS is defined.

2002-04-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* build_shared/Makefile_gensrc.am_fragment: Take into account
	that generate_wrap_init.pl now lives in $(top_builddir)/tools/.
	Also, change wrap_init.cc's dependency on generate_wrap_init.pl
	to generate_wrap_init.pl.in, to avoid excessive rebuilds.

	* scripts/macros.m4 (GTKMM_CHECK_PERL): Bring to perfection.

2002-04-21  Michael v. Szombathely <szombath@bifab.de>

	* examples/idle/idle.cc, examples/book/timeout/timerexample.cc,
	examples/dialog/dialog1.cc, examples/dialog/dialog3.cc,
	examples/dialog/dialog2.cc, examples/entry/entry.cc,
	examples/progressbar/progressbar.cc, examples/filesel/filesel.cc,
	examples/scrolledwin/scrolledwin.cc: compatibility patch for Sun
	Forte C++ compiler (pointer to member functions are only allowed
	for implemented member functions of a class, not for non-static
	member functions of base classes)
	
2002-04-25  Murray Cumming  <murrayc@usa.net>

	* Gtk::Dialog::get_action_area() now returns a HButtonBox instead
	of a HBox. It's just a GtkWidget* in the GTK+ header, so we didn't
	know it had changed.

2002-04-24  Murray Cumming  <murrayc@usa.net>

	* tools: generate_wrap_init.pl is now generated from 
	generate_wrap_init.pl.in in the same way as gtkmmproc. This allows
	it to contain the correct perl path. Also like gtkmmproc, it is
	now installed as an executable script.

2002-04-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/extra_defs_gen/Makefile.am: Don't use $(common_ldflags),
	since it is defined in build_shared/Makefile_build.am_fragment,
	which is not included.  Reported by <szombath@bifab.de>.

2002-04-24  Murray Cumming  <murrayc@usa.net>

	* tools/m4/base.m4: Added _GTKMMPROC_H_AND_C() macro, used to 
	put stuff in the .h and .cc files. Needed for surrounding
	generated code with #ifndef/#endif for Windows.

2002-04-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/macros.m4 (GTKMM_CHECK_PERL): Re-indent, and make
	use of AC_CACHE_CHECK.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/generate_wrap_init.pl: Look for _WRAP_GERROR, and
	not its old name _CLASS_GERROR.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/cxx_std.m4, glib/glibmmconfig.h.in, configure.in:
	Implement specific configure tests for std::iterator_traits<>
	and Sun's std::reverse_iterator<>.  Define macros accordingly.
	* glib/glibmm/ustring.h: Check for the new specific macros
	instead of #ifdef __SUNPRO_CC.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Remove (hopefully) redundant uses of
	the 'typename' keyword -- when I added them I wasn't sure if those
	are needed, but it doesn't seem so.  It might well be that some
	compilers choke on too extensive 'typename' usage.

2002-04-21  Michael v. Szombathely <szombath@bifab.de>

	* glib/glibmm/arrayhandle.h, glib/glibmm/listhandle.h,
	glib/glibmm/slisthandle.h, glib/glibmm/thread.h:  Proper use of
	typename, added for template members, where typedefs are involved.

2002-04-23  Murray Cumming  <murrayc@usa.net>

	* tools/pm/Output.pm: output_wrap_create(): Default method arg
	values will not now appear in the .cc files, because various
	compilers complain about that.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/gtkmm/stock.{cc,h}, demos/gtk-demo/example_stockbrowser.cc:
	Rename Gtk::Stock::get_list_ids() to Gtk::Stock::get_ids().

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/gtkmm/stock.h: Use the @image tag to include the
	stock icon pixmaps in the reference docs.  Looks cute!

	* gtk/gtkmm/stock.{cc,h}: Remove BuiltinStockID::operator
	Glib::ustring(), to avoid overloading ambiguities.  Return
	a list of StockIDs from Stock::get_list_ids(), instead of
	a ustring list.
	* gtk/gtkmm/stockid.{cc,h}: Make the StockID(const Glib::ustring&)
	ctor explicit, and also add an explicit StockID(const char*) ctor,
	which accepts 0 strings.  Implement StockID::equal(), and call it
	from non-member operators == and !=.
	* gtk/gtkmm/stockid.{cc,h}: Add get_c_str() method, so that the
	questionable construct 'get_string().c_str()' is no longer needed.
	* gtk/gtkmm/stockid.h: Define StockID_Traits for use with the
	container handles, and a Glib::Value<Gtk::StockID> specialization.

	* tools/m4/convert_gtk.m4, gtk/src/button.ccg,
	gtk/src/dialog.{ccg,hg}, gtk/src/image.ccg,
	gtk/src/imagemenuitem.ccg: Overload for Gtk::StockID where
	necessary, and replace 'get_string().c_str()' with get_c_str().

	* gtk/src/treesortable.hg, tools/m4/convert_gtk.m4: Rename the
	original set_sort_column_id() to set_sort_column_id_vfunc(), and
	use two overloaded set_sort_column() methods instead.  Now we
	have an overload for const TreeModelColumnBase&.

	* demos/gtk-demo/example_stockbrowser.cc: Convert to the new
	StockID interface, and make use of the Gtk::TreeSortable sorting
	facility, rather than doing it manually.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/value.{cc,h} (Glib::ValueBase_String): Add
	set_cstring() method, which might be useful when deriving
	from Glib::ValueBase_String.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/example_dialog.cc: Don't use sprintf(), it's
	just insane.  Comment out unused variables to avoid warnings.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/box.hg: Reference documentation cleanup.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/DocsParser.pm: Refine the regexps a bit, and add
	a special "g_" -> "Glib::" substitution.

	* docs/reference/Makefile.am, docs/reference/Doxyfile.in:
	Try to determine the GTK+ HTML docs location, and pass it as
	IMAGE_PATH to Doxygen.  Thus we can now use the @image tag to
	include images from the GTK+ docs.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Define our own Glib::IteratorTraits<T>
	when compiling with Sun's libCstd.  This way, we can honestly
	blame the std::string implementation for any remaining problems.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.h: Add Sun libCstd kludge.  This is broken
	since it disables API, but it might help to get gtkmm itself
	compiled.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.{cc,h}: Make Glib::PollFD a real class, not
	just a typedef.  This allows wrapping the gushort events/revents
	members with Glib::IOCondition accessors.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* autogen.sh: Abort on errors.

2002-04-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/docgen.m4: New file containing macros related to
	generation of reference documentation.
	* scripts/macros.m4: Add GTKMM_CHECK_PERL(version) macro, which
	checks for the given Perl version but doesn't require it, unless
	maintainer-mode is enabled.
	* configure.in: Use the new macros.

2002-04-22  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.{cc,h}: Implement new SequenceToString<>
	converter concept, which allows now for both 'char' and 'gunichar'
	sequences.  Also, make some methods strongly exception-safe as they
	should be, remove a couple of unnecessary methods, and improve the
	reference documentation (member groups -- looks really nice).

2002-04-22  Murray Cumming  <murrayc@usa.net>

	* tools/convert_gdk.m4: Changed some conversions from 
	const RefPtr<const>& to non-const gobjects, in an attempt to 
	solve ambiguities when using Sun's Forte compiler. Problem
	found by Michael v. Szombathely.

2002-04-21  Michael v. Szombathely <szombath@bifab.de>

	* glib/glibmm/ustring.h: special typedef for reverse_iterator in
	case of the Forte C++ Compiler introduced (#ifdef__SUNPRO_CC
	... #endif)
	
2002-04-21  Michael v. Szombathely <szombath@bifab.de>

	* glib/glibmm/object.h, glib/glibmm/interface.h,
	tools/m4/class_gtkobject.m4, tools/m4/class_shared.m4,
	tools/m4/class_interface.m4, tools/m4/class_gobject.m4: some
	friend declarations changed (a typedef name cannot be used in an
	elaborated type specifier)

2002-04-21  Michael v. Szombathely <szombath@bifab.de>
 
	* gdk/src/types.hg, gtk/gtkmm/clipboard.cc,
	examples/eventbox/eventbox.cc: some missing return added
	
2002-04-21  Michael v. Szombathely <szombath@bifab.de>

	* gtk/src/radiobutton.hg, gtk/src/radiomenuitem.hg: Gtk:: added
	for nested namespace irritations in friend declarations
	
2002-04-21  Michael v. Szombathely <szombath@bifab.de>

	* pango/src/fontfamily.hg, gdk/src/visual.hg, gdk/src/drawable.hg,
	gtk/src/widget.hg, gtk/src/entry.hg, gtk/src/statusbar.hg: extra
	semicolons after some wrapper macros removed (Warning: extra ";"
	ignored.)
	
2002-04-21  Michael v. Szombathely <szombath@bifab.de>
 
	* pango/src/layoutline.hg, gdk/src/pixmap.hg, gtk/src/adjustment.ccg,
	gtk/src/bin.ccg, gtk/src/imagemenuitem.ccg, gtk/src/statusbar.ccg:
	illegal default arguments (in function declarations) removed
 
	
2002-04-21  Murray Cumming  <murrayc@usa.net>

	* gtkmmproc now parses _WRAP_CORBA_METHOD() and emits a suitable
	_CORBA_METHOD() m4 macro. This is for libbonobomm, which
	implements that m4 macro. This is not the ideal place for this,
	but it's easier to do the text processing in perl here than in m4 
	later.

2002-04-21  Murray Cumming  <murrayc@usa.net>

	* tools/m4/WrapParser.m4: Don't hardcode _CLASS_GTKOBJECT, 
	_CLASS_GOBJECT, etc - just check for the _CLASS prefix. This
	allows other packages to implement other _CLASS
	macros following the same pattern. e.g. _CLASS_BONOBOOBJECT in
	libbonobomm.
	* tools/m4/class_gerror.m4 renamed to gerror.m4, and renamed
	_CLASS_GERROR to _WRAP_GERROR, because it doesn't follow the
	_CLASS_* macro pattern.

2002-04-20  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/container.{ccg,hg} (Gtk::Container): Clean up
	foreach(), and rename ForeachCallback to ForeachSlot.  Make
	use of foreach() to simplify show_all_children().
	* gtk/src/fileselection.hg (Gtk::FileSelection): Change the
	return type of get_filename() to std::string, since it doesn't
	return a UTF-8 string.  Add missing get_selections() wrapper.

2002-04-19  Murray Cumming  <murrayc@usa.net>

	* /build_shared/Makefile_build.am_fragment:
	Fix for Solaris/Forte link error: removed -no-undefined argument, 
	which seems to cause the -z defs argument to be supplied, which
	seems to lead to linker errors.
	The same fix was recently applied to libsigc++.

2002-04-16  Martin Schulze  <MHL.Schulze@t-online.de>

	* gdk/src/types.{ccg,hg}: Change Gdk::Point into a real
	wrapper using _CLASS_GENERIC and handcoding gobj() and wrap().

2002-04-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/thread.cc (Glib::StaticMutex::operator Mutex&):
	Don't assume GStaticMutex is a struct.  On Win32, for instance,
	it's just a typedef to struct _GMutex*.

	* glib/glibmm/main.h: Add missing CppObjectType and BaseObjectType
	typedefs in Glib::MainLoop and Glib::MainContext.
	* glib/glibmm/main.cc: Check whether the fds vector is empty in
	MainContext::query() and MainContext::check().  Also, simplify
	the code a little.

2002-04-18  Murray Cumming  <murrayc@usa.net>

	* Gtk::Adjustment constructor now set the value. Bug #79128
	reported by co2b@ceres.dti.ne.jp.

2002-04-18  Murray Cumming  <murrayc@usa.net>

	* gtk/gtkmm/stock.cc: The BuiltinStockID constants are now set
	from the GTK+ #define macros, not by duplicating the text to which
	those macros are defined.
	* Examples updated for namespaced enums and stock ids.

2002-04-18  Murray Cumming  <murrayc@usa.net>

	* Some GObject-based wrappers had public constructors. Now they don't.

2002-04-18  Murray Cumming  <murrayc@usa.net>

	* tools/m4/class_shared.m4: gtkmm's derived gtype names are now
	just the base gtype name prefixed with "gtkmm__". This will allow
	libglade to instantiate the appropriate gobject for
	libglademm. These gobjects will have hooks to our C++ instances
	after Glib::wrap() is called on them to create the C++ instance.

2002-04-17  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeView: Changed some functions to use SigC::Slots rather
	than function pointer callbacks.

2002-04-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.cc: Implement MainContext::wakeup(), rather
	than just declaring it.  Reported by Erwin Rol <erwin@muffin.org>.

2002-04-17  Murray Cumming  <murrayc@usa.net>

	* API review of Gtk::Toolbar, adding some _IGNORE()s and
	implementing some methods and properties.

2002-04-16  Martin Schulze  <MHL.Schulze@t-online.de>

	In the following function definitions occurencies of
	"const Glib::ustring& stock_id" were changed to
	"const Gtk::StockID& stock_id":

	* gdk/src/dragcontext.hg: Gtk::DragContext::set_icon()
	* gtk/src/toolbar.{ccg,hg}:
	Gtk::Toolbar_Helpers::Element::Element(),
	Gtk::Toolbar_Helpers::StockElem::StockElem()
	* gtk/src/image.{ccg,hg}: Gtk::Image::Image(),
	Gtk::Image::set(), Gtk::Image::get_stock()
	* gtk/src/widget.hg: Gtk::Widget::render_icon(),
	Gtk::Widget::drag_source_set_icon()
	* gtk/src/iconset.{ccg,hg}: Gtk::IconSet::lookup_default()
	* gtk/gtkmm/stock.{cc,h}: Gtk::Stock::lookup()

	* tools/m4/convert_gtk.m4: Add conversion from
	"const Gtk::StockID&" to "const char*"
	
2002-04-16  Murray Cumming  <murrayc@usa.net>

	* Removed lots of gtk C header includes, by generating struct
	prototypes for gobject and boxedtype wrappers. There's probably
	still a few more to remove.

2002-04-15  Murray Cumming  <murrayc@usa.net>

	* Gtk::AccelGroup: Added signals
	* Added a couple more _IGNORE()s.

2002-04-15  Martin Schulze  <MHL.Schulze@t-online.de>
 
	* gtk/src/menuitem.{ccg,hg}: Add "explicit MenuItem(Widget& widget)"
	constructor. It creates a MenuItem with "widget" as its child.

	* gtk/gtkmm/menu_elems.{cc,h}: Add "Element(MenuItem& child)"
	constructor. It creates a MenuItem with "widget" as its child.
	Implement ImageMenuElem. Change StockMenuElem constructors to
	take a "const Gtk::StockID&" rather than a "const Glib::ustring&"
	
2002-04-15  Murray Cumming  <murrayc@usa.net>

	* Dealt with a few TODO comments in the .hg files, adding
	Atk::StateSet::add_states() and contains_states()
	
1.3.11:

2002-04-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/gdkmm.h: Remove #include <gdkmm/main.h>.  Bug reported
	by Kfir Ozer.
	* demos/gtk-demo/Makefile.am: Add pixmap files to EXTRA_DIST.
	Reported by Kfir Ozer.

	* configure.in: Only check for Perl if maintainer-mode is
	enabled, and use autoconf macros for the version check.

	* configure.in: Bump version to 1.3.11.

2002-04-13  Murray Cumming  <murrayc@usa.net>

	* glib/glibmm-2.0.pc.in: glibmm now requires gobject. This fixes
	a linker problem when using glibmm without gtkmm. Bug reported by
	Kfir Ozer.

1.3.10:
	
2002-04-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/button.hg: Make the Doxygen @example tag work, just by
	using buttons.h as example file.  It doesn't work with buttons.cc,
	because that file doesn't mention Gtk::Button anywhere.  Note the
	use of a /*! ... */ (Qt-style) comment block: with /** ... */, the
	brief description got lost somehow.
	* docs/reference/Doxyfile.in: Replace ../../examples with
	@top_srcdir@/examples.
	* gtk/src/buttonbox.hg: Put the anonymous enum that defines
	BUTTONBOX_DEFAULT into the gtkmmEnums group.  Also, remove
	obsolete comment about the possible values of GtkButtonBoxStyle.

2002-04-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Makefile.am: Delete the html directory before
	running Doxygen, to avoid outdated files in the documentation.

2002-04-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* build_shared/Makefile_build_gensrc.am_fragment: Add new
	target "cvsignore" for quick'n'easy auto-generation of
	$(srcdir)/.cvsignore and $(srcdir)/private/.cvsignore.

	(There was a simple *.cc *.h pattern in gtk/gtkmm/.cvsignore.
	I don't think that's a good idea, since some of the sources
	aren't built.  Also, the '?' on cvs update is quite helpful,
	for instance as a reminder to delete those files before running
	Doxygen.  "make cvsignore" will do the job for you now.)

2002-04-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/pixbuf.hg (Pixbuf::save): Use Glib::StringArrayHandle
	instead of Glib::SArray.
	* gdk/src/pixbuf.ccg (Pixbuf::save): Call gdk_pixbuf_savev()
	instead of gdk_pixbuf_save(): the latter just forwards to
	gdk_pixbuf_savev() anyway, thus there's no reason to use the
	ugly varargs function at all.

2002-04-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.cc (SignalIO::connect): wrap(context_)
	should have been called with take_copy=true.  But instead of
	doing so, just call g_source_attach() directly, which avoids
	the unnecessary referencing.
	* glib/glibmm/main.{cc,h}: Clean up the code a bit, and add
	more documentation.
	* glib/glibmm/containers.h: Hide the entire header from Doxygen.

2002-04-10  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/progressbar.hg: Remove accessors for deprecated
	properties, as well as the ProgressBar(Adjustment&) ctor.
	* examples/idle/idle.cc, examples/progressbar/progressbar.cc:
	Fix examples to work with the new ProgressBar interface.
	* glib/glibmm/main.h: Use PRIORITY_DEFAULT_IDLE as default
	priority argument to SignalIdle::connect().

2002-04-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/arrayhandle.h:
	Add ArrayHandleIterator<Tr>::operator[], just to be complete.

2002-04-07  Martin Schulze  <MHL.Schulze@t-online.de>

	* glib/glibmm/main.{cc,h}: Add Glib::IOSource, Glib::SignalIO,
	Glib::signal_io() and Glib::MainContext::signal_io() for polling
	file descriptors or the OS's equivalent.

2002-04-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* build_shared/Makefile_build.am_fragment: Define
	{G,GDK,GTK}_DISABLE_DEPRECATED when building gtkmm.

	* gdk/gdkmm/main.{cc,h}, gdk/src/font.{ccg,hg}: Deprecated.
	Surround entire headers by #if 0 / #endif, and exclude them
	from the build.
	* gdk/src/colormap.hg, gdk/src/drawable.hg, gdk/src/window.hg:
	Remove wrappers of deprecated functions.

	* gtk/src/progress.{hg,ccg}: Deprecated.  Surround entire
	header by #if 0 / #endif, and exclude it from the build.
	* gtk/src/progressbar.hg, tools/m4/class_shared.m4:
	Gtk::ProgressBar now derives directly from Gtk::Widget.  In
	class_shared.m4, use (CppClassParent::BaseClassType*) instead
	of (BaseClassParent*) when calling the gtkmm base class' init
	function.
	* gtk/src/container.hg, gtk/src/notebook.hg, gtk/src/object.ccg,
	gtk/src/object.hg, gtk/src/progressbar.hg, gtk/src/rc.ccg,
	gtk/src/rc.hg, gtk/src/style.ccg, gtk/src/style.hg,
	gtk/src/tooltips.hg: Remove wrappers of deprecated functions.

2002-04-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/pm/DocsParser.pm: Convert the C documentation to C++,
	i.e. replace references to types or functions where possible.
	Move the Doxygen comment generation out of the parser callbacks
	and into lookup_documentation().  Also, parse the parameter and
	return value descriptions as well.
	* tools/pm/Object.pm: New perl module for parsing (define-object)
	defs.  This is currently used only by DocsParser.pm, but might be
	useful elsewhere as well.  For instance, we could add sanity
	checks to _WRAP_CTOR, to ensure a property actually exists in
	the class or one of its base classes.
	* tools/pm/GtkDefs.pm: Add new subs lookup_object() and
	lookup_method_dont_mark(), for use by DocsParser.pm.

	* tools/pm/Function.pm (get_refdoc_comment): Generate a prototype
	instead of @param tags for each parameter.  The reasons are:
	1) Doxygen complains since the @param tags don't correspond
	to actual parameters of our signal accessors.
	2) @param is for documentation of parameters, but we just
	mentioned the argument type.  This style doesn't correspond
	to our other documentation either.
	3) A prototype is just much easier to read.  Also, think of
	cut'n'paste into source code.

	* tools/pm/Enum.pm, tools/pm/Output.pm: New sub beautify_values(),
	stripping enum values if they aren't needed, to make the docs less
	noisy.  Move the hack for GdkEventType into Enum.pm.
	* tools/pm/WrapParser.pm (output_wrap_enum): Look back if there
	was a Doxygen comment in front of _WRAP_ENUM.  If so, strip it
	from the output and pass it to the m4 _ENUM macro instead.
	* tools/m4/enum.m4: Put all enums and corresponding bitwise
	operators into a separate Doxygen group, e.g. gtkmm_Enums if the
	module is gtkmm.  Don't use @relates for the operators, because
	Doxygen doesn't support it for enums.  Instead, mention them in
	the docs of the corresponding enum type, in a separate paragraph.
	* gtk/src/enums.hg: Rename IconSizeBuiltin to BuiltinIconSize.

	* docs/reference/beautify_docs.pl, docs/reference/Makefile.am:
	New perl script to modify the html generated by Doxygen, in favor
	of our coding style.  For instance, it replaces "Foo &bar" with
	"Foo& bar" in prototypes.  I tried to hack Doxygen itself instead,
	but the code is horrible (not to mention the Qt specific stuff), and
	it seems to rely in several places on a certain prototype format.

2002-04-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Introduce more alternative names for m4
	built-in macros: _TRANSLIT, _PATSUBST and _REGEXP.  The old
	ones are still there, to allow slow transition.  Also unify
	the _PH_INCLUDE and _CC_INCLUDE macros.
	* tools/m4/base.m4, tools/m4/class_boxedtype*.m4:  Define new
	shared utility macro _GET_TYPE_FUNC in base.m4, and use it
	instead of a custom __GET_TYPE__ macro in the other m4 files.

2002-04-08  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeiter.ccg, gtk/src/{list,tree}store.ccg:
	Fix crash in erase() after erasing the last row.
	* gtk/src/treeiter.hg, gtk/gtkmm/treemodelcolumn.h:
	Add documentation.

2002-04-02  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/value.{cc,h}: Use Glib::RefPtr<Glib::ObjectBase>
	as return type of get_object_copy(), to avoid a leaked
	reference if the dynamic_cast<> fails.

2002-04-02  Murray Cumming  <murrayc@usa.net>

	* Updated examples for new namespace enums.

2002-04-02  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/base.m4: Add temporary extern "C" kludge for
	gdk/gdkenumtypes.h.  Should be removed if GDK has been fixed.
	* glib/glibmm/utility.h, glib/glibmm/value.cc,
	tools/m4/class_boxedtype_static.m4: #define and use the helper
	macro GLIBMM_INITIALIZE_STRUCT.  If supported, the macro makes
	use of compound literals to assign { 0, } to a struct variable.
	* tools/pm/WrapParser.pm: Don't eat the line following #m4.
	* tools/m4/convert_gtk.m4, gtk/src/scale.hg: Move the
	ustring->gchar* conversion that calls g_strdup() into scale.hg,
	and add a comment about it.  I think this should not be in the
	generic convert_gtk.m4 file, which is included everywhere.  It
	could have been used silently somewhere else by accident.
	* tools/pm/gtkmmproc.in, tools/pm/Output.pm: Use the configure
	substitution @M4@, instead of m4 directly.  It could be gm4 on
	some Unices, for instance.
	* tools/pm/Output.pm: Major cleanup of write_sections_to_files().
	It's about half of the original code size now.
	* gtk/src/preview.{ccg,hg}: Deprecated.  Surround the entire file
	by #if 0 / #endif, and no longer include it in the build.

2002-04-01  Daniel Elstner  <daniel.elstner@gmx.net>

	Redesign of Glib::Value and Glib::PropertyProxy
	-----------------------------------------------

	* glib/glibmm/value.{cc,h}: Move generic GValue wrapper into
	class ValueBase.  Replace the overloaded get/set methods by
	specializations of Glib::Value<T>.
	* glib/glibmm/value_basictypes.{cc,h}.m4: Auto-generate the
	Value<T> specializations for fundamental types (e.g. int).
	* tools/m4/class_*.m4: Generate get_base_type() static method,
	to retrieve the GType of the underlying GObject.  This is used
	by the Value<T> specializations for Object pointers.
	* glib/glibmm/property_proxy*.{cc,h}: Use the new Glib::Value<T>
	interface in PropertyProxy<T>, and its _ReadOnly/_WriteOnly
	variants.  The specialized PropertyProxy_Foo classes (e.g. for
	RefPtr) are no longer needed.  Also, derive public from
	PropertyProxy_Base, to allow implicit upcasting.
	* tools/pm/Output.pm, tools/m4/property.m4: Remove all
	PropertyProxy suffixes, except for _ReadOnly/_WriteOnly.
	Note that you now have to pass the complete type to the
	_WRAP_PROPERTY macro, e.g. Glib::RefPtr<Gdk::Bitmap>.

	Implement enum and flags wrapping
	---------------------------------

	* tools/enum.pl: Several fixes and changes, improving the
	correctness and style of the generated defs.  To be able to
	distinguish between the standard enum defs and our special gtkmm
	variation, output define-enum-extended instead of define-enum.
	* pango/src/pango_enums.defs, atk/src/atk_enums.defs,
	gdk/src/gdk_enums.defs, gtk/src/gtk_enums.defs: New .defs
	files containing our extended enum and flags definitions.
	* tools/pm/Enum.pm, tools/pm/Output.pm, tools/pm/WrapParser.pm,
	tools/pm/GtkDefs.pm: Implement defs parser for enums and flags,
	and incorporate it into the code generator.
	* tools/m4/enum.m4: Implement the _ENUM macro.  Apart from the
	enum definition, it also generates a specialization of Value<T>
	for each enum type.  For bitflags enum types, the convenience
	operators | & ~ are generated, too.

	* tools/m4/convert*.m4: Define _CONV_ENUM convenience macro,
	and use it for all wrapped enum types.
	* */*/*: Use _WRAP_ENUM to wrap all flags enum and types used.
	Replace almost all occurences of C enums by C++ enums.
	* gtk/src/enums.{ccg,hg}: New files containing shared enum
	definitions.
	* gtk/src/enums.{ccg,hg}, gtk/src/iconfactory.{ccg,hg}:
	Implement Gtk::IconSize as class rather than enum type, since
	new icon sizes can be added at runtime.  Gtk::IconSize behaves
	like a usual enum, though.  The actual GtkIconSize enum is
	wrapped as Gtk::IconSizeBuiltin.
	* gtk/gtkmm/stock.{cc,h}: Wrap all GTK_STOCK_FOO macros as
	Gtk::Stock::FOO.  Add a simple BuiltinStockID struct to hold
	the predefined stock ids.  This allows overloading of the
	Gtk::Button ctor for BuiltinStockID, to increase convenience.

	* demos/pixbuf-demo.cc, demos/gtk-demo/*.{cc,h}: Search/replace
	changes to use the new C++ enum values.

	TreeModel and TreeIter API improvements
	---------------------------------------

	* gtk/src/treeiter.{ccg,hg}: Extend Gtk::TreeIter to support
	operator++ as well as [begin,end) ranges.  The implementation of
	the latter is quite hacky; documentation coming soon.  Also add
	Gtk::TreeIterChildren class, representing a 'virtual' container
	of child nodes.
	* gtk/src/treemodel.{ccg,hg}, gtk/src/treestore.{ccg,hg},
	gtk/src/liststore.{ccg,hg}: Provide a more STL-like interface.
	For instance, insert/insert_before/insert_after has been replaced
	by a single insert() method with the same functionality.  Adapted
	the code to support the new Gtk::TreeIter: Unfortunately, the code
	needed to emulate [begin,end) ranges is quite fragile.
	* gtk/gtkmm/treemodelcolumn.{cc,h}: Implement the template class
	Gtk::TreeModelColumn, used to bind a column data type to a column
	number.  Gtk::TreeModelColumnRecord is used to store a vector of
	TreeModelColumns.
	* gtk/src/treemodel.{ccg,hg}, gtk/src/treestore.{ccg,hg},
	gtk/src/liststore.{ccg,hg}: Reimplement set_value() / get_value()
	using the new Glib::Value<> interface.  The new methods now use a
	TreeModelColumn<T> instead of the column index.  The cell type
	will be deducted implicitly from the TreeModelColumn passed in.
	Thus, the API is now type-safe, and get_cell() doesn't need to
	use an output argument.
	* gtk/src/treeviewcolumn.{ccg,hg}: New convient method overload
	add_attribute(PropertyProxy_Base, TreeModelColumnBase).
	* demos/gtk-demo/*.cc: Modify to use the new TreeModel API.

	Gdk::Window, Gdk::Pixmap, Gdk::Bitmap fixes
	-------------------------------------------

	* tools/m4/class_*.m4: Add support for 2 optional arguments to
	the _CLASS_* macros: __REAL_CNAME__ and __REAL_CPARENT__, and use
	those in place of __CNAME__ and __CPARENT__.  Only the cast ctor
	and Glib::wrap() still use the 'unreal' types.
	* gdk/src/window.hg: Use GdkWindowObject as real C instance type.
	* gdk/src/pixmap.hg: Use GdkPixmapObject as real C instance type.
	* gdk/src/bitmap.hg: Use GdkPixmapObject as real C instance and
	parent instance type.

	Loosely related fixes and modifications
	---------------------------------------

	* tools/pm/Output.pm: Apparently, expressions like ($1 eq "#t")
	don't result in either 0 or 1, but in "" or 1.  That caused the
	the property code to never apply _ReadOnly/_WriteOnly suffixes.
	Replace the ($foo eq 0) tests by ($foo ne 1) to get around it.
	* tools/m4/base.m4: Define new macro _CC_INCLUDE to #include a
	header at the top of the .cc file.  The macro magically prevents
	multiple #includes of the same header.
	* tools/m4/base.m4: Rename several m4 builtins to something less
	likely to clash with our code.  I ran into this problem with the
	index() macro, but other ones look problematic too.
	* tools/m4/class_opaque_refcounted.m4: Add comments to explain
	the reasoning for the reinterpret_cast<>.
	* gdk/gdkmm/types.{cc,h}, gdk/src/types.{ccg,hg}: Move the code
	into .ccg/.hg files in the src directory.

2002-04-01  Murray Cumming  <murrayc@usa.net>

	* _DEFS() macros in *.hg files are now used like so:
	_DEFS(modulename,defsname) - e.g. _DEFS(gtkmm,gtk).
	The greater flexibility is needed by libbonobouimm.
	* Added _STRUCT_NOT_HIDDEN which prevents generation of
	forward references for Bonobo, which doesn't use the 
	"typedef struct _SomeStruct SomeStruct" system.

2002-03-25  Daniel Elstner  <daniel.elstner@gmx.net>

	Completely reworked the BoxedType wrappers.  Short summary:

	1) the Glib::BoxedType base class has been removed
	2) simple assignable structs are no longer allocated dynamically
	3) new separate wrapper macros for non-BoxedType opaque structs
	4) automatic generation of relational operators is now separated
	   from the BoxedType wrappers

	* tools/m4/class_boxedtype.m4: Generate static get_type() method,
	to match the other wrappers.  Remove is_null() and operator bool(),
	because they're too internal -- those might be implemented
	individually if the need should arise.  Remove ability to wrap
	foo_type_equal() functions.
	* tools/m4/class_boxedtype_static.m4: New _CLASS_BOXEDTYPE_STATIC
	macro for simple assignable structs like GdkRectangle.  Similar to
	_CLASS_BOXEDTYPE, but the C struct is not allocated dynamically.
	* tools/m4/class_opaque_copyable.m4: New _CLASS_OPAQUE_COPYABLE
	macro for opaque structs with corresponding copy/free functions.
	Very similar to _CLASS_BOXEDTYPE, but without a get_type() method.
	* tools/m4/class_opaque_refcounted.m4: New _CLASS_OPAQUE_REFCOUNTED
	macro for reference-counted opaque structs.  The C++ wrappers are
	not instantiateable and can only be used with Glib::RefPtr<>.
	* tools/m4/class_generic.m4: New _CLASS_GENERIC macro to wrap
	structs which don't fit into any specialized category.  Currently,
	it is only needed to wrap PangoLayoutIter.
	* tools/m4/compare.m4: New macros to generate relational operators:
	_WRAP_EQUAL implements only == and != via a foo_equal() function.
	_WRAP_COMPARE implements all relational operators via foo_compare().
	_WRAP_EQUAL_AND_COMPARE implements == and != via foo_equal(), and
	the remaining operators via foo_compare().
	* tools/pm/WrapParser.pm: Add new _CLASS macros.
	* tools/m4/base.m4: Include new macro files, and generate slightly
	more readable code.
	* glib/glibmm/wrap.h: Remove unwrap_boxed(), because it's useless.
	* glib/glibmm/boxedtype.h: Remove file.
	* glib/glibmm/propertyproxy_boxed.h: Don't use unwrap_boxed().
	* tools/m4/convert*.m4: Don't use unwrap_boxed().  Also adapt
	several type conversions.

	To keep the ChangeLog readable, the changes to the source
	files to use the new wrapper macros aren't listed in detail.

	* pango/src/*.{ccg,hg}, gdk/src/*.{ccg,hg}, gtk/src/*.{ccg,hg}:
	Use the reworked BoxedType wrappers.  For all BoxedType wrappers
	that actually aren't BoxedTypes, use one of the new generic
	wrapper macros instead.  Make use of _WRAP_EQUAL/_WRAP_COMPARE.

	* demos/gtk-demo/example_stockbrowser.cc: Use the bool return
	value of Stock::lookup() instead of StockItem::operator bool()
	and StockItem::is_null().

2002-03-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/gdkmm/types.{cc,h}: Delete the old GDK wrappers.  Add simple
	Gdk::Point wrapper struct.

2002-03-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.{cc,h}: Make Glib::MainLoop an opaque and
	underiveable class, to be used with Glib::RefPtr<> only.  That
	avoids having copy operations which actually don't copy by value.
	* glib/glibmm/main.{cc,h}: Replace the MainContext helper methods
	create_timeout_source() and create_idle_source() by signal proxy
	classes + accessor methods.  For convenience, also add global
	accessor functions which access the app's default MainContext.
	* demos/pixbuf-demo.cc: Use the new Glib::signal_timeout() accessor.

2002-03-24  Murray Cumming  <murrayc@usa.net>

	* Fixed the rulers example, and added comments to
	examples/Makefile.am saying why the other broken
	examples are still broken.

2002-03-24  Murray Cumming  <murrayc@usa.net>

	* Added Gtk::Window::raise() so that people don't need to 
	access the Gdk::Window just to bring the window to the front.

2002-03-23  Murray Cumming  <murrayc@usa.net>

	* Generated interface vfunc wrappers are now properly const. 

2002-03-22  Murray Cumming  <murrayc@usa.net>

	* Added wrappers for GtkTreeSortable, GtkDragDest and
	GtkDragSource interfaces, used by Gtk::ListStore and 
	Gtk::TreeStore.
	* Added class documentation for several TreeView-related
	classes.

2002-03-22  Murray Cumming  <murrayc@usa.net>

	* Gdk::Pixbuf: render* method args are now const-correct,
	as suggested by Martin Schultze. Also added 
	Gdk::Pixbuf::render_threshold_alpha().

2002-03-21  Martin Schultze  <MHL.Schulze@t-online.de>

	* Added Gdk::Color::rgb_find_color() as wrapper for
	gdk_rgb_find_color().

2002-03-21  Murray Cumming  <murrayc@usa.net>

	* Added Paolo Pinto's header and footer html fragments to
	reference documentation.

2002-03-21  Murray Cumming  <murrayc@usa.net>

	* Added some more class documentation, copied from GTK+ with
	some slight editing.
	* Made Gtk::Container::add() virtual so that it could be 
	overriden in Gtk::ScrolledWindow to use gtk_container_add()
	or gtk_scrolled_window_add_with_viewport(), depending on the
	child widget's capabilities. 
	Gtk::ScrolledWindow::add_with_viewport() has therefore been 
	removed.

2002-03-20  Murray Cumming  <murrayc@usa.net>

	* .hg files no longer need to use _CTOR_CAST or _DTOR. These
	are now automatic.

2002-03-20  Murray Cumming  <murrayc@usa.net>

	* Regenerated gtk_signals.defs, trying to keep the manual
	changes.
	* Gtk::Paned: Added signals.

2002-03-19  Murray Cumming  <murrayc@usa.net>

	* Gtk::MessageDialog: changed args order in constructors, to
	allow for GTK_MESSAGE_INFO and GTK_BUTTONS_OK as defaults.

2002-03-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/editable.hg:  Remove the length argument from the
	insert_text C++ signal/vfunc.  Passing the length in bytes is
	error-prone, and Glib::ustring maintains its size itself anyway.
	A lot of messy m4 stuff was needed to cope with the different
	count of arguments, if we need it regularly we should think
	about extending the source generator.

2002-03-18  Murray Cumming  <murrayc@usa.net>

	* demos/gtk-demo/example_stockbrowser.cc:
	Some more reformatting and extra comments.
	* Added default parameter values to Gtk::Widget::render_icon() and
	Gtk::TreeViewColumn::pack_start() and pack_end().

2002-03-17  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.{cc,h}: Add is_ascii() utility method.
	Rename strup() and strdown() to uppercase() and lowercase(),
	respectively, to improve code readability.
	* demos/gtk-demo/example_stockbrowser.cc (id_to_macro):
	Use the Glib::ustring interface with STL algorithms.

2002-03-17  Murray Cumming  <murrayc@usa.net>

	* Used unwrap_boxed() in PropertyProxy_Boxed, instead of 
	unwrap().

2002-03-17  Matthew Walton  <mxw00u@cs.nott.ac.uk>

	* Rewrote the stock-browser part of gtk-demo, using normal
	techniques instead of attempting to translate the hack that's in
	the C original. It actually works now.

2002-03-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/refptr.h (operator=): Don't do an implicit
	static_cast<> of the pointer type.  You should use
	RefPtr<>::cast_static() instead if you need it.
	* gtk/src/treemodel.hg (get_value_object): Don't rely on
	the implicit RefPtr<> static_cast, which has been removed.
	* gtk/src/treemodel.hg (get_value_boxedtype): This one was
	utterly broken.  Obviously nobody tried using it yet.
	* examples/exception/exceptiontest.cc: Add missing
	#include <glibmm/exceptionhandler.h>.

2002-03-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtk/src/treeselection.ccg (get_selection): Add missing
	take_copy=true to Glib::wrap(pModel, true).
	* docs/reference/Doxyfile.in: Remove the function macro kludge
	that was needed to deal with GTKMM_USING_STD().  The current
	Doxygen release seems to handle it fine now.

2002-03-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/template.macros.m4: Use _GLIBMM instead of
	SIGCXX as include guard prefix.
	* glib/glibmm/signalproxy.{cc,h.m4}: Remove the glib callbacks
	from the SignalProxy# templates, and get rid of the void and bool
	specializations.  SignalProxyNormal now stores a pointer to a
	SignalProxyInfo struct, which contains the signal name and pointers
	to callback functions.  Thus, callbacks no longer have to be exposed,
	and signal proxies doing type conversion can now be implemented
	without creating special SignalProxyCustom classes.
	* tools/m4/base.m4: Add new anonymous namespace section, and
	comment out the custom signal proxy stuff.
	* tools/m4/class_*.m4: Comment out custom signal proxy stuff.
	* tools/m4/signal.m4, tools/pm/WrapParser.pm, tools/pm/Output.pm: 
	Merge signal proxy and custom signal proxy generation.  The
	macro _SIGNAL_PROXY() now generates custom callbacks and the
	SignalProxyInfo struct for each signal.
	* tools/m4/signal.m4, tools/m4/vfunc.m4: Beautify generated source.
	Replace the g_warning() on a NULL base class by g_assert().

2002-03-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/propertyproxy_enum.{cc,h},
	glib/glibmm/propertyproxy_flags.{cc,h}: New PropertyProxy_Enum
	and PropertyProxy_Flags classes: we need them because get_value()
	of the generic PropertyProxy doesn't compile with enum types.  This
	also reduces the binary size, because enums are internally stored as
	plain int, thus the real implementation can go into a .cc file.
	* tools/pm/Output.pm:  Add necessary property class suffixes for
	GParamEnum and GParamFlags.
	* glib/glibmm/propertyproxy_base.cc: Implement reset_value()
	here, it doesn't need to be exposed in a header file.
	* glib/glibmm/propertyproxy_boxed.cc,
	glib/glibmm/propertyproxy_refptr.cc: New files, implementing
	PropertyProxy_Boxed_Base and PropertyProxy_RefPtr_Base.
	* glib/glibmm/propertyproxy_boxed.h,
	glib/glibmm/propertyproxy_refptr.h: Move the real implementation
	into _Base classes, to avoid exposing it in the header files.
	* glib/glibmm/propertyproxy*.{cc,h}: Add missing methods to special
	PropertyProxy_* classes, i.e. operator=(), the conversion operator,
	reset_value() and signal_changed().  Delete space between operator
	and = in operator=(): the space is not valid C++.  Also, some style
	fixes and unifications.
	* glib/glibmm/Makefile.am: Add new propertyproxy*.{cc,h} files.
	* glib/glibmm/value.{cc,h}: Replace get_flags(gpointer&) with
	get_boxed(gpointer&): that was probably a typo.
	* glib/glibmm/refptr.h: Replace cast_static<>() and cast_dynamic<>()
	member templates with static templated methods.  The syntax of
	refptr.cast_static<Foo>() is not standard C++, and it seems to screw
	at least gcc3 if Foo is itself a template parameter.  The correct
	syntax would be refptr.template cast_static<Foo>(), but that looks
	freaky, and gcc2 doesn't accept it anyway.  The new syntax is:
	RefPtr<Derived> derived = RefPtr<Derived>::cast_static(base).
	* gtk/gtkmm/menu_elems.cc: Use new RefPtr<>::cast_dynamic syntax.
	* gtk/src/image.hg: For the "icon-set" property, use the C++ type
	Gtk::IconSet instead of GtkIconSet.

2002-03-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* pango/pangomm.h, atk/atkmm.h: New toplevel headers.
	* pango/Makefile.am, atk/Makefile.am: Install toplevel headers.
	* atk/src/object.hg: Add missing quote after property name:  The
	WrapParser seems to ignore it anyway, but it confuses vim's syntax
	highlighting.

2002-03-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.{cc,h}: Put Glib::MainContext into Glib::RefPtr<>,
	because it's closer to the original API, and the previously used
	copy-by-value semantics are a bit strange for this type.  Implement
	convenience methods MainContext::create_timeout_source() and
	MainContext::create_idle_source().
	* demos/pixbuf-demo.cc: Replace Gtk::Main::signal_timeout().connect()
	with Glib::MainContext::get_default()->create_timeout_source(), in
	order to demonstrate the new glibmm API.
	* glib/glibmm/fileutils.h, glib/glibmm/main.h, glib/glibmm/spawn.h:
	Fix convenience operator|() for bit-flag enums: the enum type must
	be casted to int, otherwise operator|() calls itself recursively.

2002-03-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* demos/gtk-demo/*: Use C++ types in signal handlers, so that
	the demos now build with the CustomSignalProxy API changes.

2002-03-14  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in: Fix minimum GTK+ version number typo.
	* configure.in, build_shared/Makefile_build.am_fragment: Check
	for gthread-2.0 but don't require it.  Use GTHREAD_CFLAGS when
	building gtkmm, and GTHREAD_LIBS for the thread examples.
	* glib/glibmm/threadpool.{cc,h}: New GThreadPool wrapper.
	* examples/thread/threadpool.cc: New example.
	* glib/glibmm/thread.h: Minor documentation changes.
	* glib/glibmm/ustring.{cc,h}: Rename std_string() to raw(), because
	that's what it does: it returns the UTF-8 data as raw byte sequence.
	In the stream I/O operators, remove the silly special-casing for
	cin/cout/cerr, and always convert to the current locale instead.
	The old behaviour was just confusing and could lead to unexpected
	results.  Coders should use ustring::raw() if they want to store
	strings always in UTF-8 encoding.
	* gtk/src/widget.{ccg,hg}: Add a Widget::intersect() overload
	without a destination rectangle parameter.

2002-03-13  Murray Cumming <murrayc@usa.net>

	* Implemented merging of C GTK+ documentation, mostly in 
	tools/pm/DocsParser.pm:
	- People developing from cvs will need the XML::parser perl module:
	http://wwwx.netheaven.com/~coopercc/xmlparser/XML-Parser-2.30.tar.gz
	- But the documentation will not actually be used unless you give 
	the --enable-fulldocs option to autogen.sh or configure.	
	- gtk_docs.xml is generated with pygtk/codegen/docextract_to_xml.py.
	It has documentation for each GTK+ code that might be wrapped, taken
	from the GTK+ source code.
	- gtk_docs_override.xml is written manually. It contains replacement
	documentation when the C documentation is inappropriate. Some of the
	documentation that is now in our .hg files should be moved into this 
	file.
	- Similarly named files should be created for atkmm/pangomm/gdkmm.
	
2002-03-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/exceptionhandler.cc (exception_handlers_invoke):
	Check for dead slots.  I suddenly understood Karl's comment:
	Calling an empty slot would mean ignoring any exception.

2002-03-13  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/exceptionhandler.cc: In the slot disconnection code,
	correctly handle the unlikely but possible case of multiple
	identical slots in the handler list.
	* glib/glibmm/thread.h: More documentation.

2002-03-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/main.{cc,h}: New wrappers of GMainLoop, GMainContext,
	GSource, etc.
	* glib/glibmm/miscutils.{cc,h}: New miscellaneous utilities.
	* glib/glibmm/pattern.{cc,h}: New shell pattern matching stuff.
	* glib/glibmm/random.{cc,h}: New GRand wrapper, a random number
	generator.
	* glib/glibmm/shell.{cc,h}: Some new shell-related utilities.
	* glib/glibmm/spawn.{cc,h}: New wrappers for easy and portable
	process spawning.
	* glib/glibmm/thread.{cc,h}: New wrapper of GLib's portable
	thread interface.  The C++ API should be a lot easier to use.
	* glib/glibmm/timer.{cc,h}: Add g_usleep() wrapper.
	* glib/glibmm/timeval.{cc,h}: Simple wrapper of GTimeVal, which
	is itself just a portable struct tm replacement.
	* glib/glibmm.h, glib/glibmm/Makefile.am: Add new files.
	* glib/glibmm/wrap_init.cc: Register new GError domains.
	* glib/glibmm/containerhandler_shared.h: Specialize TypeTraits
	for std::string, too.
	* examples/thread/*, examples/Makefile.am, configure.in: Replace
	the old threads example by something sane, using the new glibmm
	threading interface.  Also, include it in the examples build.

	* glib/glibmm/error.cc, gtk/src/main.ccg: In Error::register_init(),
	call Glib::wrap_init() to make sure that at least the Glib exceptions
	are registered at this point.  If needed, invoke register_init() from
	throw_exception().  Also, remove the Glib::wrap_init() call from
	Gtk::Main::init().  Thus, most of the glibmm utilities (all but the
	GObject type system) can now be used before instantiating Gtk::Main,
	or even without using Gtk::Main at all.
	* glib/glibmm/exceptionhandler.cc: Remove the ExceptionListInfo class
	and access the list directly, because it isn't really needed, and the
	extra indirection complicated the code.  Implement a connection class
	to allow disconnection of exception handlers.  Use thread-specific
	handler lists, to avoid reentrancy issues.  (Glib::StaticPrivate
	works fine even if threads are disabled.)
	* examples/exception/exceptiontest.cc: Demonstrate the different
	behaviour on Glib::Error exceptions, and also show off the new
	disconnection facility of the global exception handler system.

	* gtk/src/main.hg: Use G_PRIORITY_DEFAULT_IDLE instead of the
	deprecated GTK_PRIORITY_DEFAULT.  Replace guint32 interval by
	guint interval, to match the C API.
	* build_shared/Makefile_gensrc.am_fragment: Make the source
	generation rule depend on gtkmmproc.in, rather than gtkmmproc.
	That avoids unecessary rebuilds just because ./configure ran.

gtkmm 1.3.8:
	
2002-03-11  Murray Cumming  <murrayc@usa.net>

	* Corrected typo in Gdk::Pixbuf::render_to_drawable() method
	name, as suggested by Barta Andras.

2002-03-09  Murray Cumming  <murrayc@usa.net>

	* Hid the whole of the custom SignalProxy classes from Doxygen,
	because I can't see how to insert them above the class comments.

2002-03-09  Murray Cumming  <murrayc@usa.net>

	* Reviewed all signals and changed them to to use C++ types where
	wrappers exist. Had to add a const override of wrap() for 
	BoxedTypes, so that we can generated temporary instances - that 
	might be a hack, or it might be a case of 2 different meanings of
	const.
	* This showed that it was necessary to use Glib::unwrap() instead
	of plain gobj() in conversions. It was also necessary to add
	Glib::unwrap_boxed().
	* Removed unnecessary Gtk:: from some parameter types, to reduce
	code size..

2002-03-09  Daniel Elstner  <daniel.elstner@gmx.net>

	* Changed distribution policy for generated sources:
	Generated source files will now be included in the dist tarball,
	in order to avoid unnecessary dependencies on special tools.
	All source autogeneration rules are disabled by default, you
	should configure with --enable-maintainer-mode if you want to
	develop gtkmm (requires a writable source directory).  Use
	make maintainer-clean to delete all built sources.

	* examples/Makefile.am_fragment: Fix INCLUDES, and clean up
	the whole file a bit.

2002-03-09  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* Fixed OptionMenu to use the new menu API/system.
	
2002-03-09  Murray Cumming  <murrayc@usa.net>

	* Widget drag signals now use C++ types. Also added parameter
	names to the _event signals.

2002-03-08  Murray Cumming  <murrayc@usa.net>

	* After discovering that signals with C++ types were just
	casting incorrect C callbacks instead of doing any type
	conversion:
	Generate custom SignalProxy classes whenever the types 
	used in _WRAP_SIGNAL() are not the same as those in the 
	.defs file. These SignalProxies derived from the templated
	SignalProxies, but reimplement the callbacks and connect()
	methods. For instance, see Gtk::StatusBar.
	* You can minimise unnecessary conversions in
	tools/pm/GtkDefs.pm: types_are_equal().

2002-03-08  Patrick Crosby  <pcrosby@pobox.com>

	* demos: Corrected copy-pasted header comments, and
	use of local instead of class variable.

2002-03-02  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* Menu accelerator changes:
	* examples/menu/{menu2.cc,stock.cc}: Fixed
	* gtk/gtkmm/accelkey.{cc,h}: Use gtk+ parse/unparse.
	* gtk/gtkmm/menu_elems.{cc,h}: Left justify Element label,
	StockMenuElem can set AccelKey.
	* gtk/src/imagemenuitem.ccg: Configure accel key when
	configured by stock id.
	* gtk/src/menubar.{ccg,hg}, gtk/src/menuitem.{ccg,hg},
	gtk/src/menushell.{ccg,hg}: Setup of accelerators fixed.
	* gtk/gtkmm/accelkey.{cc,hh}, gtk/gtkmm/menu_elems.{cc,hh}:
	Cleanup.
	* Enable changeable accelerators.

2002-03-06  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* gtk/src/gtk_signals.defs,gtk/src/settings.hg:
	Add missing Gtk::Settings properties, installed by objects that use
	GtkSettings, such as GtkMenu, and GtkToolbar.

2002-03-06  Daniel Elstner  <daniel.elstner@gmx.net>

	* gdk/src/pixbuf.{ccg,hg} (Gdk::Pixbuf::save): Remove the bool
	return value: It just indicates an error, which means we throw
	an exception anyway.  Also add missing 0-terminator to the
	gdk_pixbuf_save() varargs list.

2002-03-05  Murray Cumming  <murrayc@usa.net>

	* Implemented wrappers for gdk_pixbuf_save() and gdk_pixbuf_save(),
	using the new Glib::Error exception wrappers.
	* Added Gtk::Container::show_all_children(), and used it in
	examples/buttons. This allows you to delay showing the window itself.

2002-03-04  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/exceptionhandler.{cc,h}: New files.
	* glib/glibmm/exception.{cc,h}: Move contents over to
	exceptionhandler.{cc,h}.  exception.{cc,h} now implements
	Glib::Exception, an abstract base class for all gtkmm exceptions.
	* glib/glibmm/error.{cc,h}: Derive Glib::Error from
	Glib::Exception.  Implement an exception factory: each
	GError domain will be wrapped by its own exception class.
	* glib/glibmm/wrap_init.{cc,h}: New files, to register
	GError domains in the exception factory.

	* glib/glibmm/exceptionhandler.{cc,h}: Major cleanup.  Show
	a critical warning message if a Glib::Error exception has been
	caught in a signal handler, but invoke g_error() for all others.
	Rename exception_handler_throw() to exception_handlers_invoke().
	* glib/glibmm/signalproxy.h.m4, tools/m4/signal.m4,
	glib/glibmm/object.h: Change #includes, and replace all
	occurrences of exception_handler_throw().

	* glib/glibmm/convert.{cc,h}, glib/glibmm/date.{cc,h},
	glib/glibmm/ustring.cc: Modify to use the Glib::Error
	exception factory system.
	* glib/glibmm/fileutils.{cc,h}: New wrappers.  Implement
	Glib::FileError exception class.

	* tools/m4/class_gerror.m4: New _CLASS_GERROR() macro for
	auto-generating exception classes.
	* tools/generate_wrap_init.pl: Parse for _CLASS_GERROR() and
	generate code to register the exception classes.
	* tools/m4/Makefile.am, glib/glibmm/Makefile.am: Add new files.

	* gtk/src/main.ccg: Add exception guards to main signals. Simplify
	the code by using GSList* instead of std::list<>: This avoids
	problems with global objects, and reduces the amount of never-freed
	memory.

	* gdk/src/pixbuf.{ccg,hg}: Add Gdk::PixbufError exception wrapper.
	Throw an exception if Gdk::Pixbuf::create_from_file() fails.
	* demos/pixbuf-demo.cc: Make use of Glib::Error exceptions.

	* glib/glibmm.h, glib/Makefile.am: New toplevel header.
	* docs/reference/Doxyfile.in: Exclude wrap_init.h.

2002-03-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* configure.in: Remove AC_CXX_IN_STD() checks.
	* scripts/cxx_in_std.m4: Cosmetic: say symbol, not identifier.
	* glib/glibmmconfig.h.in, gdk/gdkmmconfig.h.in,
	gtk/gtkmmconfig.h.in: Remove #undefs of GTKMM_USING_STD_*.
	* glib/glibmm/exception.cc, glib/glibmm/wrap.cc,
	pango/src/tabarray.hg, gtk/src/main.ccg: Use new
	GTKMM_USING_STD(foo) macro.

2002-03-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/convert.{cc,h}: New class IConv that wraps the
	iconv() interface more or less directly.  However, it could be
	useful when doing a lot of conversions between the same charsets.
	Also improve the documentation a bit.

2002-02-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/convert.{cc,h}: New functions for filename
	and URI conversion.
	* glib/glibmm/containerhandle_shared.h, glib/glibmm/date.cc:
	Replace GTKMM_USING_STD_FOO by GTKMM_USING_STD(foo).

2002-02-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* docs/reference/Doxyfile.in: Enable some macro expansion
	magic, so that the function-like macro GTKMM_USING_STD()
	no longer confuses the parser.  I'm really glad that this
	freaky stuff seems to work.

2002-02-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.{cc,h}: Add operator<< and operator>>
	for STL stream input/output.  If the stream used is std::cin
	or std::cout, convert to the currently used locale.
	* examples/*/*.cc: Remove the Glib::ustring -> std::string
	casts that were previously needed for writing to std::cout.
	* demos/pixbuf-demo.cc: Minor beautifications.

2002-02-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/class_*.m4: Put the Doxygen tag @relates in front
	of each Glib::wrap() declaration, for better readable docs.
	* glib/glibmm/*.h: Documentation updates, make use of @relates
	where apropriate (i.e. for all operators outside of a class).
	Group things together via @defgroup and @ingroup.
	* gtk/src/dialog.hg, gtk/src/widget.hg: Add missing title to
	@defgroup tag, to avoid warnings from Doxygen.
	* docs/reference/Doxyfile.in: Beautify output by setting
	ENUM_VALUES_PER_LINE = 1.

2002-02-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/convert.{cc,h},
	  glib/glibmm/date.{cc,h},
	  glib/glibmm/timer.{cc,h}: New files.  These implement
	new wrappers of g_convert*(), GDate, and GTimer.
	* glib/glibmm/Makefile.am:  Add new files.

2002-02-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* scripts/cxx_std.m4, configure.in, glib/glibmmconfig.in:
	Add new autoconf macro GTKMM_CXX_HAS_NAMESPACE_STD and use it.
	Conditionally #define GTKMM_USING_STD(), which generalizes the
	old GTKMM_USING_STD_FOO checks.  The old stuff is still there,
	view these changes as proposal of a sane replacement.

2002-02-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/error.{cc,h}: Put the default ctor back in place.
	Re-add necessary code to avoid crashes if gobject_ == 0.  Add
	bool take_copy argument to the GError* ctor.

2002-02-27  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/arrayhandle.h (create_array): Use the default
	ctor CType() to terminate the array instead of trying to
	static_cast<>(0).  Hopefully this will work with all compilers.

2002-02-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/error.{cc,h}: Remove unnecessary default ctor.
	This allows great simplification of the other code too, since
	gobject_ cannot be 0.  Make the dtor virtual, because exception
	classes are likely to be used polymorphically.  Also fix
	operator=(), and make the Error(GError* gobject) ctor not
	taking a copy.

2002-02-26  Murray Cumming  <murrayc@usa.net>

	* Finish dnd Drag and Drop example. You'll need to update 
	libsigc++ again.

2002-02-25  Murray Cumming  <murrayc@usa.net>

	* Added initial GtkClipboard wrapper - hand coded because it
	doesn't seem to be an Object or a BoxedType.
	* Added Gdk::DragContext and wrapped drag methods and signals
	of Gtk::Widget. Already it looks clearer and better organised
	than the original C mess.
	* Added dnd Drag and Drop example, based on gtk+/tests/dndtest.

2002-02-25  Muray Cumming  <murrayc@usa.net>

	* Implemented Gtk::TreeSelection::set_select_function().
	* Added Gtk::FileSelection accessors for Gtk::TreeView*
	members.
	* Cleaned up drawingarea and timeout examples and put
	them in book directory.

gtkmm 1.3.7:

2002-02-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* pango/src/tabarray.{hg,ccg} (get_tabs): Since
	std::pair<PangoTabAlign,int> is POD (plain old data), we can
	use it as the C type for ArrayHandle<> directly.  This means
	the ugly _pair_PangoTabAlign_intTraits stuff isn't necessary.

	* configure.in, glib/glibmmconfig.h.in: New namespace std
	check for std::pair.

	* pango/src/fontfamily.hg (FontFamilyRefPtrTraits):
	Use g_object_unref(), not g_free().


2002-02-24  Daniel Elstner  <daniel.elstner@gmx.net>

	* tools/m4/class_boxedtype.m4 (operator=): Free the current
	contents before taking the new ones over.  Also, when testing
	for self-assignment, compare the gobject_ pointers intead of
	this != &src.  It's quite possible to have two C++ boxed objects
	pointing to the same C instance.

2002-02-24  ERDI Gergo  <cactus@cactus.rulez.org>

	* pango/src/tabarray.hg: get_tabs () returns an ArrayHandle of STL
	Pairs instead of two separate std::lists

	* pango/src/layout.hg:
	* pango/src/fontmap.hg:
	* pango/src/context.hg:
	The API now uses Glib::ArrayHandle instead of std::list, so you
	can use any STL container to store the return value

	* pango/src/layout.hg: Implemented Pango::Layout::get_lines ()

	* tools/m4/convert_pango.m4: Added GSList conversion for
	Pango::Layout::get_lines ()

2002-02-24  Andreas Holzmann <Andreas.Holzmann@epost.de>

	* gdk/src/cursor.hg: Make constructor public
	* glib/glibmm/propertyproxy_refptr.h: (get_value)
	  Typo fixed; Avoid generation of temporary object.

2002-02-24  Murray Cumming  <murrayc@usa.net>

	* Added wrappers for Atk::Relation, Atk::RelationSet, and
	Atk::StateSet, and used them in Atk::Object.

2002-02-24  Murray Cumming  <murrayc@usa.net>

	* Implemented Pango::Coverage(const guchar* bytes, int n_bytes).

2002-02-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/ustring.{cc,h}: Add some documentation and new ustring
	methods for case conversion.  Reformat the code for better
	readability.  (yes, I dare now exceeding 80 columns ;)

2002-02-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* glib/glibmm/*listhandle.h (iterators): Use forward_iterator_tag
	instead of input_iterator_tag.  Initially I assumed they should
	be input iterators because operator*() returns by value.  That
	was wrong: input_iterators have really special semantics, e.g.
	you cannot iterate twice over the same sequence.
	* glib/glibmm/arrayhandle.h (iterator): Don't use input_iterator_tag
	for the reason stated above.  ArrayHandleIterator<> now implements
	the full random access iterator interface, to take advantage of
	optimized STL algorithms.
	* configure.in, glib/glibmmconfig.in,
	glib/glibmm/containerhandle_shared.h: Add namespace checks for
	std::random_access_iterator_tag, std::min, std::max.  Only the first
	one is used right now, but std::min and std::max will probably soon
	be used too.

	* glib/glibmm/*handle.h (Handle -> STL container conversions):
	Make the conversion operators member templates.  There's no way to
	templatize the returned container type itself, but it's possible to
	make the element type a template parameter (std::auto_ptr<> uses a
	similar technique).  Thus, it's now possible to take advantage of
	any implicit conversion available for the elements.

2002-02-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* Update for latest GTK+: GtkWindow::type is a guint bitfield now.
	* tools/m4/convert_gtk.m4: Replace several Foo(bar) casts by
	static_cast<Foo>(bar), because the former syntax is sometimes
	ambiguous -- e.g. std::vector vec (int(size)); is interpreted as
	function declaration by gcc.

2002-02-23  Daniel Elstner  <daniel.elstner@gmx.net>

	* gtkmmproc now exits on failed conversion:
	Make use of m4exit(1) in _CONVERT() to quit m4, and check the
	exit code of m4 in gtkmmproc.  On failure, print an error message
	and abort.

2002-02-23  Murray Cumming  <murrayc@usa.net>

	* Gtk::TreeModel: Fixed several methods, such as iter_next(), to use
	C++ types instead of C types - problem found by Matthew Walton.
	Also added some extra methods to provide the special functionality 
	available in C when some args are NULL. 
	* The Gtk::TreeView "move_cursor" signal's return type changed from
	void to gboolean. gtkmm updated accordingly.

gtkmm 1.3.6

2002-02-20  Murray Cumming  <murrayc@usa.net>

	* configure.in mentioned a Makefile.am that isn't distributed. Fixed.
	* gcc 2.95.4 seems to have a problem with a use of 
	RefPtr::operator bool() in textbuffer.ccg, so I've used is_null() there
	as a workaround. This is mysterious - surely we use this technique in
	lots of places.

2002-02-19  Murray Cumming  <murrayc@usa.net>

	* Added examples/book, which will contain examples from the tutorial.

gtkmm 1.3.5:

2002-02-18  Murray Cuming  <murrayc@usa.net>

	* The examples now have regular Makefile.am build files, and build them
	all at once from the top-level examples directory. Some of the examples
	are not easily fixed so they aren't built at the moment - see 
	examples/Makefile.am. Some uses of deprecated widgets was fixed now 
	that some of the origianl GTK+ examples have been updated.
	* Changed Gtk::Style::get_background() to get_background_pixmap() and
	added get_backgroun() which returns a Gdk::Color.

2002-02-17  Murray Cumming  <murrayc@usa.net>

	* The tutorial has now been renamed to "Programming with gtkmm",
	and converted to DoxBook XML 4.1.2 format, using the book format
	instead of the article format. You'll need this stuff for `make html`
	to work:
	http://lists.gnome.org/archives/gnome-hackers-readonly/2002-February/msg00166.html

2002-02-17  Murray Cumming  <murrayc@usa.net>

	* Glib::Error: prevented some warnings about NULLs.

2002-02-16  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* Gdk::Cursor: Use const Gdk::Color arguments

2002-02-16  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* Gtk::Toolbar: Added StockElem, used to add stock items.
	Demonstrated in a new stock example.

2002-02-16  Murray Cumming  <murrayc@usa.net>

	* Gdk::Bitmap now derives from Gdk::Pixmap.
	In GTK+, GdkBitmap inherits from GdkDrawable, not GdkPixmap, 
	but the way that they've done that, via a typedef,
	means that they can use GdkBitmap and GdkPixmap interchangeably.
	Rather than provide a Bitmap override for every  method tha uses 
	Pixmap, the C++ wrapper inherits from Pixmap, as it probably should in
	GTK+. Problem identified by Andreas Holzmann.

2002-02-15  Andreas Holzmann  <Andreas.Holzmann@epost.de>

	* PropertyProxy: fixed typo in get_value().

2002-02-02  Daniel Elstner  <daniel.elstner@gmx.net>

	* Implemented a hacky work-around for the missing
	  GtkTextBuffer::tag_table property:  This won't be fixed
	  in GTK+ 2.0; see bugzilla #70227.

	  Also added overloads of Gtk::TextBuffer::insert() etc., which
	  take a const char* sequence instead of Glib::ustring.

2002-01-31  Daniel Elstner  <daniel.elstner@gmx.net>

	* Use GdkModifierType instead of plain guint:  This requires
	  the latest GTK+ from CVS.

2002-01-28  Murray Cumming  <murrayc@usa.net>

	* Slightly more wrapping of Atk::Object. Added .defs files for atk.
	  This requires the latest atk from cvs.

gtkmm 1.3.4:

2002-01-25  Murray Cumming  <murrayc@usa.net>

	* Removed Karl's Glib::RefPtr::operator*(): I see no need for people to
	use RefPtr with Widgets. Used the operator->() hack in menu_elems.cc 
	instead, with a comment.

2002-01-24  Murray Cumming  <murrayc@usa.net>

	* Classes derived from Gtk::Widget now have `@ingroup Widgets' in 
	their Doxygen comment block, which makes them show up on a special 
	Widgets page in the reference documentation. Likewise Dialogs.

2002-01-23  Murray Cumming  <murrayc@usa.net>

	* Gtk::Statusbar: Removed messages() iterator interface, because it
	use private struct fields from GtkStatusbar, suggesting that it
	shouldn't be part of the API. Also reordered some method arguments
	to allow the default context id of 0.

2002-01-22  Murray Cumming  <murrayc@usa.net>

	* list proxy accessors such as Notebook::pages() now return references,
	with a const override. This not only preserves some compatibility with
	older code, but allows const list operations on const widgets.

2002-01-22  Murray Cumming  <murrayc@usa.net>

	* signal accessors now have doxygen documentation which lists
	the names of the signal arguments. With this, and the use of the 
	simpler signal proxies, signals are now much clearer than in gtkmm 1.2.

2002-01-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* Rewrote the container converters from scratch
	  (ArrayHandle, ListHandle, SListHandle):

	Renamed Glib::Array to Glib::ArrayHandle, to make it clear that it
	isn't a real container, and to have a common naming scheme.  The
	features of the new implementation are:

	  - cleaner and generalized TypeTraits system
	  - a shared set of predefined TypeTraits specializations
	  - support for conversion from builtin arrays to lists
	  - support for 3 ownership levels (none, shallow, deep)
	  - using ArrayHandle as return value now really works

	Here's a brief list of changes made to integrate the new code:

	* gtk/gtkmm/stock.*: minor adaptions
	* gtk/src/combo.* (set_popdown_strings): removed the GList code
	* gtk/src/container.*: use plain Gtk::Widget*, not RefPtr<>
	* gtk/src/curve.*: replaced the array code by Glib::ArrayHandle
	* gtk/src/iconset.*: minor adaptions
	* gtk/src/liststore.*: ditto
	* gtk/src/rc.h.*: minor stuff, and implemented get_default_files()
	* gtk/src/textbuffer.* (insert_with_tags): Implemented it for
	  containers of RefPtr<Gtk::TextTag>, too.  Renamed the ustring
	  overload to insert_with_tags_by_name() in order to resolve an
	  ambiguity.  Also rewrote the method implementations to use the
	  GTK+ functions directly, in order to avoid triple conversions
	  from C++ to C to C++ to C.
	* gtk/src/textchildanchor.hg: use Gtk::Widget*
	* gtk/src/textiter.hg: use SListHandle< RefPtr<Foo> >
	* gtk/src/treepath.* (get_indices): generalized it
	* gtk/src/treestore.*: minor adaptions
	* gtk/src/treeview.*, treeviewcolumn.*: ditto
	* gtk/src/window.*: ditto
	* tools/m4/convert_g[dt]k.m4: updated _CONVERSIONs

2002-01-17 Karl Nelson <kenelson@ece.ucdavis.edu>
        * Removed the now unused kludge for creating Menu Elements.
        Elements are once again clipable and thus can be stored in 
        arrays.  Fixed long standing memory leak.
        * Had to add operator* and =(T*) to RefPtr so that it could
        be used to do "RefPtr<Widget> w;  w=manage(new Widget);"

2002-01-13 Karl Nelson <kenelson@ece.ucdavis.edu>
        * Added try/catch for vfuncs and signals,  should transfer the 
        control to Glib::exception_handler() rather than aborting from
        now on.  Added example/exception to show its use.  Features are 
        preliminary and thus subject to change.

2002-01-12  Murray Cumming  <murrayc@usa.net>

	* Removed deprecated GtkList, GtkCList, GtkTree, and GtkCTree wrappers.
	People should use Gtk::TreeView now.

2002-01-11  Murray Cumming  <murrayc@usa.net>

	* _WRAP_VFUNC_ONLY can now be used in Interfaces when the C++ method 
	needs to be custom coded. It's used in Gtk::TreeModel with get_iter().

2002-01-11  Murray Cumming  <murrayc@usa.net>

	* Added operator bool to BoxedTypes, like RefPtr.

gtkmm 1.3.3:
	
2002-01-07  Daniel Elstner  <daniel.elstner@gmx.net>

	* Gtk::Entry does no longer inherit virtually from all its base
	  classes.  That's not needed because Glib::ObjectBase is already
	  a virtual base class of both Glib::Object and Glib::Interface.
	  See docs/internal/gtk_entry.dia for a proper hierarchy graph.

2002-01-07  Murray Cumming  <murrayc@usa.net>

	* Added changed signal to property proxies. For instance, you can
	now do:
	something.property_example().signal_changed().connect( ... ).
	This actually wraps the GObject::"notify" signal, for which C coders
	have to write a switch statement in their signal handler.

	As part of this, I removed some of the protected/private inheritance
	from the PropertyProxy inheritance. If it was necessary then it should
	have been documented.

2002-01-07  Daniel Elstner  <daniel.elstner@gmx.net>

	* Simplified the inheritance hierarchy:
	  Renamed Glib::Instance_Base to Glib::ObjectBase, because we
	  actually require the underlying C instance to be of type GObject.
	  GTypeInstance isn't sufficient since we need qdata and refcounting.

	  Glib::ObjectBase derives from SigC::Object, thus Glib::Object no
	  longer needs to derive from SigC::Object by using MI.  This also
	  means that sigc++ functionality is available for Interfaces now.

	  To simplify the initialization of the virtual base, Glib::ObjectBase
	  only has a default ctor and an initialize() method, which is called
	  by the Glib::Interface and Glib::Object non-default ctors.

2002-01-04  Murray Cumming  <murrayc@usa.net>

	* The overrideable virtual functions in Interfaces are now
	suffixed with _vfunc, and there are now methods without the 
	suffix that just call the _vfunc virtual function. Therefore 
	you would override the do_something__vfunc() method to change 
	the GTK+ interface's behaviour, and call the do_something()
	method to call that method. This allows overriding without 
	excessive C++ <-> C type conversion, but also allows C++ types
	when the method is called from C++.

2002-01-03  Murray Cumming  <murrayc@usa.net>

	* tools/generate_wrap_init.pl now accepts more than one 
	--namespace argument to allow, for instance, Gnome::UI::App.

gtkmm-1.3.2:
	
2001-12-28  Daniel Elstner  <daniel.elstner@gmx.net>

	* Removed the Gtk::Widget::signal_delete_event() workaround.
	  We now override the GObject::dispose vfunc instead, to catch
	  all uses gtk_object_destroy() by GTK+ code.

	  This means whenever a widget is going to be destroyed we will
	  prevent that, unless our C++ destructor caused the destroy, or
	  the widget is managed.

2001-12-16  Murray Cumming  <murrayc@usa.net>

	* Removed Gtk::Pixmap, because it's deprecated. People should 
	use Gtk::Image instead.

2001-12-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* Got rid of Glib::nstring in Gtk::Toolbar_Helpers::Element
	  and its subclasses.

	  That means the entire API is now nstring-free.  The contents
	  of nstring.h and nstring.cc have been commented out, ready
	  for deletion.

2001-12-15  Murray Cumming  <murrayc@usa.net>

	* Gtk::Main: init_gtkmm_internals() is now static so that it
	can be called before Gtk::Main is instantiated. This allows
	Gnome::canvas_init(), for instance, to use it before 
	Gtk::Main::Main() and just before calling 
	Gnome::canvas_wrap_init().
	Also made events_pending return a bool instead of an int - 
	GTK+ needs to fix its declaration.
	Also added some extra checks for >1 Main instance, and for
	proper destruction if that happens, as suggested by Daniel
	Elstner.

2001-12-11  Murray Cumming <murrayc@localhost.localdomain>

	* Removed gtkmm2-gtkmmproc-config. We use the prefix reported 
	by pkgconfig instead.

2001-12-04  Murray Cumming  <murrayc@usa.net>

	* Replaced all gint, gdouble, gfloat, and glong with int,
	  double, float, long in our API, because they are always
	  the same on all platforms.

2001-12-04  Murray Cumming  <murrayc@usa.net>

	* The tools directory has been reorganised into m4 and pm
	  sub-directories.

2001-12-01  Murray Cumming  <murrayc@usa.net>

	* configure now checks that perl 5.6 is available.
	  (Sebastian Kapp, Michael A. Koziarski)

2001-12-01  Daniel Elstner  <daniel.elstner@gmx.net>

	* Got rid of Glib::nstring almost everywhere.  We have now
	  remove_*() methods instead of set_*(0) to remove a string.
	  Return strings will be initialized to the empty string if
	  the GTK+ function returned NULL.

	  Glib::nstring is still used by Gtk::Toolbar_Helpers::Element.
	  Expect that to be changed soon.

2001-11-30  Murray Cumming  <murrayc@usa.net>

	* Reworked menu wrappers even though I'm not sure that I fully
	  understand the old way. I find it ironic that the only comment
	  in the old menu wrapping system complains about the lack of
	  documentation in the GTK+ menu system.

	  AccelKey and the MenuElems are in separate files now to make 
	  it a bit clearer. I have removed the nav_key stuff, because it
	  seems like we can use the underscore mnemonic stuff from GTK+2
	  now. I have also moved some code from MenuItem::accelerate()
	  into MenuItem::on_realize() now that we can break binary
	  compatibility.

	  We now add and accelerator for the "activate" 
	  signal, not the "activate-item" signal, because "activate-item"
	  is not G_RUN_ACTION, and because "activate" is what the gtk+ 
	  examples use. Hopefully that's correct.

	  All of MenuItem::show_accel_label is commented out. It puts an
	  accel label (showing the key combination) next to the current
	  child widget if there is no accel_label already. But I don't know
	  when this would be necessary.

	  This seems to work in the menu2 example and the gtk-demo demo.

gtkmm-1.3.1:
	
2001-11-26  ERDI Gergo  <cactus@cactus.rulez.org>

	* Lib names are now:
	  libglibmm-1.3 	(change this to 2.0 for final release)
	  libatkmm-0.0		(change this to 1.0 for final release)
	  libpangomm-0.0	(change this to 1.0 for final release)
	  libgdkmm-1.3		(change this to 2.0 for final release)
	  libgtkmm-1.3		(change this to 2.0 for final release)

	* -release names are no longer used for libraries (conflicts
	  with the GTKmm 1.2 series 

2001-11-25  ERDI Gergo  <cactus@cactus.rulez.org>

	* Changed the .pc files to use -lfoomm instead of -lfoomm-1.3 as
	  the library to link third-party apps to

2001-11-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* Added a nearly complete std::string-like interface to
	  Glib::ustring.  The iterator is only bidirectional and
	  doesn't support write access, and all indexing operations
	  have O(n) costs.

	  The Glib::ustring interface is not meant to be final, and
	  needs broader investigation.

2001-11-24  ERDI Gergo  <cactus@cactus.rulez.org>

	* Implemented Gtk::ImageMenuItem and the corresponding
	  Gtk::Menu_Helpers::StockMenuElem. Stock accelerators don't work
	  yet. Gtk::Menu_Helpers::ImageMenuElem looks tiresome to
	  implement so it's postponed until someone strongly needs it :)

2001-11-13  Murray Cumming  <murrayc@usa.net>

	* The examples now use the new Gtk::Main::run(window) override,
	  instead of that unpleasant delete_event signal stuff.
	  Gtk::Main::run(window) shows the window, starts the event loop,
	  and stops the event loop when the window is closed. You can
	  think of it as a way to say 'This is the main application
	  window.' or 'The window and the application have the same
	  lifetime.'

2001-11-12  Daniel Elstner  <daniel.elstner@gmx.net>

	* Changed behaviour on delete_event:

	  Our GTK+ callback for GtkWidget's delete_event is no longer
	  directly wrapped by a ProxySignal.  We have now a special
	  callback function that always returns true in order to avoid
	  self-destruction.

	  The callback emits signal_delete_event which is now a standard
	  sigc++ signal.  If the signal's return value is false then the
	  widget will be hidden, but not destroyed.

2001-11-12  Murray Cumming  <murrayc@usa.net>

	* Boxed Types now have wrap() overrides. Unlike other wrap()
	  functions, they will not return the same C++ instance for the
	  same C instance, because there is no way to associate data
	  with a boxed type instance. But that shouldn't be a problem.

	* All Boxed Types now have default constructors, even if that
	  results in a null gobject_. This allows their use as output
	  arguments. Glib::BoxedType::is_null() can be used to check
	  for null underlying instances.

	* Object-derived types used in WRAP_PROPERTY() are now
	  implicitly wrapped as RefPtrs to those types, so you can
	  use _WRAP_PROPERTY("something", Gdk::Something) instead of
	  _WRAP_PROPERTY("something", Glib::RefPtr<Gdk::Something>)

2001-11-10  ERDI Gergo  <cactus@cactus.rulez.org>

	* gtk/src/progressbar.hg: implemented new (2.0) ProgressBar API

2001-11-07  Daniel Elstner  <daniel.elstner@gmx.net>

	* Reworked build system:
	  Moved as much stuff as possible from the various Makefile.am's
	  into shared Makefile.am fragments in directory build_shared.
	  The functionality has been split up as follows:

	    gensrc       - source generation with gtkmmproc
	    build        - generic sub-library build/dist/install
	    build_gensrc - sub-library build from generated sources

	  Splitting up the latter two was needed because of the
	  difference of the glibmm build, which doesn't use gtkmmproc.
	  The Makefile.am fragments contain comments with a usage
	  example.

	  Also implemented several workarounds to make the build system
	  work with both automake-1.4 and automake-1.5.  Fortunately
	  it wasn't needed to create different Makefile.am's for each
	  version.  All targets including dist and distcheck succeed.

2001-11-06  Murray Cumming  <murrayc@usa.net>

	* Added glib interface wrapping system. Interface wrappers,
	  such as Gtk::TreeModel can be created with _CLASS_INTERFACE().
	  Wrappers of objects that implement the interface, such as
	  Gtk::TreeStore, should use the _IMPLEMENTS_INTERFACE() macro.
	  This allows the interface's virtual methods to be overridden,
	  and for the Gtk::TreeStore to be cast to a Gtk::TreeModel as
	  well as well as a Glib::Object, so the C++ heirarchy reflects
	  the GTK heirarchy.
	
	  However, this does not allow us to create new implementers
	  simply by inheriting from one of the interface wrappers,
	  because there must be a new glib type to implement the
	  interface. I'm still working on that.

	  Glib::Object and Glib::Interface now both inherit virtually
	  from Glib::Object_instance which contains the gobject_
	  instance. This allows the Interface wrapper classes to
	  access the implementing glib instance.

	  The vfunc and default signal handler code has changed a bit,
	  so that it an get the GClass for normal function pointers,
	  or the IFace for Interface function pointers.

2001-11-04  Daniel Elstner  <daniel.elstner@gmx.net>

	* Added a new _MEMBER_PTR() macro to method.m4, in order to
	  generate two get_*() methods:  One for const objects and one
	  for non-const objects.  Also modified _MEMBER_GOBJECT() in a
	  similar way, it returns either RefPtr<Foo> or RefPtr<const Foo>.

	  Note that you now have to omit RefPtr<> in the C++ type
	  parameter of _MEMBER_GOBJECT().

2001-11-03  Daniel Elstner  <daniel.elstner@gmx.net>

	* Use the new g_type_[sg]et_qdata() interface to register our
	  wrap_new() functions.  This completely avoids dealing with
	  strings in wrap_register() and wrap_auto().  wrap_register()
	  now takes a GType instead of a type name string, which is
	  retrieved in wrap_init.cc by using the corresponding
	  *_get_type() function.

2001-11-03  Daniel Elstner  <daniel.elstner@gmx.net>

	* Removed take_copy argument from wrap_new():
	  Glib::wrap_auto() now pays attention to reference() if
	  take_copy=true, as it already did for existing wrapper
	  instances.

2001-10-31  Murray Cumming  <murrayc@usa.net>

	* Moved some parts of PropertyProxy into a new Glib::Value
	  wrapper, so that it can be reused in a templated
	  Gtk::TextStore::set_value() method.

2001-10-29  Murray Cumming <murrayc@usa.net>

	* Added _WRAP_PROPERTY() to .hg/.ccg format, which uses def
	  file define-property sections to determine whether the
	  property should be readable/writable. The property will
	  be used like so:
	  obj.property_something.set_value(2);
	  int something = obj.property.get_value();

2001-10-29  Daniel Elstner  <daniel.elstner@gmx.net>

	* Added new GList wrapper for GObject pointers that does
	  reference counting and maps all access operations as if
	  it contains Glib::RefPtr<> objects.
	  Commented out the old GList wrapper in container.h.


gtkmm-1.3.0:

2001-10-26  Murray Cumming  <murrayc@usa.net>

	* Added simple wrappers for the various Tree objects. These
	  embody various concepts such as iteration which we should
	  probably wrap in a more std:: way. But for now I'm
	  exploring the API by building the gtk-demo, which uses the
	  GtkTreeView.

2001-10-26  Daniel Elstner  <daniel.elstner@gmx.net>

	* Reverted parts of the recent RefPtr<> modifications:
	  The static_cast<> is now in place again.  I didn't know that
	  allowing conversion from Base* to Derived* was intentional.
	  Also replaced the swap technique assignment operators with the
	  original implementation, since that's expected to be clearer.

2001-10-25  Daniel Elstner  <daniel.elstner@gmx.net>

	* Fixed and cleaned up RefPtr<>:
	  Removed the static_cast<> from the templated copy ctor since
	  it would allow initialization with a base class RefPtr<>.  The
	  implicit conversion from SubClass* to SuperClass* should be
	  sufficient here.
	  Also reimplemented both RefPtr<>::operator=() to use the copy
	  and swap technique, which simplifies the code a lot.

2001-10-25  Murray Cumming  <murrayc@usa.net>

	* Changed const RefPtr<Something>& const RefPtr<const Something>&
	and RefPtr<Something>& const RefPtr<Something>&, because the const&
	for the smartpointer is just for efficiency. The const is with the
	underlying type if that's what it's a smart pointer of.
	I don't think that we'll have many RefPtr<const Something> because 
	it is never copied by the called function, just referenced, so we 
	can't claim that the input parameter won't be changed.

2001-10-24  Murray Cumming  <murrayc@usa.net>

	* Added _WRAP_CTOR() .hg macro e.g.:
	_WRAP_CTOR(SomeWidget(gint something) gtk_some_widget_new_with_something)
	This assumes that the _new function's args are all properties,
	as they are meant to be. Language bindings are supposed to
	specify these properties in the varargs of g_object_new().

2001-10-22  Murray Cumming  <murrayc@usa.net>

	* *config.h headers installed in $(libdir)/gtkmm-2.0/

2001-10-21  Murray Cumming  <murrayc@usa.net>

	* Implemented signal disconnection using the
	  SigC::Connection(SigC::Connection_*) mechanism.

2001-10-21  Murray Cumming  <murrayc@usa.net>

	* _WRAP_METHOD() now takes an extra optional argument. If this
	  equals refcount then the return value will be ref()ed. Almost
	  all methods that return a GObject should use this. Methods
	  that return a newly-created object should not, because those
	  C functions will do an extra ref for us. It would be best to ref
	  as default, and specify a norefreturn instead, but it's hard not
	  to ref a gint, for example.

	  This doesn't help for output parameters (e.g. with gtk_pixmap_get).
	  They will still need to be manually coded.

2001-10-21  Daniel Elstner  <daniel.elstner@gmx.net>

	* Implemented the disconnect facility of Gtk::Main pseudo signals
	  with a common GtkSigConnection_ class.  The class derives from
	  SigC::Connection_ and calls gtk_*_remove() in the disconnect()
	  virtual method.  There's a large comment in sigc++/connection.h
	  describing how it works.

2001-10-18  Daniel Elstner  <daniel.elstner@gmx.net>

	* Reversed the handling of types declared in namespace std:

	  Instead of cluttering namespace Gtk and/or the global namespace
	  with 'using std::foo;' declarations, std::foo is now everywhere
	  used directly.  Thus the preprocessor code deciding which
	  namespaces to clutter is no longer needed.

	  To allow compilation with ancient compilers or C++ libraries, the
	  GTKMM_USING_* macros now expand to 'namespace std {using ::foo;}'
	  if needed.  This violates the C++ standard, but only for compilers
	  which aren't standard-compliant anyway.

2001-10-16  Murray Cumming  <murrayc@usa.net>

	* We now use Glib::ustring in our interfaces instead of std::string.
	  Glib::ustring is meant to have the same interface as std::string,
	  and seemlessly interoperates with std::string, but Glib::ustring
	  can deal with UTF8 strings, as used by GTK+/GNOME.

2001-10-16  Daniel Elstner  <daniel.elstner@gmx.net>

	* More make dist fixes:

	  Replaced docs/FAQ/Makefile and docs/tutorial/Makefile with
	  new Makefile.am's.  Did tricky automake stuff in docs/Makefile.am
	  to include the subdirs in the distribution but excluding them
	  from recursive make's.

	  The examples are now included in the distribution, too.  Needed
	  some special GNU make functions to exclude .* and CVS.

	  In glib/glibmm/Makefile.am, moved 'private' directory from
	  EXTRA_DIST to SUBDIRS, and added glib/glibmm/private/Makefile.am
	  to configure.in.

2001-10-16  Murray Cumming  <murrayc@usa.net>

	* Added _MEMBER_GOBJECT which uses the normal type
	  conversion table, like _MEMBER, but which does the
	  necessary extra ref.

2001-10-16  Murray Cumming  <murrayc@usa.net>

	* Glib::wrap() now has an optional take_copy argument,
	  which should be used when getting a wrapper of a bare
	  struct member.

2001-10-16  Murray Cumming  <murrayc@usa.net>

	* AccelGroup is now a GObject wrapper.

2001-10-16  Murray Cumming  <murrayc@usa.net>

	* Default signal handlers are now e.g.
	  virtual Button::on_clicked().
	  This seems to make it clearer that it's a signal handler,
	  to be overridden, not just a vfunc impl.
	
	  gtk+ virtual functions are now e.g.
	  virtual Widget::something()
	  or if there is a name clash:
	  virtual Widget::something_vfunc().
	  The 'virtual' gives enough information here.

	  This involved the removal of Karl's unified _WRAP()
	  mechanism from gtkmmproc.in, which I have been saying
	  is not appropriate, because functions with the same name
	  as signals/vfuncs are not necessarily related.

	  As I had to make changes to GObject and GtkObject wrappers,
	  I moved duplicated code into class_shared.m4, as macros
	  to be used by class_gobject.m4 and class_gtkobject.m4.

	  I added tools/vfunc.m4, which contains macros to create
	  the virtual function hooks. These are *very* similar to the
	  default signal handler bits in signal.m4. I thought that it
	  would be best to keep conceptually different things separate
	  even if it meant duplication of code.

2001-10-15  Daniel Elstner  <daniel.elstner@gmx.net>

	* make dist now works:
	  1) implemented --defs parameter in gtkmmproc
	  2) fixed Makefile.am bugs preventing a VPATH build
	  3) added missing dist files
	  4) Makefile.am changes to prevent distribution of built sources
	  5) split header files into foo_HEADERS and foo_DATA, the latter is
	     for built sources
	  6) minor Makefile.am cleanups