Permalink
Switch branches/tags
Commits on Sep 6, 2001
  1. fix up enums.

    2001-09-06  James Henstridge  <james@daa.com.au>
    
    	* gtk/GTK.py: fix up enums.
    
    	* gobjectmodule.c (pyg_closure_marshal): if return_value is NULL,
    	don't set it.
    	(pyg_signal_class_closure_marshal): same here.
    James Henstridge committed with James Henstridge Sep 6, 2001
  2. various updates to make it compile.

    2001-09-06  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk.defs: various updates to make it compile.
    
    	* gtk/gtk-types.c (pygdk_atom_str): fallback to returning the repr
    	of the atom if we can't resolve its name, rather than returning
    	NULL.  Patch from Skip.
    
    	* gobjectmodule.c (pyg_value_from_pyobject): look at the
    	fundamental type in this function so we can use a switch statement
    	that catches the fundamental types easily, reducing the number of
    	type checks.
    	(pyg_value_as_pyobject): similar here.  Also handle boolean types
    	using patch from Skip.
    
    	* gtk/GDK.py: add extra constants from Skip.
    James Henstridge committed with James Henstridge Sep 6, 2001
Commits on Aug 21, 2001
  1. update for autoconf 2.52

    2001-08-21  James Henstridge  <james@daa.com.au>
    
    	* configure.in: update for autoconf 2.52
    
    	* gtk/gtk.defs: make GtkAccelGroup a GObject rather than a boxed
    	type.  remove the gtk_tree_model_get_first function.
    
    2001-07-09  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (initgobject): add a gobject.TYPE_PYOBJECT
    	constant for the PyObject boxed typecode.
    James Henstridge committed with James Henstridge Aug 21, 2001
Commits on Jul 8, 2001
  1. register a "PyObject" boxed type with glib.. (pyg_value_from_pyobject…

    …): if
    
    	* gobjectmodule.c:
    	(initgobject): register a "PyObject" boxed type with glib..
    	(pyg_value_from_pyobject): if the value holds a PY_TYPE_OBJECT,
    	set the value directly.
    	(pyg_value_as_pyobject): special case the PY_TYPE_OBJECT case
    	again.
    James Henstridge committed Jul 8, 2001
  2. fix argument type for return_type.

    2001-07-08  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_signal_new): fix argument type for
    	return_type.
    James Henstridge committed with James Henstridge Jul 8, 2001
Commits on Jul 1, 2001
  1. function to list the signals of an object type. From patch by Skip

    2001-07-01  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_signal_list_names): function to list the
    	signals of an object type.  From patch by Skip Montanaro
    	(pyg_object_class_list_properties): function to list the
    	properties of a GObject.  Also from Skip.
    James Henstridge committed with James Henstridge Jul 1, 2001
Commits on Jun 30, 2001
  1. remove g_type_init() argument.

    2001-06-30  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (initgobject): remove g_type_init() argument.
    
    	* gtk/gdk.defs (Visual): make GdkVisual a boxed.
    
    	* gtk/gtk.override (GdkDragContext.targets): override getter for
    	this attribute.
    	(_wrap_gtk_list_store_new): comment out most of this function as
    	there is no way to construct a GtkListStore without C varargs as
    	of the last GtkTree related commit.
    James Henstridge committed with James Henstridge Jun 30, 2001
