summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* han Dahlin <jdahlin@telia.com>PYGTK_1_99_13Johan Dahlin2002-08-201-2/+2
| | | | | | | | han Dahlin <jdahlin@telia.com> Patch from Arjan J. Molenaar: * gobjectmodule.c (pyg_type_register): Don't unref borrowed references.
* same here.James Henstridge2002-08-181-0/+57
| | | | | | | | | | 2002-08-18 James Henstridge <james@daa.com.au> * gtk/Makefile.am: same here. * Makefile.am: install in a gtk-2.0 subdir of site-packages. * pygtk.py: new file to help with pygtk version parallel install.
* unref object_wrapper. (pyg_object_get_property): unref object_wrapper.James Henstridge2002-08-181-1/+3
| | | | | | | | 2002-08-18 James Henstridge <james@daa.com.au> * gobjectmodule.c (pyg_object_set_property): unref object_wrapper. (pyg_object_get_property): unref object_wrapper. (from patch by Arjan Molenaar on bug #71021).
* don't need to manually sink. (_wrap_gtk_tree_view_column_new): same here.James Henstridge2002-08-184-29/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-18 James Henstridge <james@daa.com.au> * gtk/gtk.override (_wrap_gtk_clist_new_with_titles): don't need to manually sink. (_wrap_gtk_tree_view_column_new): same here. (_wrap_gtk_button_new): same here. (_wrap_gtk_toggle_button_new): same here. (_wrap_gtk_check_button_new): same here. (_wrap_gtk_radio_button_new): same here. (_wrap_gtk_list_item_new): same here. (_wrap_gtk_menu_item_new): same here. (_wrap_gtk_check_menu_item_new): same here. (_wrap_gtk_radio_menu_item_new): same here. (_wrap_gtk_image_menu_item_new): same here. (_wrap_gtk_ctree_new_with_titles): same here. (_wrap_gtk_dialog_new_with_buttons): same here. (_wrap_gtk_message_dialog_new): same here. (_wrap_gtk_progress_bar_new_with_adjustment): same here. * gtk/gtkmodule.c (sink_gtkobject): function to sink a GtkObject if it is floating. (init_gtk): register sink_gtkobject for sinking GtkObjects. * codegen/codegen.py (GObjectWrapper.get_initial_constructor_substdict): get rid of gtkobjectsink bit of code. * pygobject.c (pygobject_register_sinkfunc): new function to register a function to get rid of the floating reference from an object. (sink_object): run a sinkfunc for an object if it has been registered. (pygobject_new): call sink_object (pygobject_register_wrapper): call sink_object.
* allow None when converting to string GValue (bug picked up by ThomasJames Henstridge2002-08-171-1/+3
| | | | | | | | | 2002-08-17 James Henstridge <james@daa.com.au> * pygtype.c (pyg_value_from_pyobject): allow None when converting to string GValue (bug picked up by Thomas Leonard. * gtk/gtk.defs (scroll_to_cell): allow column to be None (bug #90398).
* These changes help with win32 compat.PYGTK_1_99_12James Henstridge2002-07-123-8/+16
| | | | | | | | | | | | | | | 2002-07-12 James Henstridge <james@daa.com.au> These changes help with win32 compat. * pygboxed.c (PyGBoxed_Type): set tp_alloc and tp_new to NULL. (PyGPointer_Type): same here. * gobjectmodule.c (PyGInterface_Type): set tp_alloc and tp_new to NULL. (initgobject): set tp_new and tp_alloc for various types. * pygobject.c (PyGObject_Type): set tp_alloc and tp_new to NULL.
* Reworking of Arjan Molenaar's (arjanmolenaar@hetnet.nl) patch from bugPYGTK_1_99_11James Henstridge2002-07-095-19/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-09 James Henstridge <james@daa.com.au> Reworking of Arjan Molenaar's (arjanmolenaar@hetnet.nl) patch from bug 71435. * gtk/libglade.override (connect_one): watch the closure. (connect_many): watch the closure. * gtk/gtk.override (_wrap_gtk_toolbar_append_item): watch closure for signal. (_wrap_gtk_toolbar_prepend_item): same here. (_wrap_gtk_toolbar_insert_item): same here. (_wrap_gtk_toolbar_insert_stock): same here. (_wrap_gtk_toolbar_append_element): same here. (_wrap_gtk_toolbar_prepend_element): same here. (_wrap_gtk_toolbar_insert_element): same here. * pygobject.h (_PyGObject_Functions): add pygobject_watch_closure to the list of exported functions. * pygobject.c (pygobject_watch_closure): new function to watch a closure. We perform cyclic garbage collection on watched closures. The closure will automatically be unwatched when it gets invalidated. (pygobject_traverse): traverse watched closures as well. (pygobject_clear): invalidate all watched closures (pygobject_dealloc): invalidate watched closures on dealloc too. (PyGObject_Type): register the invalidate handler. (pygobject_connect): watch the closure we connect here. (pygobject_connect_after): same here.. (pygobject_connect_object): same here. (pygobject_connect_object_after): same here. * pygtype.c (pyg_closure_new): clean up closure on invalidate, rather than finalize (on invalidate, we break references). * pygobject.h (PyGObject): add closures member to store references to PyGClosures.
* apply another memory leak fix from Arjan (from bug #87413).James Henstridge2002-07-081-0/+4
| | | | | | | | | | 2002-07-08 James Henstridge <james@daa.com.au> * pygobject.c (pygobject_connect): apply another memory leak fix from Arjan (from bug #87413). (pygobject_connect_after): equivalent fix here. (pygobject_connect_object): and here. (pygobject_connect_object_after): and here.
* add __grefcount__ property.James Henstridge2002-07-071-1/+8
| | | | | | 2002-07-07 James Henstridge <james@daa.com.au> * pygobject.c (pygobject_get_refcount): add __grefcount__ property.
* update to use this function. (ArgMatcher.register_boxed): short circuit ifJames Henstridge2002-07-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-07 James Henstridge <james@daa.com.au> * codegen/argtypes.py (GtkTreePathArg.write_return): update to use this function. (ArgMatcher.register_boxed): short circuit if there is already a handler for the boxed type (helps with setting custom handlers for boxed types). * gtk/gtk-types.c (pygdk_rectangle_from_pyobject): new function to parse a GdkRectangle from a PyObject. * gtk/pygtktreemodel.c (pygtk_generic_tree_model_get_path): print a warning if the return value could not be converted to a GtkTreePath. * gtk/gtk.override (_wrap_gtk_tree_model_get_value): don't assume tree paths are tuples. * codegen/argtypes.py (GtkTreePathArg.write_param): fix up code generator to get rid of assumption that tree paths are tuples, and catch case where pygtk_tree_path_from_pyobject() returns NULL. * gtk/gtk-types.c (pygtk_tree_path_from_pyobject): change so that we treat an integer PyObject as a tree path with a single index. * pygtype.c (pyg_closure_marshal): apply patch from Arjan Molenaar <arjanmolenaar@hetnet.nl> that fixes a reference leak for the argument tuple passed to the callback. (pyg_signal_class_closure_marshal): apply similar fix here.
* Add GBoxed::copyJonathan Blandford2002-06-242-2/+83
| | | | | | | | | Sun Jun 23 11:10:30 2002 Jonathan Blandford <jrb@gnome.org> * pygboxed.c: Add GBoxed::copy * pygobject.c (pygobject_init): take kwargs so we can pass construct-only arguments to our initialization function.
* copy boxed arguments.James Henstridge2002-06-235-13/+28
| | | | | | | | | | | | | | | | | | | | 2002-06-23 James Henstridge <james@daa.com.au> * gtk/gtk.override (_wrap_gtk_tree_sortable_get_sort_column_id): copy boxed arguments. * pygobject.h: fix up prototypes. * gobjectmodule.c (pyg_object_set_property): copy boxed arguments. * pygobject.c (pygobject_get_property): copy boxed arguments here. (pygobject_emit): same here. (pygobject_chain_from_overridden): same here. * pygtype.c (pyg_value_as_pyobject): add "copy_boxed" argument to this function. (pyg_closure_marshal): pass FALSE for copy_boxed argument. (pyg_signal_class_closure_marshal): same here.
* if a value holds a PyObject*, the code that is getting the value isMatt Wilson2002-06-171-3/+9
| | | | | | | | 2002-06-17 Matt Wilson <msw@redhat.com> * pygtype.c (pyg_value_as_pyobject): if a value holds a PyObject*, the code that is getting the value is expecting a valid object. Translate NULL pointers to Py_None.
* decref the exception instance after raising the error.James Henstridge2002-06-161-0/+1
| | | | | | | 2002-06-15 James Henstridge <james@daa.com.au> * gobjectmodule.c (pyg_error_check): decref the exception instance after raising the error.
* the path argument must be a tuple. Ints are not automatically converted toMatt Wilson2002-05-311-6/+9
| | | | | | | | | | | | 2002-05-31 Matt Wilson <msw@redhat.com> * examples/pygtk-demo/demos/list_store.py (fixed_toggled): the path argument must be a tuple. Ints are not automatically converted to tuples any more. * pygtype.c (pyg_value_as_pyobject): change the behavior of G_TYPE_UINT to match the code generator's output on 32 bit systems.
* add support for G_TYPE_INTERFACE, provided the interface has a prereq onJames Henstridge2002-05-151-6/+27
| | | | | | | | | 2002-05-16 James Henstridge <james@daa.com.au> * pygtype.c (pyg_value_from_pyobject): add support for G_TYPE_INTERFACE, provided the interface has a prereq on G_TYPE_OBJECT. (pyg_value_as_pyobject): same here.
* add handler for G_TYPE_PARAM (fix bug #81695). (pyg_value_as_pyobject):James Henstridge2002-05-143-41/+54
| | | | | | | | 2002-05-14 James Henstridge <james@daa.com.au> * pygtype.c (pyg_value_from_pyobject): add handler for G_TYPE_PARAM (fix bug #81695). (pyg_value_as_pyobject): same in this function.
* allow override of autoconf and autoheaderPYGTK_1_99_9PYGTK_1_99_10Matt Wilson2002-03-191-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-19 Matt Wilson <msw@redhat.com> * autogen.sh: allow override of autoconf and autoheader * gtk/gtk.defs (GtkTreeModel.get_iter_root): use the gtk_tree_model_get_iter_first code, get_iter_root is going to be deprecated. (GtkTreeModel.get_iter_first): added * gtk/gtk.override (_wrap_gtk_tree_model_get_iter_root): check the return value of gtk_tree_model_get_iter_root and return None if it failed. Rename to _wrap_gtk_tree_model_get_iter_first. * codegen/codegen.py (write_class, write_interface, write_boxed write_pointer): use overrides.is_already_included to prevent from having the same override code included twice in one file. This allows two methods to point to the same function. * codegen/override.py (Overrides.is_already_included): added a function that returns true if the override code has been emitted already. 2002-03-11 Matt Wilson <msw@redhat.com> * gobjectmodule.c: remove pygobject_exception_notifiers and pyg_fatal_exceptions_notify.
* fix up property listing.PYGTK_1_99_8James Henstridge2002-03-161-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-16 James Henstridge <james@daa.com.au> * pygtype.c (add_property_docs): fix up property listing. * gtk/libglade.override: add modulename directive. * gtk/gdk.override: add modulename directive. * gtk/gtk.override: add modulename directive. * atk.override: add modulename directive. * pango.override: add modulename directive. * codegen/codegen.py (write_class): if override.modulename is set, put it into the classname. (write_interface): same here. (write_boxed): same here. (write_pointer): same here. * codegen/override.py (Overrides.__parse_override): add support for a "modulename" directive for overrides files.
* Fix a leakJohan Dahlin2002-02-121-2/+3
| | | | | | | | 2002-02-12 Johan Dahlin <jdahlin@telia.com> * gobjectmodule.c (initgobject): Fix a leak * gtk/gtkmodule.c (init_gtk): Fix another one
* register pointer types as well.James Henstridge2002-02-054-6/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-05 James Henstridge <james@daa.com.au> * codegen/codegen.py (register_types): register pointer types as well. * codegen/argtypes.py (PointerArg): handling for pointer arg types. (ArgMatcher.register_pointer): add function to register pointer types. * gtk/gtk.override (_wrap_gtk_ctree__get_selection): GtkCTreeNode is not a boxed type. (_wrap_gtk_ctree_base_nodes): same. (_wrap_gtk_ctree_insert_node): same. (_wrap_gtk_ctree_find_by_row_data): same. (_wrap_gtk_ctree_find_all_by_row_data): same. (_wrap_gtk_ctree_node_get_text): same. (_wrap_gtk_ctree_node_get_pixmap): same. (_wrap_gtk_ctree_node_get_pixtext): same. (_wrap_gtk_ctree_get_node_info): same. (_wrap_gtk_ctree_node_set_row_data): same. (_wrap_gtk_ctree_node_get_row_data): same here. (_wrap_gtk_ctree_getattr): same here. * codegen/codegen.py (write_source): register pointer types as pointers. * pango.override (_wrap_pango_font_description_new): ignore some private (well, pango module API) functions. * gtk/gtk-types.defs (CTreeNode): make this a pointer type. * codegen/codegen.py (write_pointer_method): new method to write methods for GPointer types. (write_pointer_constructor): new function for writing constructor for GPointer types. (write_pointer_getsets): new function for writing getters for pointer objects (this should be merged with the GObject and GBoxed versions ...). (write_pointer): add new function, which calls all the GPointer related functions. (write_source): write pointer types. * gobjectmodule.c (initgobject): actually ready the GPointer type. * gtk/gtk-types.defs (CTreeNode): get rid of fields here. They will be covered by the custom getattr() function, so no need to duplicate. * codegen/codegen.py (write_boxed_getsets): convert to use getsets for boxed objects. (write_boxed): use write_boxed_getsets() to write the getsets, while allowing boxed objects to specify a getattr() function. 2002-02-04 James Henstridge <james@daa.com.au> * gobjectmodule.c (initgobject): add GPointer to the module dict. (pygobject_api_functions): and to the API vtable. * pygobject.h (pyg_constant_strip_prefix): and add it to the public header. * pygobject-private.h (pyg_pointer_new): add stuff to private header ... * pygboxed.c (PyGPointer): add code to handle base GPointer type. * codegen/defsparser.py (DefsParser.__init__): add self.pointers attribute. (DefsParser.define_pointer): handle (define-pointer ...). (DefsParser.write_defs): handle pointer types. * codegen/definitions.py (PointerDef): new definition type for G_TYPE_POINTER subclasses.
* same code here, if __doc__ hasn't already been set. (initgobject): don'tPYGTK_1_99_7James Henstridge2002-01-282-2/+10
| | | | | | | | | | | | 2002-01-28 James Henstridge <james@daa.com.au> * gobjectmodule.c (pyg_type_register): same code here, if __doc__ hasn't already been set. (initgobject): don't bother setting __doc__ on GObject here, as pygobject_register_class() does this for us. * pygobject.c (pygobject_register_class): need to set the __doc__ descriptor on every class, otherwise it gets lost.
* use g_string_append_printf(). (add_property_docs): same here.James Henstridge2002-01-241-19/+14
| | | | | | | | | 2002-01-24 James Henstridge <james@daa.com.au> * pygtype.c (add_signal_docs): use g_string_append_printf(). (add_property_docs): same here. * examples/simple/tooltip.py: updated version from Steve George.
* (add_signal_docs): only get the class for a type if it is aJames Henstridge2002-01-231-3/+5
| | | | classed type.
* (add_property_docs): fix small bug.James Henstridge2002-01-232-1/+818
|
* fill in __doc__ descriptorJames Henstridge2002-01-233-1/+200
| | | | | | | | | | | | | | | | 2002-01-23 James Henstridge <james@daa.com.au> * pygtype.c (object_doc_descr_get): fill in __doc__ descriptor * gobjectmodule.c (initgobject): add __doc__ descriptor to GObject and GInterface. Add __gdoc__ as a synonym because type.__doc__ masks our descriptor sometimes :( * pygtype.c (object_doc_descr_get): skeleton of the __doc__ descriptor. (PyGObjectDoc_Type): type definition. (pyg_object_descr_doc_get): function to create and return the __doc__ descriptor (we only need one for all classes).
* move GObject wrapper stuff here.James Henstridge2002-01-222-810/+22
| | | | | | 2002-01-22 James Henstridge <james@daa.com.au> * pygobject.c: move GObject wrapper stuff here.
* and again :(James Henstridge2002-01-222-2/+2
|
* small patch to get things working again after last commit.James Henstridge2002-01-222-220/+15
|
* move closure stuff here.James Henstridge2002-01-222-0/+209
| | | | | | 2002-01-22 James Henstridge <james@daa.com.au> * pygtype.c: move closure stuff here.
* don't create boxed_marshal hash table, and remove the type functions movedJames Henstridge2002-01-223-557/+581
| | | | | | | | | | | 2002-01-22 James Henstridge <james@daa.com.au> * gobjectmodule.c (initgobject): don't create boxed_marshal hash table, and remove the type functions moved to pygtype.c. * pygtype.c: move GType stuff here from gobjectmodule.c. (pyg_register_boxed_custom): store the custom boxed marshal functions as GType data, rather than in a separate hash table.
* list extra source files.James Henstridge2002-01-213-165/+203
| | | | | | | | | | | 2002-01-21 James Henstridge <james@daa.com.au> * Makefile.am (gobjectmodule_la_SOURCES): list extra source files. * pygobject-private.h (pyg_boxed_new): new header for functions shared between files in gobjectmodule. * pygboxed.c (pyg_register_boxed): move GBoxed handling code here.
* convert None, int, long, float, str and object to GTypes.James Henstridge2002-01-121-0/+18
| | | | | | | | | | 2002-01-12 James Henstridge <james@daa.com.au> * gobjectmodule.c (pyg_type_from_object): convert None, int, long, float, str and object to GTypes. * gtk/gtkmodule.c (init_gtk): only raise a runtime error if we can't initialise gtk.
* removed debugging code I didn't mean to check in.Matt Wilson2002-01-111-3/+2
| | | | | | | | | | | | | | | 2002-01-11 Matt Wilson <msw@redhat.com> * gtk/gtk.override (_wrap_gtk_toolbar_insert_stock): removed debugging code I didn't mean to check in. * gobjectmodule.c (pyg_closure_new): use PyTuple_SetItem to build the tuple if extra_args isn't one. It's faster than using abstractions and clarifies ownership rules, so we always incref extra_args even if we're about to wrap it in a tuple. Fixes crashes when passing callback functions into GtkToolbar.{append_item,prepend_item,insert_item,insert_stock, append_element}
* the F10 key is used to start navigating the menu -- not alt.James Henstridge2002-01-071-2/+2
| | | | | | | | | | | | | | | | | | 2002-01-07 James Henstridge <james@daa.com.au> * examples/pygtk-demo/demos/itemfactory.py (main): the F10 key is used to start navigating the menu -- not alt. * gtk/gtk-types.c (PyGtkStyleHelper_Dealloc): use PyObject_DEL. (PyGtkStyle_Dealloc): same here. (PyGdkWindow_Dealloc): same here. (PyGdkGC_Dealloc): same here. (PyGdkColormap_Dealloc): same here. (pygdk_atom_dealloc): same here. * gobjectmodule.c (pyg_type_wrapper_dealloc): use PyObject_DEL to prevent segfaults with pymalloc. (pyg_param_spec_dealloc): same here.
* initialise GThread if threading is enabled at compile time (this doesn'tJames Henstridge2002-01-071-0/+5
| | | | | | | | 2002-01-07 James Henstridge <james@daa.com.au> * gobjectmodule.c (initgobject): initialise GThread if threading is enabled at compile time (this doesn't initialise GDK threading though -- you need to run gtk.gdk.threads_init for that).
* add overriden implementation that allows threads while waiting, so someJames Henstridge2002-01-072-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-01-07 James Henstridge <james@daa.com.au> * gtk/gdk.override (_wrap_gdk_threads_enter): add overriden implementation that allows threads while waiting, so some other thread has a chance to give up the gdk lock. * gtk/gtkmodule.c (functions): remove stuff. * gtk/pygtk-private.h: remove definitions here as well. * gtk/pygtk.h (_PyGtk_FunctionStruct): remove destroy notify and thread block stuff. * gtk/gtkobject-support.c: remove pygtk_destroy_notify. * gtk/gtk.override (pygtk_tree_foreach_marshal): move this function here from gtkobject-support.c, and don't bother blocking threads. (_wrap_gtk_tree_selection_selected_foreach): same here -- don't need to unblock threads. (pygtk_tree_selection_marshal): move this function here from gtkobject-support.c. Convert to use pyg_block_threads. (_wrap_gtk_dialog_run): add overriden implementation that unblocks threads. (_wrap_gtk_main): use pyg_block_threads (_wrap_gtk_main_iteration): same. (_wrap_gtk_item_factory_create_items): same here. (_wrap_gtk_menu_popup): same here. (_wrap_gtk_clist_set_row_data): use pyg_destroy_notify (_wrap_gtk_timeout_add): same here. (_wrap_gtk_idle_add): same here. (_wrap_gtk_quit_add): same here. (_wrap_gtk_input_add_full): same here. (_wrap_gtk_ctree_node_set_row_data): same here. * gtk/gtkobject-support.c: remove PyGTK_BLOCK_THREADS and PyGTK_UNBLOCK_THREADS macros. (pygtk_destroy_notify): use pyg_block_threads. (pygtk_custom_destroy_notify): same. (pygtk_handler_marshal): same. (pygtk_input_marshal): same. * gtk/gdk.override (_wrap_gdk_threads_init): register gdk lock based recursive threads block/unblock functions. If threading was disabled at compile time, then this function will error out. * gtk/gdk.defs (threads_enter, threads_leave, threads_leave): add functions. * gobjectmodule.c (functions): add destroy_notify here as well. * pygobject.h: add destroy_notify to the PyGObject_Functions vtable.
* handler for registering thread block/unblock funcs.James Henstridge2002-01-072-10/+67
| | | | | | | | | | | | | | | 2002-01-07 James Henstridge <james@daa.com.au> * gobjectmodule.c (pyg_set_thread_block_funcs): handler for registering thread block/unblock funcs. (pygobject_destroy_notify): block threads during DECREF call. (pyg_closure_destroy): block threads during closure DECREF. (pyg_closure_marshal): block threads when calling function. (pyg_signal_class_closure_marshal): block threads. (functions): add extra functions to vtable. * pygobject.h (struct _PyGObject_Functions): add thread block/unblock slots to the API table.
* fix for updated API. (pygobject_methods): just call the method "chain".PYGTK_1_99_6James Henstridge2001-12-201-16/+10
| | | | | | | | 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".
* forgot to add these types here :(James Henstridge2001-12-181-0/+2
|
* add support for int64/uint64. Fix up code for unsigned int/long to parseJames Henstridge2001-12-181-28/+94
| | | | | | | | | | | 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.
* add new example to dist.James Henstridge2001-12-182-11/+397
| | | | | | | | | | | | | | | | | | | 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.
* add chaining function. This will need to change when Tim makes the changesJames Henstridge2001-12-171-7/+88
| | | | | | | | | | | | | | | | 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.
* (override_signal): add g_type_class_ref() calls so that parent signals areJames Henstridge2001-12-141-0/+3
| | | | | | | 2001-12-14 James Henstridge <james@daa.com.au> (override_signal): add g_type_class_ref() calls so that parent signals are registered.
* Add gobject.glib_version.Johan Dahlin2001-12-141-1/+6
| | | | | | 2001-12-14 Johan Dahlin <jdahlin@telia.com> * gobjectmodule.c (initgobject): Add gobject.glib_version.
* another helper function for overriding existing signals. Haven't doneJames Henstridge2001-12-141-4/+29
| | | | | | | | | 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.
* use __gsignals__ notation here.James Henstridge2001-12-142-4/+109
| | | | | | | | | | | 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.
* always print and clear the exceptions in callback marshalers. People whoMatt Wilson2001-12-132-43/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* fix up format string, from bug #65636 (Skip again).James Henstridge2001-12-021-1/+1
| | | | | | | | | | 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).
* use pyg_error_check to raise the exception. Now the domain and codeJames Henstridge2001-12-022-0/+42
| | | | | | | | | | | | | | | 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.