Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: python22-branc…
Commits on Sep 20, 2001
  1. uncomment this now it has a boxed type.

    James Henstridge authored James Henstridge committed
    2001-09-20  James Henstridge  <james@daa.com.au>
    
    	* pango.defs (FontMetrics): uncomment this now it has a boxed type.
    
    	* gtk/Makefile.am (EXTRA_DIST): add gdk.override to dist.
    
    	* configure.in: update version number.
  2. rename from new, so that the header is includable in C++ programs.

    James Henstridge authored James Henstridge committed
    2001-09-20  James Henstridge  <james@daa.com.au>
    
    	* pygobject.h (_PyGObject_Functions.newgobj): rename from new, so
    	that the header is includable in C++ programs.
Commits on Sep 18, 2001
  1. rename to gobject.list_properties.

    James Henstridge authored James Henstridge committed
    2001-09-18  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_object_class_list_properties): rename to
    	gobject.list_properties.
  2. export this function.

    James Henstridge authored James Henstridge committed
    2001-09-18  James Henstridge  <james@daa.com.au>
    
    	* pygobject.h (pyg_type_wrapper_new): export this function.
    
    	* codegen/argtypes.py (GTypeArg.write_return): wrap GType return
    	values as PyGTypeWrappers rather than ints.
    
    	* codegen/codegen.py (write_source): pass the typecode macros to
    	pygobject_register_class and pyg_register_interface rather than
    	references to the get_type functions.
    
    	* pygobject.h (_PyGObject_Functions): fix up prototypes.
    
    	* gobjectmodule.c (check_bases): check if the base class is an
    	extensionclass before poking around in class->bases.
    	(pyg_type_*): don't bother storing the _get_type() function for
    	lazy initialisation.  Instead, just store the GType.  Also, remove
    	code for coercing them into numbers.
    	(pygobject_register_class): take the type, rather that get_type
    	routine as an argument.
    	(pyg_register_interface): same here.
    	(pyg_type_from_object): don't accept types that convert to ints as
    	being equivalent to GTypes.
    	(pyg_register_boxed): set the __gtype__ attribute to a
    	PyGTypeWrapper.
    	(pyg_type_register): set __gtype__ to a PyGTypeWrapper.
    	(pyg_type_name): use pyg_type_from_name
    	(pyg_type_from_name): return a PyGTypeWrapper object.
    	(pyg_type_parent): update.
    	(pyg_type_is_a): update.
    	(pyg_type_children): update.
    	(pyg_type_interfaces): update.
    	(initgobject): set __gtype__ attributes to PyGTypeWrapper objects.
    	(initgobject): make type constants PyGTypeWrapper objects.
  3. check if the base class is an extensionclass before poking around in

    James Henstridge authored James Henstridge committed
    2001-09-18  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (check_bases): check if the base class is an
    	extensionclass before poking around in class->bases.
Commits on Sep 15, 2001
  1. allow '_' as start of constant name. (pyg_flags_add_constants): same …

    James Henstridge authored James Henstridge committed
    …here.
    
    2001-09-15  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_enum_add_constants): allow '_' as start of
    	constant name.
    	(pyg_flags_add_constants): same here.
  2. don't import GTK.

    James Henstridge authored James Henstridge committed
    2001-09-15  James Henstridge  <james@daa.com.au>
    
    	* gtk/__init__.py (TRUE): don't import GTK.
    
    	* gtk/gtkmodule.c (init_gtk): same here.
    
    	* pangomodule.c (initpango): add constants to the pango module.
    
    	* codegen/codegen.py (write_enums): new function that writes a
    	function to add constants for all the enums and flags in the
    	parser.
    	(write_source): call write_enums().
Commits on Sep 14, 2001
  1. add test use of add_constants.

    James Henstridge authored James Henstridge committed
    2001-09-15  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtkmodule.c (init_gtk): add test use of add_constants.
    
    	* pygobject.h (_PyGObject_Functions): add new functions to header.
    
    	* gobjectmodule.c (pyg_enum_add_constants): new function for
    	adding constants to a module dictionary from a particular GType.
    	(pyg_flags_add_constants): similar for flag types.
    	(functions): add to export function vtable.
  2. same change.

    James Henstridge authored James Henstridge committed
    2001-09-14  James Henstridge  <james@daa.com.au>
    
    	* pygobject.h (pyg_register_boxed_custom): same change.
    
    	* gobjectmodule.c (pyg_register_boxed_custom): rename from
    	pyg_boxed_register to avoid confusion.
  3. merge from short-class-names-branch

    James Henstridge authored James Henstridge committed
    2001-09-14  James Henstridge  <james@daa.com.au>
    
    	merge from short-class-names-branch
    
    2001-09-12  James Henstridge  <james@daa.com.au>
    
    	* codegen/codegen.py (write_class, write_interface): set the short
    	name as the class name here.
    
    	* gobjectmodule.c (pygobject_register_class): pass ec->tp_name as
    	the name for the class passed to PyExtensionClass_Export*.
    
    	* codegen/codegen.py (write_source): pass the C name to
    	pygobject_register_class again.
    
    2001-09-11  James Henstridge  <james@daa.com.au>
    
    	* gtk/__init__.py (create_pixmap): few fixups to get things to
    	import correctly.
    
    	* gtk/gtkmodule.c (init_gtk): there is no _pygdk_register_boxed().
    
    	* gtk/libglade.override (init): same here.
    
    	* gtk/gtk.override (init): same here.
    
    	* gtk/gdk.override (init): use short class names here.
    
    	* gtk/gtkmodule.c (init_gtk): initialise both the gtk._gtk and
    	gtk.gdk modules.
    
    	* gtk/gtk.defs: don't include gdk.defs
    
    	* gtk/gtk.override: remove all GDK override wrappers.
    
    	* gtk/gdk.override: new file taking the overrides for GDK
    	functions.
    
    	* codegen/codegen.py (write_source): register only the short name
    	of the GObject, interface or boxed type.
