Permalink
Switch branches/tags
Commits on Dec 20, 2001
  1. fix for updated API. (pygobject_methods): just call the method "chain".

    James Henstridge committed with James Henstridge Dec 20, 2001
    2001-12-20  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject_chain_from_overridden): fix for
    	updated API.
    	(pygobject_methods): just call the method "chain".
Commits on Dec 18, 2001
  1. forgot to add these types here :(

    James Henstridge committed Dec 18, 2001
  2. add support for int64/uint64. Fix up code for unsigned int/long to parse

    James Henstridge committed with James Henstridge Dec 18, 2001
    2001-12-18  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_value_from_pyobject): add support for
    	int64/uint64.  Fix up code for unsigned int/long to parse long
    	ints if necessary.
    	(pyg_value_as_pyobject): add support for int64/uint64, and get
    	UINT/ULONG to return python long ints if necessary, rather than
    	wrapping around.
  3. add new example to dist.

    James Henstridge committed with James Henstridge Dec 18, 2001
    2001-12-18  James Henstridge  <james@daa.com.au>
    
    	* Makefile.am (EXTRA_DIST): add new example to dist.
    
    	* examples/gobject/properties.py: test program that implements a
    	few properties.
    
    	* gobjectmodule.c (add_properties): new function for parsing the
    	__gproperties__ class attribute.
    	(create_property): helper routine for creating and installing the
    	new pspecs.
    	(pyg_type_register): add code to call add_properties if a
    	__gproperties__ attribute is found.
    	(pyg_object_class_init): set set_property/get_property methods in
    	vtable, and get rid of debug message.
    	(initgobject): add G_PARAM_* constants.
Commits on Dec 17, 2001
  1. add chaining function. This will need to change when Tim makes the ch…

    James Henstridge committed with James Henstridge Dec 17, 2001
    …anges
    
    2001-12-17  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject_chain_from_overridden): add chaining
    	function.  This will need to change when Tim makes the changes to
    	the chaining API.  This was just to test that things worked
    	correctly (and they do).  Possibly this should be renamed to just
    	GObject.chain() or GObject._chain().
    
    2001-12-15  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (add_signals): put the class ref/unref in here,
    	so it is only done once.  The ref/unref is really needed for
    	adding signals as well, so that we don't end up with dups.
Commits on Dec 14, 2001
  1. (override_signal): add g_type_class_ref() calls so that parent signal…

    James Henstridge committed with James Henstridge Dec 14, 2001
    …s are
    
    2001-12-14  James Henstridge  <james@daa.com.au>
    
    	(override_signal): add g_type_class_ref() calls so that parent
    	signals are registered.
  2. Add gobject.glib_version.

    Johan Dahlin committed with Johan Dahlin Dec 14, 2001
    2001-12-14  Johan Dahlin  <jdahlin@telia.com>
    
    	* gobjectmodule.c (initgobject): Add gobject.glib_version.
  3. another helper function for overriding existing signals. Haven't done

    James Henstridge committed with James Henstridge Dec 14, 2001
    2001-12-14  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (override_signal): another helper function for
    	overriding existing signals.  Haven't done chaining support yet.
    	(add_signals): if value in __gsignals__ dict is None or
    	'override', then call override_signal instead.
  4. use __gsignals__ notation here.

    James Henstridge committed with James Henstridge Dec 14, 2001
    2001-12-14  James Henstridge  <james@daa.com.au>
    
    	* examples/gobject/signal.py: use __gsignals__ notation here.
    
    	* gobjectmodule.c (create_signal, add_signals): helper routines
    	for handling __gsignals__ attribute of classes.
    	(pyg_type_register): add support for creating signals as part of
    	type registration.