Commits on Jun 25, 2001
  1. remove dead code for GtkArg handling, etc. (also tidied up references to

    2001-06-25  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtkobject-support.c: remove dead code for GtkArg handling,
    	etc.  (also tidied up references to it in other files).
    
    2001-06-24  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk-types.c: removed all traces of GdkFont.
    
    	* gtk/gdk.defs (Font): add boxed type for font.
    James Henstridge committed with James Henstridge Jun 25, 2001
Commits on Jun 23, 2001
  1. more fixups to use pyg_type_from_object.

    2001-06-23  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_signal_new): more fixups to use
    	pyg_type_from_object.
    
    	* gtk/gtk.override (_wrap_gtk_accel_group_new): don't use
    	PyGtkAccelGroup_New (not sure why I am fixing this -- will change
    	soon anyway).
    	(_wrap_gtk_tree_store_set_value): use pyg_type_from_object here.
    	(_wrap_gtk_list_store_set_value): same here.
    
    	* codegen/argtypes.py (CustomBoxedArg): rename from BoxedArg.
    	(BoxedArg): new code for standardised PyGBoxed handling.
    	(ArgMatcher.register_custom_boxed): rename from register_boxed
    	(ArgMatcher.register_boxed): new function for PyGBoxed types.
    	(arg): use ArgMatcher.register_boxed to register GtkAccelGroup.
    
    	* pygobject.h (pyg_boxed_check): change macro to check against the
    	typecode, rather than python wrapper type.
    James Henstridge committed with James Henstridge Jun 23, 2001
Commits on Jun 22, 2001
  1. new arg type for GType and GtkType args that uses pyg_type_from_object.

    2001-06-22  James Henstridge  <james@daa.com.au>
    
    	* codegen/argtypes.py (GTypeArg.write_param): new arg type for
    	GType and GtkType args that uses pyg_type_from_object.
    
    	* gobjectmodule.c (pyg_type_from_object): new function to get a
    	type code from various types of python objects (currently, integer
    	like objects, strings and other objects that have a __gtype__
    	attribute).
    	(pygobject__init__): use pyg_type_from_object to get the object
    	type.
    	(pyg_signal_new): same here.
    
    2001-06-21  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_boxed_getattro): allow getattr to work on
    	PyGBoxed types (while not overloading tp_getattr).  We fall back
    	to tp_getattr if provided by the boxed type.
    	(pyg_register_boxed): make sure tp_getattro is set correctly.
    
    	* gtk/gtk-types.c (_pygtk_register_boxed_types): convert
    	GtkAccelGroup to a PyGBoxed type.
    James Henstridge committed with James Henstridge Jun 22, 2001
Commits on Jun 21, 2001
  1. comment out, as container args have been switched to properties now.

    2001-06-21  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtkobject-support.c (pygtk_dict_as_container_args): comment
    	out, as container args have been switched to properties now.
    
    2001-06-19  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_value_from_pyobject): handle PyGBoxed
    	types.
    	(pyg_value_as_pyobject): pass out PyGBoxed types if no custom
    	handler is found, rather than straight CObjects.  Will need to do
    	something about cases where we want mutable values (ie. don't copy
    	the boxed type).
    
    	* configure.in: require glib/gtk+ 1.3.6
    James Henstridge committed with James Henstridge Jun 21, 2001
Commits on Jun 9, 2001
  1. remove the constructor from interfaces. It is now provided by GInterf…

    …ace.
    
    2001-06-09  James Henstridge  <james@daa.com.au>
    
    	* codegen/codegen.py (write_interface): remove the constructor
    	from interfaces.  It is now provided by GInterface.
    	(write_source): use pyg_register_interface to register interfaces.
    
    	* gobjectmodule.c (PyGInterface_Type): add a GInterface class that
    	is the base of all interfaces.  It prevents subclassing of
    	interface objects, etc.
    James Henstridge committed with James Henstridge Jun 9, 2001
Commits on Jun 8, 2001
  1. function to register a new boxed type ExtensionClass. (pyg_boxed_new)…

    …: new
    
    2001-06-08  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_register_boxed): function to register a new
    	boxed type ExtensionClass.
    	(pyg_boxed_new): new function to create wrapper instances for a
    	particular boxed type (given its typecode).
    
    2001-06-07  James Henstridge  <james@daa.com.au>
    
    	* pygobject.h (pyg_boxed_get): add prototypes for a PyGBoxed type
    	that will be used for all boxed types in pygtk (well, I can hope
    	:)
    
    	* gobjectmodule.c (pyg_register_interface): new function to
    	register interfaces with.  Makes sure I don't accidentally give
    	the interface a parent class :).  Also adds a __gtype__ class
    	attribute similar to GObject classes.  May also make interfaces
    	subclasses of GInterface at some point.
    James Henstridge committed with James Henstridge Jun 8, 2001