Commits on Sep 13, 2001
  1. removed. (gtk_cell_renderer_text_pixbuf_get_type): removed.

    Johan Dahlin authored Johan Dahlin committed
    2001-09-13  Johan Dahlin  <zilch.am@home.se>
    
    	* gtk/gtk.defs (CellRendererTextPixbuf): removed.
    	(gtk_cell_renderer_text_pixbuf_get_type): removed.
    	(gtk_cell_renderer_text_pixbuf_new): removed.
    	(gtk_cell_renderer_text_iter_spew): removed.
    	(row_changed): Renamed.
    	(row_inserted): Renamed.
    	(row_has_child_toggled): Renamed.
    	(row_deleted): Renamed.
    	(rows_reordered): Renamed, and fixed.
    	(set_fixed_width): Renamed.
    	(get_fixed_width): Added.
    
    	* gobjectmodule.c (initgobject): Adjust
    	g_boxed_type_register_static to compile under latest cvs.
Commits on Sep 6, 2001
  1. fix up enums.

    James Henstridge authored James Henstridge committed
    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.
  2. various updates to make it compile.

    James Henstridge authored James Henstridge committed
    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.
Commits on Aug 21, 2001
  1. update for autoconf 2.52

    James Henstridge authored James Henstridge committed
    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.
Commits on Jul 8, 2001
  1. register a "PyObject" boxed type with glib.. (pyg_value_from_pyobject…

    James Henstridge authored
    …): 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.
  2. fix argument type for return_type.

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

    James Henstridge authored James Henstridge committed
    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.
Commits on Jun 30, 2001
  1. remove g_type_init() argument.

    James Henstridge authored James Henstridge committed
    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.
Commits on Jun 25, 2001
  1. remove dead code for GtkArg handling, etc. (also tidied up references to

    James Henstridge authored James Henstridge committed
    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.
Commits on Jun 23, 2001
  1. more fixups to use pyg_type_from_object.

    James Henstridge authored James Henstridge committed
    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.
Commits on Jun 22, 2001
  1. new arg type for GType and GtkType args that uses pyg_type_from_object.

    James Henstridge authored James Henstridge committed
    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.
Commits on Jun 21, 2001
  1. comment out, as container args have been switched to properties now.

    James Henstridge authored James Henstridge committed
    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
Commits on Jun 9, 2001
  1. remove the constructor from interfaces. It is now provided by GInterf…

    James Henstridge authored James Henstridge committed
    …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.
Commits on Jun 8, 2001
  1. function to register a new boxed type ExtensionClass. (pyg_boxed_new)…

    James Henstridge authored James Henstridge committed
    …: 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.
Commits on May 6, 2001
  1. 2001-05-06 James Henstridge <james@daa.com.au>

    James Henstridge authored James Henstridge committed
    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+.
Commits on Mar 30, 2001
  1. moved rewritten testgtk demo here

    James Henstridge authored James Henstridge committed
    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.
Commits on Mar 27, 2001
  1. simple example program that adds a signal to a class, connects a handler

    James Henstridge authored James Henstridge committed
    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.
  2. (pyg_signal_new): new function to create new signals. Doesn't

    James Henstridge authored
    	work right yet.
  3. new function to get the closure used as the `class closure' for signals.

    James Henstridge authored James Henstridge committed
    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.
Commits on Mar 26, 2001
  1. add some comments about creating new GTypes here.

    James Henstridge authored James Henstridge committed
    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.
Commits on Mar 24, 2001
  1. s/is_last/is_end/

    James Henstridge authored James Henstridge committed
    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.
Commits on Mar 18, 2001
  1. Still broken. Needs more updating

    James Henstridge authored James Henstridge committed
    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).
Commits on Dec 14, 2000
  1. destroy window on button's clicked signal rather than destroy signal.

    James Henstridge authored James Henstridge committed
    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.
Commits on Nov 11, 2000
  1. start of a revamped testgtk example, similar to the new one in gtk.

    James Henstridge authored James Henstridge committed
    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.
Commits on Nov 9, 2000
  1. change code generator to pass bases in as a tuple rather than a single

    James Henstridge authored James Henstridge committed
    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.
Something went wrong with that request. Please try again.