Commits on Dec 13, 2001
  1. always print and clear the exceptions in callback marshalers. People who

    Matt Wilson committed with Matt Wilson Dec 13, 2001
    2001-12-12  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pyg_closure_marshal,
    	pyg_signal_class_closure_marshal): always print and clear the
    	exceptions in callback marshalers.  People who want to catch these
    	exceptions and make them fatal should use sys.excepthook.
    	(pyg_fatal_exceptions_notify, pyg_fatal_exceptions_notify_add,
    	pyg_fatal_exceptions_remove): remove now unused functions.  Also
    	remove them from the PyGObject_API.
    
    	* gtk/pygtk.h (PyGtk_FatalExceptions): remove.
    
    	* gtk/pygtk-private.h (PyGtk_FatalExceptions): remove.
    
    	* gtk/gtkmodule.c (init_gtk): don't bother with
    	PYGTK_FATAL_EXCEPTIONS.
    	(pygtk_main_quit): remove unused code.
    
    	* gtk/gtk.override (_wrap_gtk_item_factory_create_items,
    	_wrap_gtk_menu_popup): likewise, always print and clear the
    	exception.
Commits on Dec 2, 2001
  1. fix up format string, from bug #65636 (Skip again).

    James Henstridge committed with James Henstridge Dec 2, 2001
    2001-12-02  James Henstridge  <james@daa.com.au>
    
    	* gtk/gtk.override (_wrap_gtk_text_buffer_create_tag): fix up
    	format string, from bug #65636 (Skip again).
    
    	* gobjectmodule.c (pyg_type_wrapper_repr): fix up format string,
    	from bug #65640 (from Skip).
  2. use pyg_error_check to raise the exception. Now the domain and code

    James Henstridge committed with James Henstridge Dec 2, 2001
    2001-12-02  James Henstridge  <james@daa.com.au>
    
    	* codegen/argtypes.py (GTypeArg.write_return): use pyg_error_check
    	to raise the exception.  Now the domain and code elements of the
    	GError are available.
    	(GtkTreePathArg.write_param): add to codeafter in order to free
    	the tree path we created, fixing a leak.
    
    	* gobjectmodule.c (initgobject): create a gobject.GError
    	exception.
    	(pyg_error_check): function for converting a GError into a
    	gobject.GError python exception.
Commits on Nov 30, 2001
  1. get rid of class_hash, and store the pointer to the python class with

    James Henstridge committed with James Henstridge Nov 30, 2001
    2001-11-30  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject_register_class): get rid of
    	class_hash, and store the pointer to the python class with
    	g_type_set_qdata().
    	(pygobject_lookup_class): look up python class with
    	g_type_get_qdata.
    	(pyg_object_class_init): a class_init function for types defined
    	in python.  The python class is passed as the "class_data"
    	argument.  Currently empty, but will be used to install
    	eg. get_property and set_property members.
    	(pyg_type_register): store pointer to class like we do for types
    	defined in C.
    	(initgobject): move the quark initialisations above the
    	registration of GObject.
Commits on Nov 27, 2001
  1. added start of atk wrapper

    Matt Wilson committed with Matt Wilson Nov 27, 2001
    2001-11-27  Matt Wilson  <msw@redhat.com>
    
    	* atk.defs, atk.override, atkmodule.c: added start of atk wrapper
    
    	* gtk/Makefile.am (DISTCLEANFILES): remove generated files
    	($(srcdir)/gtk.c): modify targets to output generated files in the
    	builddir, not the srcdir.
    	($(srcdir)/gdk.c): likewise.
    	($(srcdir)/libglade.c): likewise.
    
    	* codegen/h2def.py (define_func): add check to workaround broken
    	string.replace semantics on python 1.5
    
    	* codegen/codegen.py (write_enums): if the enum or flag doesn't
    	have a GType, just add those enum values listed in the defs file
    	by hand.
    
    	* codegen/argtypes.py (ArgMatcher.register_enum): if defs file
    	doesn't specify a GType for the enum, use G_TYPE_NONE.
    	(ArgMatcher.register_flag): likewise.
    
    	* gobjectmodule.c (pyg_enum_get_value): allow enums to pass
    	G_TYPE_NONE in as the type, disabling the string to value
    	conversion.
    	(pyg_flags_get_value): likewise.
    	(pyg_constant_strip_prefix): new function to combine common
    	codepath.
    	(pyg_enum_add_constants): use pyg_constant_strip_prefix
    	(pyg_flags_add_constants): likewise.
    	(functions): make pyg_constant_strip_prefix available to users of
    	pygobject
    
    	* pygobject.h: added pyg_constant_strip_prefix wrapper
    
    	* configure.in: added ATK test, subst for ATK_CFLAGS and ATK_LIBS.
    
    	* Makefile.am (%.c): added generic codegen target for pango and
    	atk.  Added DISTCLEANFILES so that generated files will be
    	removed.  Added atk targets, cflags, ldflags.