Commits on May 6, 2001
  1. 2001-05-06 James Henstridge <james@daa.com.au>

    2001-05-07  James Henstridge  <james@daa.com.au>
    
    	* examples/gobject/signal.py:
    
    2001-05-06  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject__init__): make the __init__ function
    	choose what GType to pass to g_object_new based on the __gtype__
    	attribute.
    	(pygobject_methods): make __gobject_init__ an alias for
    	GObject.__init__.
    	(pyg_type_register): new function for registering new GTypes.
    	(pyg_type_register): register the type as "module+class" rather
    	than "module.class", as the second form is considered bad (would
    	like to use the second form though.
    
    	* configure.in: require 1.3.5 versions of glib and gtk+.
    James Henstridge committed with James Henstridge May 6, 2001
Commits on Mar 30, 2001
  1. moved rewritten testgtk demo here

    2001-03-30  James Henstridge  <james@daa.com.au>
    
    	* examples/pygtk-demo: moved rewritten testgtk demo here
    
    	* gobjectmodule.c (pygobject_set_property): initialise the GValue
    	to { 0, }, so set_property actually works.
    	(pygobject_get_property): same here.
    
    	* gtk/gtk.defs: updated enum/flag defs.
    
    	* gtk/gdk.defs: updated enum/flag defs.
    
    	* examples/gobject/signal.py (D.do_my_signal): add small example
    	of overriding class closure for a signal introduced from python
    	code.
    
    	* codegen/h2def.py: add --onlyenums flag to only output enum defs.
    James Henstridge committed with James Henstridge Mar 30, 2001
Commits on Mar 27, 2001
  1. simple example program that adds a signal to a class, connects a handler

    2001-03-27  James Henstridge  <james@daa.com.au>
    
    	* examples/gobject/signal.py: simple example program that adds a
    	signal to a class, connects a handler to an instance of that
    	class, and finally emits that signal.  Messages are printed by
    	both the signal handler and class method closure.
    
    	* gobjectmodule.c (pyg_signal_class_closure_marshal): convert
    	dashes in signal name to underscores.  Why does g_siganl_name use
    	dashes?
    	(pyg_signal_class_closure_marshal): fix off by one error when
    	setting up the python argument tuple.  The first element was
    	getting left uninitialised.  Signals introduced in python now
    	work.
    
    	* gtk/gtk.defs (GtkFileSelection.get_filename): return value is
    	const.
    
    	* gtk/gtk.override (_wrap_gtk_list_store_set_value): change name.
    	(_wrap_gtk_tree_store_insert): change name.
    
    	* gtk/gtk.defs (GtkListStore.set_value): change from set_cell to
    	set_value.
    	(GtkListStore.set_value): same here.
    James Henstridge committed with James Henstridge Mar 27, 2001
  2. (pyg_signal_new): new function to create new signals. Doesn't

    	work right yet.
    James Henstridge committed Mar 27, 2001
  3. new function to get the closure used as the `class closure' for signals.

    2001-03-27  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_signal_class_closure_get): new function to
    	get the closure used as the `class closure' for signals.  We only
    	need one, as we can get all the information we need from the
    	invocation hint.
    James Henstridge committed with James Henstridge Mar 27, 2001
Commits on Mar 26, 2001
  1. add some comments about creating new GTypes here.

    2001-03-26  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject__class_init__): add some comments
    	about creating new GTypes here.
    
    	* gobjectmodule.c: add type info functions to module.
    James Henstridge committed with James Henstridge Mar 26, 2001
Commits on Mar 24, 2001
  1. s/is_last/is_end/

    2001-03-24  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk-types.c (pygtk_text_iter_is_end): s/is_last/is_end/
    
    	* gobjectmodule.c (pyg_closure_new):
    	s/add_fnotify/add_finalize_notifier/
    
    	* gtk/gdk.defs, gtk/gtk.defs, gtk/gtk.override: various changes to
    	make it compile again.
    James Henstridge committed with James Henstridge Mar 24, 2001