Commits on Nov 19, 2001
  1. fixed think-o, don't store a pointer to the function pointer, just store

    Matt Wilson committed with Matt Wilson Nov 19, 2001
    2001-11-19  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pyg_fatal_exceptions_notify_{add,remove}):
    	fixed think-o, don't store a pointer to the function pointer, just
    	store the function pointer.
Commits on Nov 16, 2001
  1. s/g_param_get_{name,nick,blurb}/g_param_spec_get_{name,nick,blurb}/g

    Matt Wilson committed with Matt Wilson Nov 16, 2001
    2001-11-16  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pyg_param_spec_getattr, pyg_param_spec_repr):
    	s/g_param_get_{name,nick,blurb}/g_param_spec_get_{name,nick,blurb}/g
    	(pyg_fatal_exceptions_notify_remove): use the right type.
Commits on Nov 15, 2001
  1. added PyGFatalExceptionFunc typedef, API wrapper for

    Matt Wilson committed with Matt Wilson Nov 15, 2001
    2001-11-15  Matt Wilson  <msw@redhat.com>
    
    	* pygobject.h: added PyGFatalExceptionFunc typedef, API wrapper
    	for pyg_fatal_exceptions_{add,remove}.
    
    	* gobjectmodule.c (pyg_boxed_new): return NULL on assertion
    	failures, #62814
    	(pyg_closure_new): actually assign swap_data to the closure.
    	(pyg_fatal_exceptions_notify, pyg_fatal_exceptions_notify_add,
    	pyg_fatal_exceptions_remove): added mechanism for gobjectmodule using
    	modules to get a function called when a fatal exception happens in
    	closures, etc.
    	(pyg_closure_marshal, pyg_signal_class_closure_marshal): return
    	NULL if a gobjectmodule using module registered a fatal exception
    	function.
    
    	* gtk/pygtk-private.h: added declarations for
    	pygtk_custom_destroy_notify, pygtk_tree_selection_marshal,
    	pygtk_tree_foreach_marshal.  Added typedef for
    	PyGtkCustomNotify. #62814
    
    	* gtk/gtkmodule.c (init_gtk): register stock items, #62814.  Set
    	up fatal exception stuff if PYGTK_FATAL_EXCEPTIONS is set.  This
    	isn't 100% done yet, gtk mainloop specific functions still need
    	work.
    
    	* gtk/gtkobject-support.c (pygtk_tree_selection_marshal): added,
    	#62814
    	(pygtk_tree_foreach_marshal): added, #62814
    	(pygtk_custom_destroy_notify): added, #62814
    
    	* gtk/gtk.override (_wrap_gtk_tree_selection_set_select_function):
    	added, #62814
    	(_wrap_gtk_tree_selection_selected_foreach): added, #62814
Commits on Oct 25, 2001
  1. include the module name in the typename. (PyGInterface_Type): same here.

    James Henstridge committed with James Henstridge Oct 25, 2001
    2001-10-25  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (PyGObject_Type): include the module name in the
    	typename.
    	(PyGInterface_Type): same here.
    	(PyGBoxed_Type): same here.
    	(pygobject_register_class): when working out what name to put into
    	the module dictionary, strip off everything before the last dot,
    	so the type name can include the module.
    
    	* configure.in (minver): require python 2.2b1
    
    	* gobjectmodule.c (initgobject): remove statements using
    	tp_defined (they are no longer needed).
Commits on Oct 11, 2001
  1. also go set up the reflist if we're doing refcount debugging.

    Matt Wilson committed with Matt Wilson Oct 11, 2001
    2001-10-10  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pygobject_dealloc): also go set up the reflist
    	if we're doing refcount debugging.
  2. if we are saving a reference to the wrapper during dealloc (which is

    James Henstridge committed with James Henstridge Oct 11, 2001
    2001-10-11  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject_dealloc): if we are saving a
    	reference to the wrapper during dealloc (which is probably bad),
    	check if it is a heap type, and if so, incref its type, so that
    	subtype_dealloc() doesn't decref the type out from under us.  This
    	problem was tracked down by Matt Wilson