Commits on Mar 18, 2001
  1. Still broken. Needs more updating

    2001-03-18  James Henstridge  <james@daa.com.au>
    
    	* gtk/pygtktreemodel.c (pygtk_tree_model_class_init): signals are
    	now created in the gtktreemodel.c, so we don't need to.
    
    	* gtk/gtk.defs (Adjustment): make parent GtkObject, as GtkData is
    	gone.
    	(GtkText): remove from binding.
    
    	* codegen/codegen.py (write_source): pass in the get_type function
    	when registering classes.
    	(gettypetmpl): remove template.
    	(write_class): remove get_type method generator.  Handled by __gtype__
    
    	* gobjectmodule.c (initgobject): add argument to g_type_init call.
    	(pyg_value_from_pyobject): use G_VALUE_HOLDS_* rather than
    	G_IS_VALUE_*.
    	(pyg_value_as_pyobject): same here.
    	(pygobject_register_class): add an argument that takes the
    	get_type function for the GObject.  This is used to add a
    	__gtype__ attribute to the class (the get_type function is not
    	actually called until __gtype__ is accessed).
    James Henstridge committed with James Henstridge Mar 18, 2001
Commits on Dec 14, 2000
  1. destroy window on button's clicked signal rather than destroy signal.

    2000-12-14  James Henstridge  <james@daa.com.au>
    
    	* examples/testgtk/demos/menu.py (main): destroy window on
    	button's clicked signal rather than destroy signal.
    
    	* gtk/gtk.defs: remove gtk_object_default_construct and
    	gtk_object_constructed.
    
    	* gobjectmodule.c: change over to new notification functions.
    
    	* gtk/gtk-types.c: rename functions.
    
    	* gobjectmodule.c (pygobject_get_property):
    	(pygobject_set_property): change function names to match changes
    	in glib.
    	(...connect|emit): use g_signal_parse_name instead of
    	g_signal_lookup, so we can parse the detail out of the signal name
    	string.
    James Henstridge committed with James Henstridge Dec 14, 2000
Commits on Nov 11, 2000
  1. start of a revamped testgtk example, similar to the new one in gtk.

    2000-11-11  James Henstridge  <james@daa.com.au>
    
    	* examples/testgtk/testgtk.py: start of a revamped testgtk
    	example, similar to the new one in gtk.
    
    	* gtk/gtk-types.c (PyGdkEvent_New): guard against a NULL axes
    	member in the GdkEvent structure.
    
    	* gtk/gtk.override (_wrap_gtk_tree_view_get_path_at_pos):
    	implementation of this function.
    
    	* codegen/argtypes.py (GtkTreePathArg): add an arg matcher for
    	GtkTreePath objects, that represents them as tuples of integers.
    
    	* gtk/gtk-types.c (_pygtk_register_boxed_types): add marshalers
    	for GtkTreeIter and GtkTreePath so they can be used from signal
    	handlers now.
    
    	* gtk/gtk.override, gtk/gtk.defs: make name change for
    	GtkTreeStore constructor.
    James Henstridge committed with James Henstridge Nov 11, 2000
Commits on Nov 9, 2000
  1. change code generator to pass bases in as a tuple rather than a single

    2000-11-09  James Henstridge  <james@daa.com.au>
    
    	* codegen/codegen.py (write_source): change code generator to pass
    	bases in as a tuple rather than a single PyExtensionClass
    	structure.
    
    	* pygobject.h: change prototype.
    
    	* gobjectmodule.c (pygobject_register_class): allow for registerin
    	a type with multiple base classes.
    James Henstridge committed with James Henstridge Nov 9, 2000
Commits on Nov 8, 2000
  1. add a special case for converting GObject -> G_OBJECT.

    2000-11-08  James Henstridge  <james@daa.com.au>
    
    	* codegen/argtypes.py (_conv_special_cases): add a special case
    	for converting GObject -> G_OBJECT.
    
    	* gobjectmodule.c (pygobject_connect*): g_signal_connect_closure
    	renaming.
    
    	* codegen/argtypes.py (arg): add GtkTreeIter support.
    
    	* gtk/gtk-types.c, gtk/pygtk.h, gtk/pygtk-private.h: add a
    	skeleton for the GtkTreeIter wrapper.
    James Henstridge committed with James Henstridge Nov 8, 2000
Commits on Oct 30, 2000
  1. reorder parameters to make it work with latest glib. (pygobject_conne…

    …ct*):
    
    2000-10-30  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_closure_marshal): reorder parameters to
    	make it work with latest glib.
    	(pygobject_connect*): pass 0 for the new detail parameter.  Don't
    	know what it is for.
    	(pygobject_emit): pass 0 for detail parameter.
    	(pygobject_stop_emission): pass 0 for detail parameter.
    James Henstridge committed with James Henstridge Oct 30, 2000
  2. init as module gtk._gtk. Using just _gtk doesn't seem to work with py…

    …thon
    
    2000-10-30  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtkmodule.c (init_gtk): init as module gtk._gtk.  Using just
    	_gtk doesn't seem to work with python 2.0
    
    2000-10-29  James Henstridge  <james@james.daa.com.au>
    
    	* examples/ide/gtkcons.py: small changes to make example run.
    
    	* gtk/gtk-types.c: add GtkTextIter.forward_search implementation.
    
    	* gtk/gtk.override: more override functions.
    
    	* gtk/gtkobject-support.c: remove some of the unused functions from
    	this file.
    
    2000-10-28  James Henstridge  <james@james.daa.com.au>
    
    	* gtk/gtk.override: override the functions used to initialise
    	GtkTextIter objects so that they return the iterator rather than
    	setting up an static GtkTextIter structure.
    
    	* gtk/gtk.defs (TextMark): add missing GtkTextMark object.  Don't
    	know why h2defs missed it.
    	("gtk-extrafuncs.defs"): include gtk-extrafuncs.defs.
    
    	* codegen/argtypes.py: add GdkDevice and GtkTextIter to list of
    	recognised boxed types.
    
    	* gtk/gtk-types.c: add skeleton implementation of GtkTextIter.
    
    	* gtk/pygtk.h, gtk/pygtk-private.h: add prototypes for GtkTextIter
    	wrapper.
    
    	* gtk/gtk.override: ref and sink GtkObjects which have their
    	constructors listed in the overrides file.  This should get rid of
    	the last few warnings on exit related to reference counting.
    
    	* codegen/codegen.py: use the keyword module to check for method
    	and argument names that conflict with the python keywords.  By
    	using this module, we shouldn't have problems with new keywords in
    	future versions of python.
    
    2000-10-27  James Henstridge  <james@james.daa.com.au>
    
    	* gobjectmodule.c (pygobject_emit): support for emiting signals on
    	GObjects from python.
    
    	* codegen/codegen.py (write_constructor): sink GtkObjects.  This
    	prevents us losing our reference to the object if it is sunk.
    
    	* codegen/argtypes.py (ArgMatcher.object_is_a): function to check
    	if one object type is another type.
    
    	* codegen/codegen.py (register_types): pass the parent type when
    	registering a new GObject type.
    
    	* gtk/gtk-types.c (_pygtk_register_boxed_types): register
    	marshalers for the various boxed types, so that they work as
    	expected inside the signal handlers.
    
    	* gobjectmodule.c (pygobject_repr): small change to match style of
    	other repr functions in python.
    
    	* gtk/gtkmodule.c (init_gtk): only call g_thread_init() if pygtk
    	threading support is enabled.
    
    	* configure.in (enable_thread): add configure checks so that
    	threading support can be disabled even if python was compiled with
    	it.  It defaults to off for now because GSignal has some mutex
    	deadlocks at the moment.
    James Henstridge committed with James Henstridge Oct 30, 2000