Commits on Oct 5, 2001
  1. too many tuples.

    Matt Wilson committed with Matt Wilson Oct 5, 2001
    2001-10-05  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pyg_closure_new): too many tuples.
  2. *** empty log message ***

    Johan Dahlin committed Oct 5, 2001
  3. mask out G_SIGNAL_TYPE_STATIC_SCOPE to fix signal emission.

    Matt Wilson committed with Matt Wilson Oct 5, 2001
    2001-10-05  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pygobject_emit): mask out
    	G_SIGNAL_TYPE_STATIC_SCOPE to fix signal emission.
  4. Handle non-Tuple parameters.

    Johan Dahlin committed with Johan Dahlin Oct 5, 2001
    2001-10-05  Johan Dahlin  <zilch.am@home.se>
    
    	* gobjectmodule.c (pyg_closure_new): Handle non-Tuple parameters.
    
    	* gtk/gtk.override (_wrap_gtk_window_list_toplevels): Bound
    	(_wrap_gtk_toolbar_insert_stock): Bound.
    
    	* gtk/gtk.defs (binding_entry_clear): rename from gtk_bindings_entry_clear
    	(color_selection_palette_from_string): rename from gtk_color_selection_palette_from_string
    	(set_border_width): Added
    	(set_resize_mode): Added
    	(get_children): Added
    	(children): Mark as deprecated
    	(get_focus_chain): Added
    	(get_focus_vadjustment): Added
    	(get_focus_hadjustment): Added
    	(gtk_container_add_child_arg_type): Removed
    	(gtk_container_query_child_args): Removed
    	(gtk_containerchild_getv): Removed
    	(gtk_container_child_setv): Removed
    	(gtk_container_add_with_args): Removed
    	(gtk_container_addv): Removed
    	(gtk_container_add_set): Removed
    	(gtk_container_add_get): Removed
    	(GtkContainer.child_set): Added
    	(GtkContainer.child_get): Added
    	(gtk_container_child_args_collect): Removed
    	(gtk_container_child_arg_get_info): Removed
    	(GtkDrawingArea.size): Mark as deprecated
    	(GtkEditable.get_editable): Added
    	(GtkEntry.new_with_max_length): Mark as deprecated
    	(GtkEntry.get_visibility): Added
    	(GtkEntry.get_invisible_char): Added
    	(GtkEntry.get_max_length): Added
    	(GtkFontSelection.get_font): Mark as deprecated
    	(GtkFontSelectionDialog.get_font): Mark as deprecated
    	(GtkFrame.get_label_widget): Added
    	(GtkFrame.get_label_align): Added
    	(GtkFrame.get_shadow_type): Added
    	(GtkGC.gc_get): Added
    	(gtk.gc_release): Rename from gtk_gc_release
    	(GtkHandleBox.get_shadow_type): Added
    	(GtkHandleBox.get_handle_position): Added
    	(GtkHandleBox.get_snap_edge): Added
    	(GtkHscale.new_with_range): Added
    	(GtkLayout.freeze): Mark as deprecated
    	(GtkLayout.thaw): Mark as deprecated
    	(GtkListStore.new): Fix parameters
    	(GtkListStore.newv): Added (needed?)
    	(GtkListStore.set): Added
    	(GtkListStore.clear): Added
    	(gtk_init_abi_check): Remove
    	(gtk_init_check_abi_check): Remove
    	(gtk_exit): Remove
    	(gtk.get_current_event_state): Added
    	(GtkMenu.get_tearoff_state): Added
    	(GtkMenu.get_title): Added
    	(gtk_rc_*): Rename to rc_*
    	(GtkToolbar.insert_stock): Added
    	(GtkToolbar.set_icon_size): Added
    	(GtkToolbar.unset_style): Added
    	(GtkToolbar.unset_icon_size): Added
    	(GtkToolbar.get_orientation): Added
    	(GtkToolbar.get_style): Added
    	(GtkToolbar.get_icon_size): Added
    	(GtkToolbar.get_tooltips): Added
    	(gtk_type_unique): Remove
    	(gtk_type_class): Remove
    	(gtk_type_new): Remove
    	(gtk_enum_get_values): Remove
    	(gtk_flags_get_values): Remove
    	(gtk_enum_find_value): Remove
    	(gtk_flags_find_value): Remove
    	(GtkViewport.get_shadow_type): Added
    	(GtkVscale.new_with_range): Added
Commits on Oct 3, 2001
  1. tweak the repr such that calling it on an uninitialized PyGObject won't

    Matt Wilson committed with Matt Wilson Oct 3, 2001
    2001-10-03  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pygobject_repr): tweak the repr such that
    	calling it on an uninitialized PyGObject won't segfault.  Also
    	print the python class name.
Commits on Oct 2, 2001
  1. remove debugging message James checked in.

    Matt Wilson committed with Matt Wilson Oct 2, 2001
    2001-10-02  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pygobject_dealloc): remove debugging message
    	James checked in.
    
    	* gtk/gtk.override (_wrap_gtk_text_buffer_set_text): override
    	GtkBuffer.set_text so that you don't have to pass in the length.
  2. (pyg_object_new): rewrote function to use g_object_newv and instantiate

    Matt Wilson committed with Matt Wilson Oct 2, 2001
    2001-10-02  Matt Wilson  <msw@redhat.com>
    
    	(pyg_object_new): rewrote function to use g_object_newv and
    	instantiate the object after we check to make sure the class
    	handles all the properties passed.  This solves the problem of
    	trying to destroy a GtkObject after creating it, which can be a
    	little tricky.
  3. added a new gobject.new function to create an object of any registered

    Matt Wilson committed with Matt Wilson Oct 2, 2001
    2001-10-02  Matt Wilson  <msw@redhat.com>
    
    	* gobjectmodule.c (pyg_object_new): added a new gobject.new
    	function to create an object of any registered type with kwargs
    	property setting.
  4. fix bug where we were INCREFing the saved widget even in the hasref case

    James Henstridge committed with James Henstridge Oct 2, 2001
    2001-10-02  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject_new): fix bug where we were INCREFing
    	the saved widget even in the hasref case (where we should be
    	passing ownership of the last reference).
Commits on Sep 30, 2001
  1. (pygobject_new): GC track wrappers created through pygobject_new.

    James Henstridge committed with James Henstridge Sep 30, 2001
    2001-09-30  James Henstridge  <james@daa.com.au>
    
    	(pygobject_new): GC track wrappers created through pygobject_new.
  2. use plain old PyObject_GC_Del, as the overridden tp_free seems to ignore

    James Henstridge committed with James Henstridge Sep 30, 2001
    2001-09-30  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pygobject_dealloc): use plain old
    	PyObject_GC_Del, as the overridden tp_free seems to ignore the GC
    	header.
  3. increment version number, and require gtk 1.3.9 (we already required it

    James Henstridge committed with James Henstridge Sep 30, 2001
    2001-09-30  James Henstridge  <james@daa.com.au>
    
    	* configure.in: increment version number, and require gtk 1.3.9
    	(we already required it before).
    
    	* gobjectmodule.c (pygobject_new): initialise extra members.
    	Problem found by msw.
Commits on Sep 29, 2001
  1. small typo

    James Henstridge committed Sep 29, 2001
  2. add a wrapper for a GParamSpec. Currently it only exposes the base

    James Henstridge committed with James Henstridge Sep 29, 2001
    2001-09-29  James Henstridge  <james@daa.com.au>
    
    	* gobjectmodule.c (pyg_param_spec_new): add a wrapper for a
    	GParamSpec.  Currently it only exposes the base parameter info;
    	none of the extra info provided by derived param specs.
    	(pyg_object_class_list_properties): return a list of GParamSpec
    	objects, rather than just strings.
    	(pyg_value_as_pyobject): catch NULL strings.
Commits on Sep 28, 2001
  1. use pyg_type_from_object instead. Based on patch from Elliot.

    James Henstridge committed with James Henstridge Sep 28, 2001
    2001-09-29  James Henstridge  <james@daa.com.au>
    
    	* gtk/pygtktreemodel.c (pygtk_tree_model_get_column_type): use
    	pyg_type_from_object instead.  Based on patch from Elliot.
    
    	* gtk/gtk.override (_wrap_gtk_selection_data__get_data): convert
    	getter to a function to match codegen changes.
    
    	* : merge in python22-branch (see changelog entries below).