Commits on Oct 26, 2000
  1. remove gtk_signal_set_funcs call.

    2000-10-26  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtkmodule.c (init_gtk): remove gtk_signal_set_funcs call.
    
    	* gobjectmodule.c (pyg_value_from_pyobject): default to using
    	CObject for unknown boxed values and pointer values.
    	(pyg_value_as_pyobject): same here.
    	(pygobject_connect*): Add signal connection functions.
    James Henstridge committed with James Henstridge Oct 26, 2000
  2. new function for registering functions to marshal boxed GValues to/from

    2000-10-26  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_boxed_register): new function for
    	registering functions to marshal boxed GValues to/from their
    	python wrappers.
    	(pyg_value_from_pyobject): add boxed support.
    	(pyg_value_as_pyobject): add boxed support.
    	(pyg_closure_new): new function to create a python GClosure.
    	(pyg_closure_destroy): cleanup function for a PyGClosure.
    	(pyg_closure_marshal): marshaler for PyGClosure.
    	(pyg_value_as_pyobject): add const to GValue argument.
    
    	* pygobject.h: export a pyg_boxed_register function to register
    	new boxed types for use with pyg_value_from_pyobject and
    	pyg_value_as_pyobject.
    James Henstridge committed with James Henstridge Oct 26, 2000
Commits on Oct 25, 2000
  1. include <glib-object.h> rather than <gobject/...>

    James Henstridge committed Oct 25, 2000
  2. more updates.

    2000-10-25  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk.defs: more updates.
    
    	* gobjectmodule.c (pygobject_getattro): return NULL on error.
    	This fixes the segfault :)
    James Henstridge committed with James Henstridge Oct 25, 2000
  3. add a field just to test pygobject_getattro. It isn't working quite

    2000-10-25  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk.defs (Bin): add a field just to test pygobject_getattro.
    	It isn't working quite properly at the moment though :(
    
    	* gobjectmodule.c (check_bases): class->bases is a tuple -- not a
    	list.
    	(check_bases): check if class->bases != NULL before using it :(
    
    	* gtk/gtk.defs: comment out new tree widget stuff at hp and owen's
    	suggestion.
    
    	* gtk/__init__.py: import gobject here as well to prevent weirdness.
    
    	* gtk/gtk.defs: more updates, adding (is-constructor-of ...) and
    	(default "...") clauses.
    
    	* gtk/gtk.override (_wrap_gtk_button_new): handle the accel_group
    	argument, and try to create a stock button if possible.
    James Henstridge committed with James Henstridge Oct 25, 2000
Commits on Oct 24, 2000
  1. add support for GdkDevice and convert function names to lowercase.

    2000-10-24  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk-types.c: add support for GdkDevice and convert function
    	names to lowercase.
    
    	* gtk/gtkmodule.c: add GdkDevice stuff to PyGtk_API.
    
    	* gtk/pygtk.h, gtk/pygtk-private.h: add GdkDevice to list of boxed
    	types.
    
    2000-10-23  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c: don't set the getattr method on objects if it
    	isn't already set.  Also, install a getattro handler that will
    	perform the usual method/attribute lookup and then call the
    	getattr method for all base classes to allow specifying of class
    	specific attributes
    James Henstridge committed with James Henstridge Oct 24, 2000
Commits on Jul 3, 2000
  1. actually initialise the gobject stuff for gtk._gtk.

    2000-07-03  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtkmodule.c (init_gtk): actually initialise the gobject stuff
    	for gtk._gtk.
    
    	* pygobject.h (pygobject_check): call the correct ExtensionClass
    	check macro.
    	(init_pygobject): small fixup here.
    James Henstridge committed with James Henstridge Jul 3, 2000
  2. call the correct ExtensionClass check macro.

    2000-07-03  James Henstridge  <james@daa.com.au>
    
    	* pygobject.h (pygobject_check): call the correct ExtensionClass
    	check macro.
    
    	* codegen/codegen.py (consttmpl): use pygobject_register_wrapper.
    	(getattrtmpl): make the getattr function raise an exception on
    	unhandled attributes.  I will use a tp_getattro function to bind
    	all the getattr functions of base classes together.
    James Henstridge committed with James Henstridge Jul 3, 2000