2005-05-09 Johan Dahlin * configure.in: Post release version bump === PyGTK 2.6.2 === 2005-05-09 Johan Dahlin * gobject/pygenum.c (pyg_enum_new): Complain if ret is NULL, Fixes #303524. * gobject/pygflags.c (pyg_flags_new): Change exception format to be consistent with the one in enum * gtk/gtk.override: Allow None to be passed in to: set_group for RadioAction.set_group(), RadioToolButton.set_group() and RadioMenuItem.set_group(). Fixes #170514 * tests/test_radiobutton.py: Refactor and add unittests for RadioAction, RadioToolButton and RadioMenuItem. 2005-05-09 Mark McLoughlin Fix for bug #303573 - "exceptions raised in a child watch handler are silently swallowed" * gobject/gobjectmodule.c: (child_watch_func), (_pyg_spawn_async_callback): if PyObject_CallFunction() returns NULL, print a traceback of the exception. * tests/test_mainloop.py: add testcase. * tests/Makefile.am: add test_mainloop.py Reviewed by Johan Dahlin 2005-05-03 Gustavo J. A. M. Carneiro * gtk/gdk.override (_wrap_gdk_event_tp_setattr): Fix setter for "window" attribute: don't unblock threads around g_bject_ref; g_object_unref previous event.window. Fixes #302622. * tests/Makefile.am (tests): Add test_gdkevent.py. * tests/test_gdkevent.py: Add a test for gtk.gdk.Event.window setter. 2005-04-12 Gustavo J. A. M. Carneiro * tests/runtests.py (program): Fix indentation and a "name 'program' is not defined" exception. * codegen/argtypes.py: Treat guint and gsize as python longs, with appropriate parameter conversion formats and return conversion functions. Also treat gssize as long long on LLP64 architectures (thanks jamesh). Correctly parse "long" parameters on LP64 architectures. Fixes #300012: "Handling of guint, gsize, gssize, and glong in pygtk is broken". 2005-03-27 John Finlay * gtk/gtk.override (_wrap_gtk_dialog_set_alternative_button_order): Really check in the code. Fixes #171771 (Manish Singh) 2005-03-20 Johan Dahlin * gtk/gtktreeview.override (_wrap_gtk_list_store_insert): Regression, allow the second argument to be unspecified, fixes #171027 (Ulrik Svensson) * tests/test_liststore.py: Add 2 new tests 2005-03-17 Johan Dahlin * gtk/gtkmodule.c (init_gtk): Regression, don't crash if sys.argv isn't set. 2005-03-16 Johan Dahlin * tests/test_radiobutton.py (RadioButtonTest): New test. * tests: Renamed *.py to test_*.py * gtk/gtk.override: Allow argument to RadioButtion.set_radio_group to be empty, fixes #170514 (Lorenzo Gil Sanchez) 2005-03-15 Johan Dahlin * configure.in: Post release version bump === PyGTK 2.6.1 === 2005-03-15 Johan Dahlin * codegen/codegen.py: Check arguments if we have no arguments. Fixes bug #170266 (Doug Quale) * gtk/gdk.override: * gtk/gtktreeview.override: gcc4 patches stolen from redhat * NEWS: Updated 2005-03-14 Anders Carlsson * codegen/reversewrapper.py: Remove an extra * in the declaration and cast of GObject types. 2005-03-14 Johan Dahlin * gobject/pygparamspec.c (pyg_param_spec_getattr): In case the enum is not registered, set enum_class or flag_class to None 2005-03-13 Johan Dahlin * gtk/gtktreeview.override (_wrap_gtk_tree_store_reorder): Ditto 2005-03-13 Richard Hult * gtk/gtktreeview.override (_wrap_gtk_list_store_reorder): You don't own a ref on the return value from PyList_GetItem so don't decrease the ref count. 2005-03-10 Johan Dahlin * gtk/gtktreeview.override: (_wrap_gtk_list_store_insert): Use gtk_list_store_insert_with_valuesv, improves performance when using a sorted list. * configure.in: Post release version bump === PyGTK 2.6.0 === 2005-03-07 Johan Dahlin * README: Remove ftp.gtk.org url * NEWS: Updated. 2005-03-04 Manish Singh * configure.in: document micro_version as micro version. * gtk/gtktreeview.override * gtk/libglade.override: get rid of a couple unnecessary G_OBJECT() casts. 2005-02-23 Cedric Gustin * gobject/pygtype.c (add_property_docs): Use G_CONST_RETURN with a gchar* return value. 2005-02-23 Johan Dahlin * configure.in: post release version bump * examples: Don't use gtk.TRUE/gtk.FALSE anymore. === PyGTK 2.5.4 === 2005-02-23 Johan Dahlin * README, NEWS: Update 2005-02-23 Cedric Gustin * setup.py: Move the install_template call for pygobject-2.0.pc.in to the right place in the script. Also define PLATFORM_WIN32 on win32. Fixes bug #150616. * codegen/codegen.py: Do not write the 'pygtk class init' function for objects whose type is explicitly ignored (like GtkPlug and GtkSocket on win32). Otherwise, it generates glib-warnings related to calls to g_object_set_qdata with a NULL 'node'. * gobject/pygtype.c: Do not use g_string_append_printf with a NULL argument, as it crashes on win32. Fixes bug #166546. * gtk/gtk.override: Add GtkSocket__proxy_do_plug_added, GtkSocket__proxy_do_plug_removed and GtkPlug__proxy_do_embedded to the ignore-win32 list. 2005-02-15 Johan Dahlin * gtk/__init__.py: Deprecate gtk.TRUE and gtk.FALSE 2005-02-17 Gustavo J. A. M. Carneiro * examples/pygtk-demo/pygtk-demo.in: New, frontend script to launch pygtk demo. * examples/Makefile.am: Install the pygtk demo. * examples/pygtk-demo/demos/appwindow.py (ApplicationMainWindowDemo.activate_about) (ApplicationMainWindowDemo.__create_action_group): Popup a simple AboutDialog on Help->About. 2005-02-15 Johan Dahlin * configure.in: Fix logic when displaying modules not built, Thanks to Abel Daniel for pointing out. * gtk/gtk.defs: Undeprecate gtk.icon_size_get_name and gtk.icon_size_lookup and remove broken methods. 2005-02-13 Gustavo J. A. M. Carneiro * gtk/gtk.defs: Reorder all the (define-virtual...) declarations, putting them right after the method declarations of the respective objects. 2005-02-10 Mark McLoughlin * gobject/pygmainloop.c: (pyg_restore_current_main_loop): don't pass a NULL value to PyThread_set_key_value() - causes an assertion failure with python 2.4. 2005-02-09 Mark McLoughlin Fix for bug #154779 - Python signal handlers don't get executed while you're sitting in the main loop. * gobject/pygmainloop.c: (pyg_save_current_main_loop), (pyg_restore_current_main_loop), (pyg_get_current_main_loop): functions for keeping track of the currently running main loop. A version using TLS and another using a global variable, depending on whether DISABLE_THREADING is defined (pyg_signal_watch_prepare), (pyg_signal_watch_check), (pyg_signal_watch_dispatch), (pyg_signal_watch_new): a GSource which runs the python signal handlers whenever the mainloop is interrupted by signal delivery. (pyg_main_loop_new), (pyg_main_loop_dealloc): add and remove the source. (_wrap_g_main_loop_run): push/pop the currently running main loop. * gobject/pygobject-private.h: add a pointer for the source to PyGMainLoop. * gobject/Makefile.am: add -DPLATFORM_WIN32 to cflags if building on Windows. 2005-01-10 Johan Dahlin * configure.in: post release version bump === PyGTK 2.5.3 === 2005-01-22 Gustavo J. A. M. Carneiro * gtk/gtkmodule.c (init_gtk): Do some type checking on sys.argv before using it. Fixes #163209. * gtk/gdk.override: Override slots tp_getattro and tp_setattro of GdkGC instead of tp_setattr and tp_getattr. Fixes #159468. * codegen/codegen.py: Allow override of tp_getattro and tp_setattro (non-deprecated variants of tp_getattr and tp_setattr). * gobject/pygflags.c (pyg_flags_new): Check that __gtype__ is PyGTypeWrapper_Type, not PyGEnum_Type. (pyg_flags_add): Set a custom __gtype__ for the new flags class. (pyg_flags_new): Remove "value out of range" check, it makes no sense in flags. (pyg_flags_new): Check for NULL return from PyDict_GetItem and set exception. * gobject/pygenum.c (pyg_enum_add): Set a custom __gtype__ for the new enum class. (pyg_enum_new): Check that __gtype__ is PyGTypeWrapper_Type, not PyGEnum_Type. * gobject/pygflags.c (pyg_flags_add): Idem. * gobject/pygenum.c (pyg_enum_add): Unset the flag Py_TPFLAGS_BASETYPE in newly created enum type. Set tp_new, which somehow was not being inherited. Fixes #154372. 2005-01-22 Mark McLoughlin * gobject/gobjectmodule.c (pyg_type_register): Fix reference leak to the module string; Appends the serial number to the type name, even if the module name can't be looked up. Fixes #164441. 2005-01-18 Gustavo J. A. M. Carneiro * codegen/reversewrapper.py (IntParam.convert_c2py): Don't bother checking if PyInt_FromLong fails. (DoubleParam.convert_c2py): Don't bother checking if PyFloat_FromDouble fails. (DoubleReturn.write_conversion): Check return value type. (IntReturn.write_conversion): idem. (StringReturn.write_conversion): idem. (VoidReturn.write_conversion): idem. * gtk/gtkmodule.c (init_gtk): On Python >= 2.4, don't call setlocale(LC_NUMERIC, "C"), as it breaks the locale module. Fixes #164451. 2005-01-16 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_type_register): Use tp_base field of each base type to compare with PyGInterface_Type, instead of PyObject_IsSubclass, because we don't want a class defined as class Foo(GObject, SomeInterface) to be itself considered an interface when in turn it is subclassed. (pyg_type_register): Make "Interface type %s has no python implementation support" a warning instead of exception. This really isn't a fatal error and some programs seem to be using interfaces in weird ways. * codegen/reversewrapper.py (ReverseWrapper.generate): Rename variable PyGILState_STATE state to __py_state to avoid possible name collision with function parameters. 2005-01-13 John Finlay * gtk/gdk.override (_wrap_gdk_pixmap_colormap_create_from_xpm) (_wrap_gdk_pixmap_create_from_xpm_d) (_wrap_gdk_pixmap_colormap_create_from_xpm_d): Allow first arg to be a GdkDrawable. #159282 2005-01-13 Johan Dahlin * gtk/Makefile.am: Allow it to be built using automake 1.8. Fixes bug 163932 * codegen/codegen.py: Only declare the object when it's needed. Fixes some more compiler warnings. 2005-01-10 Gustavo J. A. M. Carneiro * codegen/codegen.py (Wrapper.write_virtuals): Don't raise exception if a do_xxx method is defined and the corresponding virtual is not supported, since we may have a signal with the same name and the user may be trying to override it. Fixes #163606: override size_allocate doesn't work. * gobject/pygobject.h, gobject/pygobject-private.h: Revert change from 2005-01-09 by me to define pyg_threads_enabled as PyEval_ThreadsInitialized() on Python 2.4 and define pyg_begin|end_allow_threads as Py_BEGIN|END_ALLOW_THREADS. Fixes #163612: segmentation fault on pygtk-demo. 2005-01-10 Johan Dahlin * configure.in: post release version bump * docs/random/release-checklist: Update === PyGTK 2.5.2 === 2005-01-10 Johan Dahlin * autogen.sh: Check for automake-1.9 aswell, fixes 162396 (Raphael Kubo da Costa) 2005-01-10 Johan Dahlin * .cvsignore: * Makefile.am: * configure.in: * gtk/Makefile.am: * pygtk-2.0.pc.in: * setup.py: * tests/common.py: * tests/testhelpermodule.c: Make the build of atk, pango and gtk conditional. Fixes bug #74144. 2005-01-10 Johan Dahlin * tests/Makefile.am: * tests/common.py: * tests/runtests.py: * tests/test_thread.py: Make testsuite work and do things the way they were supposed to be done from the beginning. 2005-01-10 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_GtkCellLayout__proxy_do_set_cell_data_func): Implement proxy function for virtual 'set_cell_data_func' of interface GtkCellLayout. 2005-01-09 Gustavo J. A. M. Carneiro * gobject/pygtype.c (pyg_value_from_pyobject): Handle conversion of python sequence to G_TYPE_VALUE_ARRAY GValue. (pyg_param_gvalue_from_pyobject): idem. Patch by jylefort@brutele.be; Fixes #160452. * gtk/gdk.override (_wrap_gdk_pixmap_create_from_xpm): Accept GdkDrawable instead of GdkWindow as first argument. Fixes #159282. 2005-01-09 Tim Evans * gtk/gtk.defs (gtk_get_current_event): Add (caller-owns-return #t). * gtk/gtk.override (_wrap_gtk_get_current_event_state): Impl. Reviewed by Gustavo Carneiro. Fixes #159397. 2005-01-09 Gustavo J. A. M. Carneiro * gobject/pygtype.c (pyg_value_from_pyobject): Be consistent about not raising an exception on error return. Patch by jylefort@brutele.be, fixes #160595. * tests/Makefile.am (tests): Add test_subprocess.py. * tests/test_subprocess.py: Unit test for gobject.spawn_async and gobject.child_watch_add. * gobject/gobjectmodule.c (pyg_spawn_async): Add wrapper for g_spawn_async_with_pipes. (pyg_child_watch_add): Add wrapper for g_child_watch_add_full. * gobject/pygobject.h, gobject/pygobject-private.h: Define pyg_threads_enabled as PyEval_ThreadsInitialized() on Python 2.4, so that it is no longer required to call gobject.threads_init on that platform. Also define pyg_begin|end_allow_threads as Py_BEGIN|END_ALLOW_THREADS, since these functions are rarely invoked, thus represent a minimal overhead. * gobject/gobjectmodule.c (pyg_type_register): Return the type being registered, to make gobject.type_register usable as Python 2.4 @decorator. * codegen/codegen.py (Wrapper.write_constructor): Move writing of pygobject_no_constuctor to the new methods write_default_constructor (when no constructor is declared in the .defs) and write_noconstructor (when a constructor is declared but could not be generated). (GObjectWrapper.write_default_constructor): Override to return '0'. This makes the constructor for GObjects become GObject.__init__ by default, unless there is a constructor function in the .defs and it could not be generated for some reason. * gtk/pygtkcellrenderer.c (pygtk_generic_cell_renderer_new): Deprecate GtkGenericCellRenderer, since all virtual methods of GtkCellRenderer are now supported. * gtk/gtk.override (_wrap_GtkCellRenderer__proxy_do_get_size): Override, implementation copied from PyGtkGenericCellRenderer, with minor adjustments/fixes. 2005-01-09 Gustavo J. A. M. Carneiro * gobject/gobjectmodule.c (pyg_type_register): Look for GInterface's among tb_bases and register implementation support for them. (pyg_register_interface_info): Add. Registers a GInterfaceInfo* containing python proxy implementation with a GInterface GType. * gobject/pygobject.h (pyg_register_interface_info): Add. * gtk/gtk-types.defs (Editable): Add (vtable "GtkEditableClass"), because the GtkEditable vtable structure name is GtkEditableClass instead of GtkEditableIface. * codegen/definitions.py (InterfaceDef.__init__): Add/parse vtable attribute, to contain the C structure name of the virtual table of an interface. If not given, the vtable name defaults to (c_name + "Iface"). Add attribute interface_info, to hold the GInterfaceInfo variable for the interface. * codegen/reversewrapper.py (GEnumReturn.write_conversion): Add missing code=None parameter. (GFlagsReturn.write_conversion): idem. * codegen/codegen.py: Add global iproxies_coverage to track coverage statistics of interface proxies. (Wrapper.write_methods): Split out writing virtual method accessors to a separate method (write_virtual_accessors). (GInterfaceWrapper.write_virtual_accessors): Override to disable writing virtual accessors for interfaces. (GInterfaceWrapper.write_virtuals): Override to generate interface virtuals, interface_init function, and interface_info structure. (write_registers): Call pyg_register_interface_info for interfaces with some implementation support. * gtk/gtk.defs: Add (define-virtual ...) declarations for all interface virtual methods in gtk. Fixes #154974: Interface implementation support. 2005-01-09 Gustavo J. A. M. Carneiro * codegen/reversewrapper.py (GBoxedParam.convert_c2py): When the C type begins with const, force python wrapper to create a copy of the boxed value, and typecast to avoid const warning. * codegen/codegen.py (Wrapper.write_virtuals): In the generated class_init function, don't declare the variable 'klass' if it is not needed. 2005-01-08 Adam Hooper * tests/test_actiongroup.py: Add test script for bug #162874. 2005-01-08 Adam Hooper reviewed by: Johan Dahlin * gtk/gtk.override: Py_DECREF action in gtk_action_group_add_*actions. This should disconnect all the groups from the callbacks when destroyed. Fixes bug 162874 2005-01-08 Johan Dahlin * Makefile.am: Add pygtk_postinstall.py * docs/random/missing-symbols: Updated * gtk/__init__.py: Deprecate gtk.idle_add and friends. * gtk/gtk.defs: Merge in 2.6 api, for GtkLabel functions, thanks to Gian Mario Tagliaretti, fixes bug #163296 * tests/test_thread.py: Don't use gtk.idle_add 2005-01-08 Gustavo J. A. M. Carneiro * codegen/reversewrapper.py (GFlagsReturn, GFlagsParam): Add type handlers for GFlags in reverse wrappers. (GtkTreePathParam): Add type handler for GtkTreePath* param. 2005-01-08 Gustavo J. A. M. Carneiro * gtk/gtk.override: Declare PyGdkDevice_Type, now needed for some virtual method. * gtk/gtk.defs: Add a bunch of virtual method declarations for all non-deprecated gtk widgets. * gobject/pygobject.h: Add pyg_register_class_init to the API vtable and as macro, and PyGClassInitFunc typedef. * gobject/gobjectmodule.c (initgobject): Create pygobject_class_init_key, a GQuark that indentifiers the class_init data for a GType class. (pyg_register_class_init): Add, registers a class intialization function of type "int (*PyGClassInitFunc) (gpointer gclass, PyTypeObject *pyclass);" (pyg_run_class_init): Add, runs a stack of class initialization functions for a newly registered GObject class. (pyg_type_register): Call pyg_run_class_init right after the type is registered. Add pyg_register_class_init to pygobject_api_functions. * codegen/scanvirtuals.py: An utility script to scan for virtual methods in header files. At the moment it is not very intelligent and doesn't distinguish between virtual methods and interface definitions. * codegen/defsparser.py (DefsParser.__init__): Initialize attribute 'virtuals', to hold list of object's virtual methods. (DefsParser.define_virtual): Adds a new virtual method. (DefsParser.find_virtuals): Returns list of virtual methods of an object. * codegen/definitions.py (ObjectDef.__init__): Add a class_init_func member variable. Rename class MethodDef to MethodDefBase, subclass MethodDefBase as MethodDef, move code that checks for presence of 'c_name' from MethodDefBase into MethodDef. (MethodDefBase.write_defs): Rename to _write_defs, and don't write the initial "(define-method ...". (MethodDef.write_defs): Write the "(define-method ..." here, then call _write_defs to write the remaining. (VirtualDef): New class to information of an object's virtual method. It inherits from MethodBaseDef. * codegen/codegen.py: Add class Coverage, to track and display coverage statistics. Add globals functions_coverage, methods_coverage, vproxies_coverage, and vaccessors_coverage. (Wrapper.virtual_accessor_tmpl): Add template for virtual method "accessor", which is a classmethod that calls a GObject virtual method for GType corresponding to the class of the method. This is used in virtual method implementations for chaining to parent classes. (Wrapper.write_class): Call self.write_virtuals() in the end, to write virtual method proxies. (Wrapper.write_function_wrapper): Don't overwrite subsdict['cname'] if it already has a value, since we need to pass a different function name when generating virtual method accessors. (Wrapper.write_methods): Update coverage statistics in methods_coverage. (Wrapper.write_methods): Generate virtual metho accessor functions, as classmethods. (Wrapper.write_virtuals): Generate virtual method proxies using the reverse wrapper generator. Also generates a class_init function to register the virtual proxies with the object class, but only for those virtuals that appear to be actually implemented in python code to avoid calling into python code for nothing. (Wrapper.write_functions): Update coverage statistics in functions_coverage. (write_registers): Generate code to call pyg_register_class_init if the object has a class init function. (main): Print all coverage statistics at the end of code generation. * codegen/argtypes.py (ArgMatcher.register_reverse) (ArgMatcher.register_reverse_ret, ArgMatcher.get_reverse) (ArgMatcher.get_reverse_ret): New APIs to register and lookup reverse wrappers type handlers. * codegen/Makefile.am (codegen_PYTHON): Add reversewrapper.py. * codegen/reversewrapper.py: New code to generate 'reverse wrappers', i.e. wrappers that are called from C, call into Python, and then return the python return value back to C. Fixes #145314: Overriding GTK+ virtual methods. 2004-12-26 John Finlay * gtk/gdk.override (_wrap_gdk_event_tp_setattr): Fix garbled code and allow message_type to be set. Fixes #162292. (Raphael Kubo da Costa) 2004-12-23 John Finlay * gtk/gdk.defs (render_to_drawable, render_to_drawable_alpha): Add drprecation warnings. Fixes #162097 (Steve Chaplin) * gtk/gtk.override (_wrap_gtk_dialog_set_alternative_button_order): Implement 2004-12-23 Johan Dahlin * gtk/__init__.py: Improve deprecation warnings, to display correct lines (stacklevel should 2, not 1 which is default) 2004-12-23 Johan Dahlin * configure.in: Post release version bump === PyGtk 2.5.1 === 2004-12-23 Johan Dahlin * NEWS: * README: Updated 2004-12-02 Cedric Gustin Reviewed by: Johan Dahlin Fixes #150616 * dsextras.py: Added InstallData class. Changed template options to ${prefix}/include|lib|bin|share. Added get_m4_define function to parse pygtk version strings in configure.in. * setup.py: Added pygtk_postinstall bdist_wininst option. distutils now uses InstallData as install_data class. pygtk-2.0.pc and pygtk-codegen-2.0 are installed as data instead of lib/extensions. This fixes a bdist_wininst installer on win32. * pygtk_postinstall.py: Initial release. 2004-12-23 Johan Dahlin * docs/random/release-checklist: New document * docs/random/missing-symbols: New document * examples/atk/atk-demo.py: * examples/ide/browse.py: * examples/ide/gtkcons.py: * examples/neil/notebook.py: * examples/pango/utf8-demo.py: * examples/pygtk-demo/demos/dnd.py: * examples/pygtk-demo/demos/editable_cells.py: * examples/pygtk-demo/demos/list_store.py: * examples/simple/dnd.py: * examples/simple/scribble.py: Use stock items and other fixes for examples. Fixes #156402 (Alan Horkan) 2004-12-23 Johan Dahlin * autogen.sh: set srcdir to dirname $0, fixes out of source tree builds. Fixes #158360 (Marco Pesenti Gritti) 2004-12-22 Johan Dahlin * PKG-INFO.in: Update * configure.in: Require glib/gtk+ 2.6, pango, atk 1.8, export PYGTK_[MAJOR,MINOR_MICRO]_VERSION * gtk/gtk.defs: Make it build again by removing removed functions 2004-12-12 Gustavo J. A. M. Carneiro * codegen/argtypes.py (arg): Add 'GTime' argtype matcher, which is defined as gint32 by glib, thus handled as a normal python int. 2004-12-10 John Ehresman * gobject/pygobject.h: Change PY_HEXVERSION to PY_VERSION_HEX 2004-12-04 John Finlay * pango-types.defs (LayoutIter): Add. * pango.defs (pango_layout_iter_get_type): Add. * pango.override (_wrap_pango_layout_iter_get_line_yrange) (_wrap_pango_layout_iter_get_layout_extents) (_wrap_pango_layout_iter_get_run_extents) (_wrap_pango_layout_iter_get_line_extents) (_wrap_pango_layout_iter_get_cluster_extents) (_wrap_pango_layout_iter_get_char_extents): Implement. 2004-12-04 Gustavo J. A. M. Carneiro * gtk/gtk.defs: Remove gtk_file_chooser_button_[gs]et_active wrappers. (set_cell_data): Remove, also removed from gtk+. 2004-11-29 Johan Dahlin * configure.in: Post release version bump === PyGtk 2.5.0 === 2004-11-29 Johan Dahlin * NEWS: Update 2004-11-23 Johan Dahlin * gobject/pygobject.c (pygobject_register_sinkfunc): Make sure type is a type and sinkfunc isn't NULL. 2004-11-16 John Finlay * gtk/gtk.override (_wrap_gtk_about_dialog_set_url_hook) (_wrap_gtk_about_dialog_set_email_hook) (_wrap_gtk_target_list_add_uri_targets) (_wrap_gtk_target_list_add_image_targets) (_wrap_gtk_target_list_add_text_targets): Implement. * gtk/gtk.defs (gtk_target_list_add_text_targets) (gtk_target_list_add_image_targets) (gtk_target_list_add_uri_targets): Define as functions. 2004-11-15 John Finlay * gtk/gdk.override (_wrap_gdk_display_store_clipboard): Implement. * gtk/gdk.defs (drag_drop_succeeded): Define as method of GdkDragContext. * gobject/pygflags.c (pyg_flags_repr): Print long int value if enum string not found. Fixes #158417. (modifed patch from Tim Evans) * gtk/gtk.defs (set_icon_name): Allow name to be NULL * gtk/gtktreeview.override (_wrap_gtk_tree_view_set_row_separator_func): Implement. (gtk_tree_view_get_row_separator_func): Ignore. * gtk/gdk.override Complete changes to return strings instead of atoms except for intern_atom. 2004-11-14 John Finlay * gtk/gtk.defs (gtk_selection_data_targets_include_image): Add def. * configure.in Require GTK+ 2.5.5. * gtk/gtk.override (_wrap_gtk_message_dialog_new): Fix bug. (_wrap_gtk_message_dialog_format_secondary_text) (_wrap_gtk_message_dialog_format_secondary_markup): Implement. * gtk/gtk.defs (gtk_menu_tool_button_set_arrow_tooltip): Allow tip args to be NULL. * gtk/gtk.override (_wrap_gtk_menu_tool_button_new): Implement. (gtk_menu_tool_button_new_from_stock): Ignore * gtk/gtkwidget.override (_wrap_gtk_menu_get_for_attach_widget): Implement as method of Widget * gtk/gtk.defs (gtk_menu_get_for_attach_widget): Define as method of Widget. * pango-types.defs (EllipsizeMode): Add. 2004-11-14 Gustavo J. A. M. Carneiro * codegen/definitions.py (FunctionDef.write_defs): Write caller-owns-return. (MethodDef.write_defs): idem. (MethodDef.merge): Merge flags 'caller_owns_return' and 'vargargs'; if parameter parmerge is false, return right after copying old parameter list, to effectively avoid merging. (FunctionDef.merge): idem. * codegen/h2def.py (split_prefix_pat): Allow prefix to begin with more than one capital letter. Fixes splitting of GConfXxx names. 2004-11-14 John Finlay * gtk/gtk.override (_wrap_gtk_image_get_icon_name): Implement. * gtk/gtk.defs (gtk_image_new_from_icon_name): Change function name to gtk.image_new_from_icon_name. 2004-11-13 John Finlay * gtk/gtk.override (_wrap_gtk_icon_view_selected_foreach) (_wrap_gtk_icon_view_get_selected_items): Implement. * gtk/gtk.defs (set_model): Set arg optional default NULL. * gtk/gtk.override (_wrap_gtk_icon_theme_get_icon_sizes): Implement. (_wrap_gtk_icon_view_new): Implement. (gtk_file_chooser_button_new_with_dialog): Ignore. (_wrap_gtk_file_chooser_button_new) Fix bug and add variant. 2004-11-12 John Finlay * gtk/gtk.override (_wrap_gtk_file_chooser_button_new): Implement with optional backend arg. (gtk_file_chooser_button_new_with_backend): Ignore. * gobject/gobjectmodule.c (pyg_signal_list_ids) (pyg_signal_lookup, pyg_signal_name, pyg_signal_query): Add signal introspection functions 2004-11-10 John Finlay * gtk/gtk.override (_wrap_gtk_clipboard_set_can_store): Implement. (_wrap_gtk_combo_box_set_row_separator_func): Implement (gtk_combo_box_get_row_separator_func): Ignore. 2004-11-09 John Finlay * gtk/gtk.override (_wrap_gtk_cell_view_set_value) (_wrap_gtk_cell_view_set_values): Implement. (_wrap_gtk_cell_view_get_cell_renderers): Implement. (_wrap_gtk_cell_view_get_size_of_row): Implement. * gtk/gtk-types.defs (CellView): Implements GtkCellLayout * gtk/gtk.defs Add functions for CellRendererCombo and CellRendererProgress * gtk/gtk-types.defs Add CellRendererCombo and CellRendererProgress * gtk/gdk.defs (alternative_dialog_button_order): Add as method of GdkScreen * gtk/gtk.defs (alternative_dialog_button_order): Remove. 2004-11-08 John Finlay * configure.in Require less onerous GTK+ 2.5.4 build dependencies * gtk/gtk.defs (set_logo_icon_name, set_logo) (set_translator_credits, set_website_label, set_website) (set_license, set_comments, set_copyright, set_version): Allow arg to be None. 2004-11-07 John Finlay * gtk/gtk.defs (gtk_about_dialog_set_name) Allow name to be None to use default app name. * gobject/gobjectmodule.c (_pyg_strv_from_gvalue) Avoid segfault when argv is NULL. * gtk/gtk.override (_wrap__gtk_drag_source_set_target_list) (_wrap_gtk_drag_source_get_target_list) Implement. Fixes #157554. * gtk/gtk.defs (drag_source_set_target_list) (drag_source_get_target_list) Add. Fixes #157554. * gtk/gdk.override (_wrap_gdk_event_tp_setattr) Add missing return. Fixes #157571 with slightly modified patch from rubensr. 2004-11-07 Johan Dahlin * gtk/gtk.defs (drag_source_add_text_targets) (drag_dest_add_uri_targets, drag_dest_add_image_targets) (drag_dest_add_text_targets): Make methods of them, fixes #157554 * gtk/gtk.override (_wrap_gtk_selection_data_get_uris) (_wrap_gtk_selection_data_set_uris): Impl. 2004-11-07 Gustavo J. A. M. Carneiro * codegen/definitions.py (FunctionDef.write_defs): write (varargs #t) when appropriate. (MethodDef.write_defs): idem. (FunctionDef.merge): Refactor/fix and add 'parmerge' argument. * codegen/defsparser.py (DefsParser.merge): Add parameter parmerge, to inidicate if we want parameter lists merging or not. * codegen/mergedefs.py: Parse command line options with optparse; accept option -p to indicate we want to update parameter lists of existing methods/functions; by default parameter lists are not merged. * codegen/h2def.py (proto_pat): Accept \s* between ( and start of argument list. Fixes parsing of libgnomeui-2.0/libgnomeui/gnome-scores.h, and others. 2004-11-06 Hans Breuer * config.h.win32 makefile.msc gobject/makefile.msc gtk/makefile.msc : updated - pygtk is working fine with msvc (but requires -DDISABLE_THREADING), Thanks! 2004-11-06 Johan Dahlin * gtk/gtk.override (_wrap_gtk_about_dialog_get_artists) (_wrap_gtk_about_dialog_set_artists) (_wrap_gtk_about_dialog_get_documenters) (_wrap_gtk_about_dialog_set_documenters) (_wrap_gtk_about_dialog_get_authors) (_wrap_gtk_about_dialog_set_authors): Impl. 2004-11-06 Johan Dahlin * configure.in: * gtk/gdk.defs: * gtk/gtk-types.defs: * gtk/gtk.defs: Bump version to 2.5.0 and merge in gdk/gtk+ changes from cvs head. New gtk objects: GtkAboutDialog, GtkFileChooserButton, GtkIconView, GtkCellView, GtkMenuToolButton New gtk functions: gtk_about_dialog_get_artists gtk_about_dialog_get_authors gtk_about_dialog_get_comments gtk_about_dialog_get_copyright gtk_about_dialog_get_documenters gtk_about_dialog_get_license gtk_about_dialog_get_logo gtk_about_dialog_get_name gtk_about_dialog_get_translator_credits gtk_about_dialog_get_version gtk_about_dialog_get_website gtk_about_dialog_get_website_label gtk_about_dialog_new gtk_about_dialog_set_artists gtk_about_dialog_set_authors gtk_about_dialog_set_comments gtk_about_dialog_set_copyright gtk_about_dialog_set_documenters gtk_about_dialog_set_email_hook gtk_about_dialog_set_license gtk_about_dialog_set_logo gtk_about_dialog_set_name gtk_about_dialog_set_translator_credits gtk_about_dialog_set_url_hook gtk_about_dialog_set_version gtk_about_dialog_set_website gtk_about_dialog_set_website_label gtk_accelerator_get_label gtk_action_group_translate_string gtk_action_set_sensitive gtk_action_set_visible gtk_alternative_dialog_button_order gtk_cell_renderer_combo_new gtk_cell_renderer_progress_new gtk_cell_view_get_cell_renderers gtk_cell_view_get_size_of_row gtk_cell_view_new gtk_cell_view_new_with_markup gtk_cell_view_new_with_pixbuf gtk_cell_view_new_with_text gtk_cell_view_set_background_color gtk_cell_view_set_displayed_row gtk_cell_view_set_model gtk_cell_view_set_value gtk_cell_view_set_values gtk_clipboard_set_can_store gtk_clipboard_store gtk_clipboard_wait_is_target_available gtk_combo_box_get_active_text gtk_combo_box_get_column_span_column gtk_combo_box_get_focus_on_click gtk_combo_box_get_popup_accessible gtk_combo_box_get_row_separator_func gtk_combo_box_get_row_span_column gtk_combo_box_get_wrap_width gtk_combo_box_set_add_tearoffs gtk_combo_box_set_focus_on_click gtk_combo_box_set_row_separator_func gtk_dialog_set_alternative_button_order gtk_drag_dest_add_image_targets gtk_drag_dest_add_text_targets gtk_drag_dest_add_uri_targets gtk_drag_source_add_text_targets gtk_entry_completion_get_inline_completion gtk_entry_completion_get_popup_completion gtk_entry_completion_get_text_column gtk_entry_completion_insert_prefix gtk_entry_completion_set_inline_completion gtk_entry_completion_set_popup_completion gtk_file_chooser_button_get_active gtk_file_chooser_button_get_title gtk_file_chooser_button_get_width_chars gtk_file_chooser_button_new gtk_file_chooser_button_new_with_backend gtk_file_chooser_button_new_with_dialog gtk_file_chooser_button_set_active gtk_file_chooser_button_set_title gtk_file_chooser_button_set_width_chars gtk_file_chooser_get_show_hidden gtk_file_chooser_set_show_hidden gtk_icon_theme_get_icon_sizes gtk_icon_view_get_markup_column gtk_icon_view_get_model gtk_icon_view_get_orientation gtk_icon_view_get_path_at_pos gtk_icon_view_get_pixbuf_column gtk_icon_view_get_selected_items gtk_icon_view_get_selection_mode gtk_icon_view_get_text_column gtk_icon_view_item_activated gtk_icon_view_new gtk_icon_view_new_with_model gtk_icon_view_path_is_selected gtk_icon_view_selected_foreach gtk_icon_view_select_all gtk_icon_view_select_path gtk_icon_view_set_markup_column gtk_icon_view_set_model gtk_icon_view_set_orientation gtk_icon_view_set_pixbuf_column gtk_icon_view_set_selection_mode gtk_icon_view_set_text_column gtk_icon_view_unselect_all gtk_icon_view_unselect_path gtk_image_get_icon_name gtk_image_get_pixel_size gtk_image_new_from_icon_name gtk_image_set_from_icon_name gtk_image_set_pixel_size gtk_label_get_ellipsize gtk_label_get_width_chars gtk_label_set_ellipsize gtk_label_set_width_chars gtk_menu_get_for_attach_widget gtk_menu_tool_button_get_menu gtk_menu_tool_button_new gtk_menu_tool_button_new_from_stock gtk_menu_tool_button_set_menu gtk_message_dialog_format_secondary_markup gtk_message_dialog_format_secondary_text gtk_selection_data_get_pixbuf gtk_selection_data_get_uris gtk_selection_data_set_pixbuf gtk_selection_data_set_uris gtk_show_about_dialog gtk_target_list_add_image_targets gtk_target_list_add_text_targets gtk_target_list_add_uri_targets gtk_text_buffer_backspace gtk_tool_item_rebuild_menu gtk_tree_view_get_fixed_height_mode gtk_tree_view_get_hover_expand gtk_tree_view_get_hover_selection gtk_tree_view_get_row_separator_func gtk_tree_view_set_fixed_height_mode gtk_tree_view_set_hover_expand gtk_tree_view_set_hover_selection gtk_tree_view_set_row_separator_func gtk_window_get_focus_on_map gtk_window_get_icon_name gtk_window_set_default_icon_name gtk_window_set_focus_on_map gtk_window_set_icon_name New gdk functions: gdk_display_request_selection_notification gdk_display_store_clipboard gdk_display_supports_clipboard_persistence gdk_display_supports_selection_notification gdk_drag_drop_succeeded gdk_window_configure_finished gdk_window_enable_synchronized_configure gdk_window_set_focus_on_map 2004-11-04 Johan Dahlin * configure.in: post release version bump === PyGtk 2.4.0 === 2004-11-04 Johan Dahlin * gtk/gtk.override (_wrap_gtk_dialog_add_buttons): Use PyTuple_GetSlice and PyArg_ParseTuple here, so we can get the same behavior as in add_button. Reported by Maciej Katafiasz, fixes #156707 * tests/test_dialog.py: Add test for it * examples/gtk/filechooser.py: Fix typo * examples/gtk/uimanager.py: Simplify * tests/Makefile.am: * tests/gtype.py: * tests/test-thread.c: * tests/test-thread.h: * tests/test-unknown.c: * tests/test-unknown.h: * tests/test_unknown.py: * tests/testhelpermodule.c: Add tests for dynamic/unknown objects and interfaces. 2004-10-28 John Finlay * gtk/gtk.defs (gtk_combo_box_set_model) (gtk_entry_completion_set_model) Allow model to be None and to default to None similar to gtk_tree_view_set_model. Fixes #155247 (Olivier Aubert). 2004-10-22 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_alignment_new): Change all gtk.Alignment constructor parameter default values back to 0, as it was before pygtk 2.4. 2004-10-21 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_adjustment_new): Change all gtk.Adjustment constructor parameter default values back to 0, as it was before pygtk 2.4. 2004-10-13 Gustavo J. A. M. Carneiro * gobject/pygobject.h: s/typename/typename_/, because typename is a C++ keyword. Add G_BEGIN_DECLS / G_END_DECLS. Fixes #155304: pygobject.h cannot be included in C++ programs. 2004-10-05 Johan Dahlin * gtk/libglade.override (pyglade_xml_lookup_type): Fix silly silly bug. When using typedict for a glade.XML object, AttributeErrors set when calling PyMapping_GetItemString on a dictionary isn't reset. I wonder why nobody tried this before? Sigh. At least it's my fault, so I have no one else to blame, even though I'm trying hard 2004-10-03 John Finlay * examples/pygtk-demo/demos/dnd.py Fix popup dest code and use gobject timeout functions. 2004-10-03 Johan Dahlin * configure.in: Post release version bump === PyGtk 2.4.0 === 2004-10-03 Johan Dahlin * NEWS: Update 2004-10-01 John Finlay * examples/pygtk-demo/* Replace the pygtk-demo with the new version written by Maik Hertha. Fixes #138823. 2004-09-27 John Ehresman * gobject/gobjectmodule.c (pyg_enable_threads): Allow gtk_main to be invoked from a thread created by the threading module by requiring the GIL be held when pyg_enable_threads is invoked. === PyGtk 2.3.97 === 2004-09-28 Johan Dahlin * NEWS: Update * gobject/gobjectmodule.c: * gobject/pygobject-private.h: * gobject/pygobject.h: * tests/test_thread.py: * tests/testhelpermodule.c: Apply slighly modified fix from bug 149845 This is make threading usable for both users of the threading module and users that requires interaction with threads from other extension modules. 2004-09-28 Johan Dahlin * tests/testhelpermodule.c: * tests/test_thread.py: Add thread stuff, that emits stuff from another thread and does some enum magic. 2004-09-27 John Ehresman * gobject/gobjectmodule.c: New functions exposed through _PyGObject_Functions to work around bugs in the PyGILState api's * gobject/pygobject.h: idem * gobject/pygobject-private.h: idem * gtk/gtk.override (_wrap_gtk_main): add pyg_enable_threads() call to ensure thread state for thread invoking this function is remembered. Only call pyg_enable_threads() here if threads were previously enabled 2004-09-27 John Ehresman * tests/common.py: catch ImportError if glade is not found and set glade to None 2004-09-27 Johan Dahlin * tests/testhelper.c: Small c module to help testing * codegen/codegen.py: Revert parts of Gustavos changes, so the size of interfaces are correct. * tests/test_subtype.py: tests for this, use testhelper here aswell 2004-09-26 Gustavo J. A. M. Carneiro * gobject/pygobject-private.h, gobject/pygobject.h: Make PyGClosure structure semi-public, for gnome-python. 2004-09-25 Johan Dahlin * tests/test_signal.py: Move some tests from gtype and rename from signal.py 2004-09-25 Gustavo J. A. M. Carneiro * tests/gtype.py (GTypeTest.testGObjectInvalidSignalOverride): New test with test case in #153718. * gobject/gobjectmodule.c (pyg_type_register): PyDict_GetItemString returnes a borrowed reference, therefore remove Py_DECREF(gsignals) and Py_DECREF(gproperties) everywhere. Fixes bug 153718: exception in overriden gsignals causes ref count problems. 2004-09-24 James Henstridge * gtk/gdk.override (_wrap_gdk_color_parse): initialise the GdkColor struct to zeroes, so we don't get a random value in the "pixel" field after parsing the colour string. 2004-09-22 John Ehresman * gtk/gdk.override: (_wrap_gdk_color_new): pass int variables to ParseTupleAndKeywords and then assign to GdkColor fields 2004-09-17 Johan Dahlin * gobject/pygflags.c: Filter out 0 values * Makefile.am: * docs/Makefile.am: Revert documentation changes 2004-08-28 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_bin_tp_init): override, chain to parent type. (_wrap_gtk_item_tp_init): idem. (_wrap_gtk_box_tp_init): idem. (_wrap_gtk_button_box_tp_init): idem. (_wrap_gtk_separator_tp_init): idem. (_wrap_gtk_separator_tp_init): idem. Partially fixes #150698. 2004-08-27 Xavier Ordoquy * gtk/gtk.override: raise a TypeError if an action callback isn't callable. 2004-08-24 Gustavo J. A. M. Carneiro * gtk/gtk.defs: Clarify the DeprecationWarning messages in gtk.Progress methods. 2004-08-22 Gustavo J. A. M. Carneiro * examples/gtk/widget.py (PyGtkWidget.__init__): Call gtk.Widget.__init__ instead of __gobject_init__. * gtk/gtkwidget.override (_wrap_gtk_widget_new): Override, chain to parent type. Fixes bug #150698. Sun Aug 22 09:47:12 2004 Owen Taylor * gtk/gtktreeview.override (_wrap_gtk_list_store_reorder): Don't access private 'length' field of GtkTreeStore, rather use gtk_tree_model_iter_n_children(). 2004-08-21 John Finlay * gtk/gtk.override (_wrap_gtk_font_button_new) Fix property name. 2004-08-19 John Finlay * examples/simple/dnd.py * examples/simple.scribble.py Update. * examples/ide/pyide.py * examples/ide/browse.py * examples/ide/edit.py * examples/ide/gtkcons.py * examples/ide/gtkdb.py * examples/ide/gtkprof.py Update ide example program files. * examples/ide/dialogs.py Add helper dialogs. 2004-08-16 Gustavo J. A. M. Carneiro * examples/pygtk-demo/demos/entrycompletion.py: Add GtkEntryCompletion example, by Fernando San Martín Woerner. * examples/Makefile.am (EXTRA_DIST): Add fsmw's entrycompletion.py example. * codegen/codegen.py (GObjectWrapper.get_initial_class_substdict) (GInterfaceWrapper.get_initial_class_substdict) (GBoxedWrapper.get_initial_class_substdict) (GPointerWrapper.get_initial_class_substdict): Refactor substdict code: move most common items to parent class, and just override a few in subclasses. Set default value for slot tp_flags. * gobject/pygobject.c (pygobject_register_class): Remove hardcoded ( and unnecessary ) initialization of slots tp_dealloc, tp_traverse, tp_clear, tp_flags, tp_weaklistoffset, and tp_dictoffset. They will naturally inherit from parent type if unset. * codegen/codegen.py (GObjectWrapper.write_property_based_constructor): honor flag caller-owns-return. (Wrapper): Allow override of tp_traverse, tp_clear, tp_dealloc, tp_flags. (Wrapper.write_class): Allow slots listed by get_initial_*_substdict to be overridden. 2004-08-14 John Finlay * gobject/pygenum.c (pyg_enum_repr) Match enum values to avoid segfaults when enum minimum isn't 0 and values aren't a continuous sequence. Wed Aug 11 11:43:07 2004 Jonathan Blandford * Makefile.am: * gtk/Makefile.am: use $(pyexecdir) instead of $(pythondir) as the module as a whole should be installed in the same place, #149849 2004-08-10 Johan Dahlin * Makefile.am (dist-nodoc): New target * docs/ref: Adding Johns reference manual * docs/: (incomplete) buildsystem for documentation and removing old documentation 2004-08-08 John Finlay * gobject/pygflags.c (pyg_flags_add) Return NULL when no stub. 2004-08-06 Johan Dahlin * configure.in (ACLOCAL): * setup.py (MICRO_VERSION): Post release version bump === PyGtk 2.3.96 === 2004-08-06 Johan Dahlin * NEWS: Update. * gobject/pygflags.c (pyg_flags_from_gtype): Don't comment out the fallback, it break the test. (Wow, the testsuite caught another bug!) * tests/enum.py: Additional tests. * gobject/pygenum.c (pyg_enum_repr): Don't use g_enum_get_value, use enum_class->values[n].value_name instead. Also check if the value is NULL or not. This makes gtk.icon_size_register work a little bit better. * codegen/codegen.py (Wrapper.write_methods): Use methflags argument for defines instead of discarding it 2004-08-04 John Finlay * codegen/argtypes.py Return string instead of Atom. * gtk/gtk.override (_wrap_gtk_selection_data_get_targets) (_wrap_gtk_drag_dest_find_target) (_wrap_gtk_drag_dest_get_target_list) (_wrap_gtk_clipboard_wait_for_targets) (clipboard_request_targets_cb) Return string(s) instead of Atom(s). * gtk/gtkmodule.c (init_gtk) Add string instead of Atom using add_atom. 2004-08-04 Johan Dahlin * tests/enum.py (EnumTest.testOutofBounds): New test. * gobject/pygflags.c (pyg_flags_from_gtype): * gobject/pygenum.c (pyg_enum_from_gtype): Don't segfault on unknown values. 2004-08-04 John Finlay * gtk/gtk.override (_wrap_gtk_stock_lookup) (_wrap_gtk_accelerator_parse) (gtk_accel_map_lookup_entry) Use flags instead of enum. gtk/gdk.override (_wrap_gdk_event_tp_getattr) Return flags instead of ints for event members. (_wrap_gdk_device_get_state) (_wrap_gdk_window_get_pointer) (_wrap_gdk_display_get_pointer) (_wrap_gdk_event_get_state) (_wrap_gdk_keymap_translate_keyboard_state) Return flags instead of ints 2004-08-04 Gustavo J. A. M. Carneiro * everywhere: s/PyGILState_Ensure/pyg_gil_state_ensure; s/PyGILState_Relase/pyg_gil_state_release; s/Py_BEGIN_ALLOW_THREADS/pyg_begin_allow_threads; s/Py_END_ALLOW_THREADS/pyg_end_allow_threads; * gobject/pygobject-private.h, gobject/pygobject.h: Add new macros pyg_threads_enabled, pyg_gil_state_ensure, pyg_gil_state_release, pyg_begin_allow_threads, pyg_end_allow_threads. pyg_threads_enabled indicates whether threads are currently enabled. The others just mimick the equivalent python functions, except that they do nothing when threads are not enabled. * gobject/pygobject.h: Add boolean flag to pygobject API structure indicating whether threading is activated; also add enable_threads api entry point. * gobject/gobjectmodule.c (pyg_enable_threads): New pygobject API function to activate pygtk thread awareness. (pyg_threads_init): gobject.threads_init(), calls pyg_enable_threads. 2004-08-04 Johan Dahlin * gtk/gtk.override (_wrap_gtk_accel_map_lookup_entry): GdkModifierType is flags not an enum. * gobject/pygenum.c (pyg_enum_from_gtype): Don't crash if its not an enum * gobject/pygflags.c (pyg_flags_from_gtype): Don't crash if its not flags 2004-08-03 Gustavo J. A. M. Carneiro * gobject/pygobject.c (pygobject_emit): Remove unused variable _save * gtk/gtkmodule.c (_pygtk_log_func): Aquire GIL. 2004-08-03 Johan Dahlin * gobject/pygenum.c (pyg_enum_from_gtype): Create a new GType on the fly if there isn't one for the GType. (pyg_enum_add): Allow module to be NULL. * codegen/argtypes.py: * gobject/gobjectmodule.c: (pyg_source_remove): * gobject/pygmaincontext.c: (_wrap_g_main_context_iteration), (_wrap_g_main_context_pending): * gobject/pygmainloop.c: (_wrap_g_main_loop_is_running): * gobject/pygobject.c: (pygobject_handler_is_connected): * gobject/pygparamspec.c: (pyg_param_spec_getattr): * gobject/pygtype.c: (pyg_value_as_pyobject): * gtk/gdk.override: * gtk/gtk.override: * gtk/gtktextview.override: * gtk/gtkwidget.override: * pango.override: Add better support for boolean type now when we can require 2.3. Fixes bug 149121 2004-08-03 Johan Dahlin * gtk/pygtktreemodel.c: Clean up most functions here to have only one return path. * gobject/pygobject.c (pygobject_emit): Protect g_value_unset by UNBLOCK/BLOCK_THREADS since it might call pygobject_free which will result in a deadlock. * gobject/gobjectmodule.c (pyg_thread_init): New function, move thread initalization stuff in here. * All over the place: Kill pyg_block/unblock_threads and use PyGILState and Py_BEGIN/END_ALLOW_THREADS. unblock [code] block calls are replaced by Py_BEGIN/END and block [code] unblock calls are replaced by PyGILState. 2004-08-03 Xavier Ordoquy * autogen.sh: Takes ACLOCAL_FLAGS into account. Fixes #149115 (Mariano Suárez-Alvarez) 2004-08-02 John Finlay * gtk/gtk.defs (gtk_expander_new) (gtk_expander_new_with_mnemonic) label can be None - make label optional (gtk_expander_set_label) (gtk_expander_set_label_widget) label and label_widget can be None 2004-08-02 Johan Dahlin * configure.in: Post release version bump * setup.py (MICRO_VERSION): === PyGtk 2.3.95 === 2004-08-02 Johan Dahlin * NEWS: Update * gobject/gobjectmodule.c (initgobject): Call PyEval_InitThreads. Perhaps its something that always should be called. * README (Author): Add a requirements section * configure.in: Require Python 2.3 * setup.py (version): Ditto * gobject/pygtype.c, gobject/pygobject.h: Remove 2.2 compat. * All over the place: Add support for PyGILState. 2004-07-30 John Finlay * gtk/gtk.override (_wrap_gtk_adjustment_new) Impl. Rearrange arg_names and prop_names so value is last. Fixes #148860 (Steve Chaplin). 2004-07-29 John Ehresman * setup.py: Remove --enable-threading from argv before calling distutils 2004-07-29 John Finlay * gtk/gtk.override (_wrap_gtk_action_get_proxies) slist should not be freed. Fixes 148801. (Abel Daniel) 2004-07-29 John Ehresman * setup.py: Add --disable-numeric option to disable numeric support even when the runtime check finds it 2004-04-01 Scott Tai Reviewed by: Johan Dahlin * gtk/gdk.override: Remove ignore for win32, the functions are now implemented on win32 fixes bug 138804 2004-06-14 Benjamin Otte Reviewed by: Johan Dahlin : * codegen/h2def.py (write_func): only remove the first occurence of the object name, we don't want to mess up the function name, fixes bug 144363 2004-07-29 John Finlay * gtk/gtktreeview.override (_wrap_gtk_list_store_insert_before) (_wrap_gtk_list_store_insert_after) Allow sibling to be None. Fixes #148751 (Steve Chaplin) * gtk/pygtktreemodel.c Fix reference leaks. Fixes#148748. Thanks to Tim Evans. 2004-07-29 Johan Dahlin * tests/gtype.py (GTypeTest.checkType): Use gobject.type_name,type_from_name for testing instead of GtkListStore. 2004-07-28 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_view_get_cursor) (_wrap_gtk_tree_sortable_get_sort_column_id) (_wrap_gtk_tree_view_get_drag_dest_row) (_wrap_gtk_tree_view_get_dest_row_at_pos) Fix reference leaks. * gtk/gtk.override (_wrap_gtk_box_query_child_packing) (_wrap_gtk_notebook_query_tab_label_packing) (_wrap_gtk_tooltips__get_active_tips_data) (_wrap_gtk_tooltips__get_tips_data_list) (_wrap_gtk_image_get_pixmap) (_wrap_gtk_image_get_image) (_wrap_gtk_image_get_stock) (_wrap_gtk_image_get_icon_set) (_wrap_gtk_scrolled_window_get_policy) (_wrap_gtk_tooltips_data_get) (_wrap_gtk_accel_map_lookup_entry) Fix reference leaks. * pango.override (pypango_attr_iterator_get_font) Fix reference leaks. 2004-07-28 Johan Dahlin * gobject/pygenum.c (pyg_enum_compare): * gobject/pygflags.c (pyg_flags_compare): Reverse operator, it was wrong before, spotted by Abel Daniel * tests/enum.py (FlagsTest.testComparision) (FlagsTest.testComparision): New tests * gobject/pygtype.c (pyg_type_from_object): If we're on python 2.3, also check for PyBool_Type. Fixes #148684 (Steve Chaplin) * tests/gtype.py (GTypeTest.testBoolType): New test 2004-07-27 John Finlay * gtk/gtk-types.c (pygdk_atom_compare) Remove. (pygdk_atom_richcompare) Implement with comparison to strings. (PyGdkAtom_Type) Set tp_compare to 0 and tp_richcompare to pygdk_atom_richcompare. Allow an Atom to be compared with a string. Fixes #148564. 2004-07-26 Johan Dahlin * acinclude.m4: Remove, replaced with: * m4/jhflags.m4: New file, includes compiler macros * m4/python.m4: New file, includes python macros * autogen.sh: Copy over autogen.sh from gnome-common.h * gtk/__init__.py: Readd _gobject, but warn if it's used 2004-07-25 John Finlay * gtk/pygtktreemodel.c (pygtk_generic_tree_model_get_value) Skip pyg_value_from_pyobject() if return value is Py_None. Fixes #148230. 2004-07-23 John Finlay * gtk/gtk.override (clipboard_request_text_cb) Fix bug when no text. (clipboard_request_targets_cb) Fix bug when no targets. 2004-07-23 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_list_item_new): Add deprecation warning. * codegen/codegen.py (write_property_based_constructor): Honor the "deprecated" option. 2004-07-23 John Finlay * gtk/gtk.override (_wrap_gtk_dialog_new_with_buttons) (_wrap_gtk_message_dialog_new) Use pyg_flags_get_value(). * gtk/gtk-types.defs (TextSearchFlags) Fix typo. * gtk/gtktextview.override (_wrap_gtk_text_iter_forward_search) (_wrap_gtk_text_iter_backward_search) Use pyg_flags_get_value. * gtk/gtk-extrafuncs.defs (flags) (set_flags) (unset_flags) Use GtkWidgetFlags as args and return value. 2004-07-22 Johan Dahlin * setup.py (MICRO_VERSION): * configure.in: Post release version bump === PyGtk 2.3.94 === 2004-07-22 Johan Dahlin * NEWS: Update 2004-07-21 Johan Dahlin * gobject/pygflags.c (pyg_flags_get_first_value_name) (pyg_flags_get_first_value_nick): Add, so Lorenzo can introspect flags properly too (pyg_flags_get_value_names, pyg_flags_get_value_nicks): Make this a little bit more useful. All values can still be fetch through __flags_values__ * tests/enum.py: Improve and extend to test most enum/flags operations 2004-07-20 John Finlay * codegen/codegen.py (write_enums) Fix bug causing segfault when loading pango module. 2004-07-20 Lorenzo Gil Sanchez * gtk/gtk.override (_wrap_gtk_file_chooser_dialog_new): fixed a compilation error: 'window' variable should be 'parent' 2004-07-20 Johan Dahlin * gtk/gtk.override (_wrap_gtk_file_chooser_dialog_new): Simplify, fix name in exceptions and remove warning. * gobject/pygenum.c (pyg_enum_from_gtype): Fall back to int for unregistered enums. * gobject/pygflags.c (pyg_flags_from_gtype): Ditto * gobject/gobjectmodule.c (initgobject): Rename back to MainLoop, MainContext 2004-07-19 Gustavo J. A. M. Carneiro * gtk/libglade.override (_wrap_glade_xml_new): Allow pydict to be unset. 2004-07-19 Johan Dahlin * setup.py (MICRO_VERSION): * configure.in: Post release version bump === PyGtk 2.3.93 === 2004-07-19 Johan Dahlin * NEWS: Update * gtk/gtk.override (_wrap_gtk_dialog_new_with_buttons): Return 1/0, instead of flagvalue/0 to avoid GObject complains. (_wrap_gtk_dialog_run): Simplify * gtk/libglade.override: Subclass GladeXML so we can wrap lookup_type. Add a new optional argument to GladeXML.__init__ that is a mapping object that will be used to translate types. Thanks to Gustavo for helping out. This should make kiko somewhat happy. Fixes bug 140071 * tests/enum.py (EnumTest.testWindowGetState): Fix, a window is really WITHDRAWN if it's not SHOWN and not ICONIFIED... * tests/common.py: Add .. and ../gobject when distcheck isn't ran * gobject/pygenum.c: Use a dict instead of a tuple for __enum_values__, so we can handle negative enum values (eg: GDK_NOTHING) * gobject/pyflags.c: Ditto for __flag_values__ * gobject/pygparamspec.c (pyg_param_spec_getattr): reference count fixing * gobject/Makefile.am: * setup.py: * makefile.msc: Update, why do I even bother to update 3 different build systems? * gobject/: Split out GParamSpec, GMainLoop, GMainContext and GPointer to separate files. Also remove *.h files and go back to the old scheme (everything in pygobject.h) * description.py: Remove, out of date since 0.6.x! * tests/Makefile.am, tests/common.py: Make distcheck pass 2004-07-18 John Ehresman * gobject/pygflags.c, gobject/pygenum.c, gobject/gobjectmodule.c (initgobject): Remove references to &PyInt_Type from static type struct initialization and manually set it before PyType_Ready calls * makefile.msc, gtk/makefile.msc, gobject/makefile.msc: VC++ makefile changes for new directory layout 2004-07-18 Johan Dahlin * gtk/gtk.override (_wrap_gtk_action_group_add_radio_actions) (_wrap_gtk_action_group_add_toggle_actions) (_wrap_gtk_action_group_add_actions): Add optional user_data argument. * gobject/pygflags.c (pyg_flags_get_value_nicks) (pyg_flags_get_value_names): New getters * gobject/pygenum.c (pyg_enum_get_value_nick) (pyg_enum_get_value_name): New getters * gobject/gobjectmodule.c (pyg_param_spec_getattr): add enum_class and flags_class properties. 2004-07-18 Gustavo J. A. M. Carneiro * gtk/gtk.defs (gtk_combo_new): Add deprectation warning. (gtk_item_factory_new): idem. (gtk_list_item_new): idem. (gtk_list_item_new_with_label): idem. (gtk_option_menu_new): idem. * gtk/gtkclist.override (_wrap_gtk_clist_new_with_titles): Give deprecation warning. * gtk/gtkctree.override (_wrap_gtk_ctree_new_with_titles): Give deprecation warning. * gtk/gtk.defs (plug_new_for_display): Deprecate, since the regular gtk.Plug constructor can accept a GdkDisplay now. * gtk/gtk.override (_wrap_gtk_plug_new): Override constructor, convert to g_object_new based; Add optional parameter 'display', available since Gtk 2.2. * gtk/gtktreeview.override (_wrap_gtk_tree_view_column_new): Convert constructor to property based. * gtk/gtk.defs (gtk_vscrollbar_new): Convert constructor to property based. (gtk_tree_view_new_with_model): idem. (gtk_text_view_new_with_buffer): idem. * gtk/gtk.override (_wrap_gtk_pixmap_new): Override _wrap_gtk_pixmap_new, construct with g_object_new. 2004-07-17 Johan Dahlin * tests/enum.py: add, forgot it in last commit * gobject/: Move gobject source files in here. 2004-07-17 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_dialog_new_with_buttons): Don't pass 'parent' property if no parent is given or is None. 2004-07-17 Johan Dahlin * codegen/codegen.py: * codegen/argtypes.py: Update for enums * pygtype.c (pyg_value_as_pyobject): Use new enum/flag functions * pygenum.[ch]: Handle GFlag * pygflags.[ch]: Handle GFlag * atk-types.defs: Fix gtype-id for all enums * gobjectmodule.c (initgobject): Clean up and add convinience macros * tests/enum.py: New file * tests/common.py: New file, also stole from gst-python 2004-07-17 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_table_new): Override to allow rows and columns default to 1, unlike the underlying gtk/C API which defaults to 0. 2004-07-15 John Finlay * gtk/gtk.override (_wrap_gtk_menu_item_new): Use AccelLabel instead of Label and dup MenuItem creation process. (_wrap_gtk_check_menu_item_new): idem (_wrap_gtk_radio_menu_item_new): idem. (_wrap_gtk_button_new): Set "use_underline" to TRUE when stock item (_wrap_gtk_check_button_new): Add optional argument 'use_underline', defaulting to TRUE. (_wrap_gtk_radio_button_new): idem. (_wrap_gtk_toggle_button_new): idem. (_wrap_gtk_message_dialog_new) Fix erroneous error message. #147421 2004-07-15 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_menu_item_new): add optional argument 'use_underline', defaulting to True. (_wrap_gtk_radio_check_menu_item_new): idem. (_wrap_gtk_radio_menu_item_new): idem. (_wrap_gtk_button_new): idem. Fixes #147421. 2004-07-13 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_button_new): Construct with g_object_new. (_wrap_gtk_toggle_button_new): idem. (_wrap_gtk_check_button_new): idem. (_wrap_gtk_radio_button_new): idem. (_wrap_gtk_menu_item_new): idem. (_wrap_gtk_check_menu_item_new): idem. (_wrap_gtk_radio_menu_item_new): idem. (_wrap_gtk_check_menu_item_new): idem. (_wrap_gtk_progress_bar_new_with_adjustment): idem. (_wrap_gtk_file_chooser_new): idem. (_wrap_gtk_color_button_new): idem. (_wrap_gtk_combo_box_new): idem. (_wrap_gtk_combo_box_entry_new): idem. (_wrap_gtk_file_chooser_widget_new): idem. (_wrap_gtk_font_button_new): idem. (_wrap_gtk_radio_tool_button_new): idem. (_wrap_gtk_toggle_tool__button_new): idem. (_wrap_gtk_tool_button_new): idem. (_wrap_gtk_entry_new): idem. (_wrap_gtk_dialog_new_with_buttons): idem. (_wrap_gtk_image_menu_item_new): Raise exception if attempted to subclass this object without calling __gobject_init__. (_wrap_gtk_message_dialog_new): idem. 2004-07-12 John Finlay * gtk/gtkwindow.override (set_geometry_hints) Fix arg format string. Fixes #147458. Thanks to Theo Reed. 2004-07-10 Johan Dahlin * tests/runtests.py: New script to run all tests in one take * tests/Makefile.am: autotoolify * tests/signal.py: New simple test taken from examples/gobject/signal.py 2004-07-08 Gustavo J. A. M. Carneiro * gtk/gtk.defs: Change to most constructors to property based. * codegen/codegen.py (GObjectWrapper.write_property_based_constructor): Handle propname != argname cases. * codegen/definitions.py (FunctionDef.__init__): Parse (argname "xxx") inside properties list, to support argname != propname. (Property.__init__): Accept new argname parameter. 2004-07-07 Gustavo J. A. M. Carneiro * codegen/definitions.py (FunctionDef.write_defs): Handle new properties syntax. * gtk/gdk.override (_wrap_gdk_colormap_alloc_color): Raise ValueError instead of TypeError if unable to parse colour specification. (_wrap_gdk_color_parse): idem. Fixes #144862. 2004-07-04 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_model_rows_reordered) Allow None, () or "" for top level path. 2004-07-04 Gustavo J. A. M. Carneiro * gtk/gtk.defs (gtk_hbox_new): Change constructor to property based. * gobjectmodule.c (pyg_parse_constructor_args): Helper function invoked from the generated constructors. * codegen/codegen.py (Wrapper.write_constructor): Delegate to self.write_property_based_constructor() when appropriate. (GObjectWrapper.write_property_based_constructor): New constructor generator, that writes constructors that use g_object_newv and pass constructor arguments as properties. * codegen/definitions.py (Parameter): New Parameter class, to hold the items in (parameter ...). Emulates tuple for compatibility, but is more extensible. (Property): New property class, to hold (property ...) items. (FunctionDef.__init__): Parse (property ...), for new property based constructors. 2004-07-04 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_store_new) Fix typo. (_wrap_gtk_tree_model_rows_reordered) Allow None for path and iter to allow reordering top level rows. Fixes #143834. John Ehresman's patch with mods. 2004-07-04 John Ehresman * tests directory: unit tests 2004-07-04 Gustavo J. A. M. Carneiro * gtk/gtktreeview.override (_wrap_gtk_tree_store_new): Use g_object_newv to create instance, thus allowing subclassing without __gobject_init__. * gtk/gtkmodule.c (init_gtk): Register new warning category, GtkWarning. Register a log handler for Gtk warnings that issues a python warning using GtkWarning category. 2004-07-04 John Ehresman * codegen/argtypes.py (GUniCharArg): Use the converter function pyg_pyobj_to_unichar_conv to parse gunichar parameters, instead of templated code. * pygtype.c (pyg_pyobj_to_unichar_conv): impl. * pygobject.h, gobjectmodule.c: Add pyg_pyobj_to_unichar_conv to list of exported functions. 2004-07-04 Gustavo J. A. M. Carneiro * gtk/gdk.override (_wrap_gdk_colormap_query_color): Implement gdk.Colormap.query_color. * gtk/gdk.defs (query_color): Add gdk.Colormap.query_color. * gtk/gtktreeview.override (pygtk_set_search_equal_func_marshal): Column is integer, not PyGObject! :-/ 2004-07-03 John Finlay * gtk/gtk.defs * gtk/gtk-extrafuncs.defs I goofed in placing the GenericTreeModel methods. Now they should be in the right place. * gtk/gtktreeview.override Ignore gtk_tree_view_get_search_equal_func. * gtk/pygtktreemodel.c * gtk/pygtktreemodel.h * gtk/gtk.defs Add stamp to GenericTreeModel to use in detecting valid TreeIters. Add invalidate_iters() method to allow custom tree models to manage TreeIters when not persistent. Add iter_is_valid() method to allow apps to determine if a TreeIter for a custom tree model is valid. 2004-07-03 Ross Burton * gtk/gdk.defs: Add gdk_pixbuf_new_subpixbuf. 2004-07-03 Gustavo J. A. M. Carneiro * gtk/gtktreeview.override (_wrap_gtk_list_store_new): Construct object with g_object_newv, then call gtk_list_store_set_column_types(). Fixes #123037. (_wrap_gtk_tree_view_set_search_equal_func): Impl. Most code is copy-paste from _wrap_gtk_tree_view_set_column_drag_function. Fixes #145342. (_wrap_gtk_tree_selection_get_selected_rows): Initialize model to NULL, to avoid crash when the tree is empty. 2004-06-29 Lorenzo Gil Sanchez * setup.py: changed the version to 2.3.93 so we can build it on Windows with correct version information. 2004-06-28 Gustavo J. A. M. Carneiro * gtk/gdk.override (_wrap_gdk_window_set_user_data): Fixup and do some real testing of last changes, to make this really safe using a pair of mutual weak references between the widget and its window. Fixes #145091. 2004-06-27 Gustavo J. A. M. Carneiro * codegen/definitions.py (Definition.guess_return_value_ownership): new method (name to guess default value for caller_owns_return. (MethodDef.__init__): Call guess_return_value_ownership here. (FunctionDef.__init__): And here as well. (get_valid_scheme_definitions): new function to filter out invalid elements in a definition. (ObjectDef.__init__): Use get_valid_scheme_definitions here. (InterfaceDef.__init__): and here (EnumDef.__init__): here too (BoxedDef.__init__): and here (PointerDef.__init__): here as well (MethodDef.__init__): idem (FunctionDef.__init__): idem Paches by Scott Tsai, with a bit of refactoring by me. * gtk/gdk.override (_wrap_gdk_color_parse): Raise TypeError when color cannot be parsed. Fixes #144862. * gtk/gtk.override (_wrap_gtk_adjustment__set_value): Use pygtk_util_pyobject_as_double to convert the value. (_wrap_gtk_adjustment__set_lower): idem (_wrap_gtk_adjustment__set_upper): idem (_wrap_gtk_adjustment__set_step_increment): idem (_wrap_gtk_adjustment__set_page_increment): idem (_wrap_gtk_adjustment__set_page_size): idem (pygtk_util_pyobject_as_double): New utility function to convert any numeric object to C double. * gtk/gdk.override (_wrap_gdk_window_set_user_data): Raise TypeError instead of value error when user data is not of gtk.Widget type. (_wrap_gdk_window_set_user_data): Add weak reference to the widget for increased safety, just in case the widget is ever destroyed before the window, however unlikely that may be... 2004-06-26 Lorenzo Gil Sanchez * gtk/gdk.override (_wrap_gdk_window_set_user_data): only allow GtkWidgets to be the user data (_wrap_gdk_display_list_devices): only get GtkWidgets to be simetric with _wrap_gdk_window_set_user_data * gtk/gtk.defs : modified the parameters of some GtkNotebook methods so they can accept NULL arguments * gtk/gtk.override: removed the _wrap_gtk_notebook_insert_page and _wrap_gtk_notebook_set_tab_label since they are not needed anymore with the changes to gtk/gtk.defs 2004-06-20 Scott Tsai * codegen/argtypes.py (ObjectArg.write_return): Check for NULL GObject before unreffing. Fixes Bug 137086 (gtk.gdk.window_lookup assertion). (reviewed by Gustavo Carneiro) 2004-06-20 Gustavo J. A. M. Carneiro * gtk/gtkmodule.c (init_gtk): Just like GtkWindow, register custom sink function for GtkInvisible type. * codegen/codegen.py (GObjectWrapper.get_initial_constructor_substdict): Removed special treatment of GtkInvisible, no longer needed. * gtk/gtkmodule.c (sink_gtkinvisible): Copy-paste from sink_gtkwindow. * pygobject.c (pygobject_new_with_interfaces): Add hack to workaround python tp_(get|set)attr slot inheritance bug. Fixes pygtk bug #144135 (gtk.gdk.GC attributes not working). 2004-06-18 Lorenzo Gil Sanchez * gtk/gdk.override (_wrap_gdk_window_get_user_data): finally I got it working with Gustavo's help * gtk/gdk.override (_wrap_gdk_window_get_user_data): make it compile again * gtk/gdk.defs (get_user_data): added so we can implement _wrap_gdk_window_get_user_data * gtk/gdk.override (_wrap_gdk_window_get_user_data): implemented so we can retrieve the GtkWidget of a GdkWindow. By the way, is it possible to know if a gpointer is a PyObject? * gtk/gtk.override (_wrap_gtk_notebook_insert_page): allow to insert pages without a tab_label widget (i.e None) so a default one is created by GTK+. (_wrap_gtk_notebook_set_tab_label): allow to set a None tab_label widget so a default one is created by GTK+ 2004-06-14 John Finlay * gtk/gtk.override (_wrap_gtk_clipboard_set_with_data) (_wrap_gtk_drag_dest_set) (_wrap_gtk_drag_dest_find_target) (_wrap_gtk_drag_dest_set_target_list) (_wrap_gtk_drag_source_set) (_wrap_gtk_drag_begin) (_wrap_gtk_selection_add_targets) Avoid segfault if first item in a py_targets tuple is None by forcing first item to be a string. (_wrap_gtk_drag_dest_get_target_list) target_list should not be unreffed. 2004-06-14 Lorenzo Gil Sanchez * gtk/gtkwidget.override (_wrap_gtk_widget_hide_on_delete): added dummy args so you can do win.connect ('delete-event', win.hide_on_delete) 2004-06-13 Gustavo J. A. M. Carneiro * gtk/gtkmodule.c (sink_gtkobject, init_gtk): Add custom sink function, that increments reference count of newly created GtkWindow's. Solution provided by James Henstridge, code by Jon Trowbridge. Fixes "Bug 122569: gtk.Window derived class segfaults." * codegen/codegen.py (GObjectWrapper.get_initial_constructor_substdict): Special treatment for GtkWindow no longer necessary due to the custom sink function. 2004-06-12 Johan Dahlin * gtk/gtk.override (_wrap_gtk_accel_groups_from_object): For Kiko. 2004-06-11 Johan Dahlin * gtk/gdk.override (pygdk_filter_func_marshal): Return a GdkEventType and not a PyObject. Fixes bug 143420 (Tim Evans). 2004-06-09 John Finlay * gtk/gtk.override (_wrap_gtk_action_group_add_radio_actions) Fix bug preventing callback being connected. Fixes #144022. Thanks to Steve Chaplin. 2004-06-09 Lorenzo Gil Sanchez * examples/gtk/widget.py (PyGtkWidget.do_size_request): change the allocation parameter to requisition so we have a more clear example. 2004-06-07 Gustavo J. A. M. Carneiro * examples/gtk/widget.py: Don't manually send configure events. Instead, override size-request, taking the exact size of the text and border width into consideration. 2004-06-06 Johan Dahlin * gtk/gdk.override (_wrap_gdk_event_tp_setattr): Add GDK_PROPERTY_NOTIFY attributes. 2004-06-04 Johan Dahlin * gobjectmodule.c (pyg_param_spec_getattr): Add support for paramspec.default_value for GParamSpec types that support it 2004-06-04 Lorenzo Gil Sanchez * gobjectmodule.c (initgobject): added gobject.TYPE_UNICHAR 2004-06-04 Johan Dahlin * gtk/gtkwidget.override (_wrap_gtk_widget_class_install_style_property): Impl * gtk/gtkcontainer.override (_wrap_gtk_container_class_list_child_properties): Rename first kwlist argument to klass (from widget), class should be a GObjectClass and not a GtkWidgetClass (_wrap_gtk_container_class_install_child_property): Impl. * gtk/gtk.defs: Change a couple of methods to functions and set correct class * pygobject.h: Add pyg_param_spec_from_object * gobjectmodule.c (create_property): Don't install the property here, return it instead. And don't require a GObjectClass as argument (pyg_param_spec_from_object): New function (add_properties): Update to new create_property (pygobject_api_functions): Export pyg_param_spec_from_object * gtk/gtkcontainer.override (_wrap_gtk_container_class_list_child_properties): Implement for Lorenzo. * gtk/gdk.override (_wrap_gdk_event_tp_setattr): Fix up *_CHECK calls * examples/gtk/widget.py: Add a new example of subclassing a GtkWidget. * Makefile.am (EXTRA_DIST): Add widget.py * pygobject.c (pygobject_new): guard object_ref call * examples/gtk/uimanager.py: Some more polishing, it'll never be finished! * gtk/gtkwidget.override (_wrap_gtk_widget__set_allocation): Impl. (_wrap_gtk_widget__set_window): Impl. * gtk/gtkclist.override (_wrap_gtk_clist_new_with_titles): put all clist overrides here. * gtk/gtk.override (_wrap_gtk_paint_polygon): Move gtk_widgets_* ignore definitions to gtkwidget.override and clist_* to gtkclist.override (_wrap_gtk_action_group_add_actions): guard ref call (_wrap_gtk_action_group_add_toggle_actions): ditto (_wrap_gtk_action_group_add_radio_actions): ditto * gtk/gtk-types.c (_pygtk_style_helper_new): guard ref call. * gtk/gdk.override (_wrap_gdk_event_tp_setattr): Impl. (I'll have nightmares about this code) (_wrap_gdk_window_new): Clean up a little bit: Proper use of enums and set a boolean to b instead of i. Block unref calls for thread safety issues. (_wrap_gdk_window_set_user_data): Impl. This is also a hairy implementation: If it's a GtkWidget, get the GObject, otherwise put the real pyobject in there. Maybe we should just always put the widget in there. (_wrap_gdk_window_add_filter): Thread safety. 2004-05-30 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_store_reorder) Fix bug I inserted in check for GtkTreeIter. 2004-05-29 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_view_set_column_drag_function) Add. Fixes #127504. 2004-05-28 John Finlay * gtk/gtkcontainer.override (_wrap_gtk_container_child_set) (_wrap_gtk_container_child_get) (_wrap_gtk_container_add_with_properties) Check that at least one arg is passed to method to avoid segfault. * gtk/gtk.override (_wrap_gtk_entry_new) * gtk/gtk.defs (gtk_entry_new) (gtk_entry_new_with_max_length) Apply patch from Scott Tsai. Fixes #139190. 2004-05-28 Johan Dahlin * examples/gtk/uimanager.py: Add a toolbar and fix shortcuts. 2004-05-27 John Finlay * gtk/gtktreeview.override Ignore: gtk_tree_view_column_pack_start gtk_tree_view_column_pack_end gtk_tree_view_column_clear gtk_tree_view_column_set_attributes - these are now covered by the GtkCellLayout interface. Couldn't do the same for gtk_tree_view_column_add_attribute and gtk_tree_view_column_clear_attributes due to backward compatibility. 2004-05-25 John Finlay * examples/gtk/filechooser.py Fix bug #140946. 2004-05-24 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_view_column_set_cell_data_func) Change this override to override gtk_cell_layout_set_cell_data_func - covers all objects that implement GtkCellLayout in GTK+ 2.4 including GtkTreeViewColumn.. Ignore gtk_tree_view_column_set_cell_data_func. 2004-05-24 Johan Dahlin * gtk/gdk.override (_wrap_gdk_keymap_translate_keyboard_state): Remove double ;, fixes compilation with gcc 2.95.3 on FreeBSD. 2004-05-22 Johan Dahlin * NEWS: Don't lie about the release date. * configure.in: post release version bump === PyGtk 2.3.92 === 2004-05-22 Johan Dahlin * NEWS: Update 2004-05-21 Johan Dahlin * gobjectmodule.c (initgobject): Add gobject.pygtk_version (_wrap_g_main_context_iteration): block/unblock (_wrap_g_main_loop_run): ditto 2004-05-21 John Finlay * gtk/gtk-types.c (_pygtk_tree_model_remove_row) Add function to help in row removal from sort and filter models using del (_pygtk_tree_model_set_row) Add support for TreeModelSort and TreeModelFilter setting row values. * gtk/pygtk-private.h (_pygtk_tree_model_remove_row) Add declaration. * gtk/gtktreeview.override (_wrap_gtk_tree_model_tp_setitem) Use _pygtk_tree_model_remove_row() helper function. (_wrap_gtk_tree_model_filter_set_modify_func) Add. Add support to TreeModelSort and TreeModelFilter for Python mapping, number and iter protocols. 2004-05-20 John Finlay * gtk/gtk.defs (gtk_tree_view_column_pack_start) (gtk_tree_view_column_pack_end) Allow expand param to default to TRUE. 2004-05-18 John Finlay * gtk/gtktreeview.override (_wrap_gtk_list_store_remove) Remove this override - generated code is good. * pygobject.c (pygobject_new_with_interfaces) Add new type to the module dict as is done for built-in types. * codegen/argtypes.py Fix bug in non-null default parselist of ObjectArg. Add default handling for AtomArg. * gtk/gtk.defs (gtk_clipboard_get_for_display) (gtk_clipboard_get) Allow args to use default values. 2004-05-16 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_selection_select_range) Raise TypeError if selection mode is not gtk.SELECTION_MULTIPLE 2004-05-15 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_selection_select_all) Raise TypeError if selection mode is not gtk.SELECTION_MULTIPLE 2004-05-13 John Finlay * gtk/gtk.defs (gtk_selection_data_set_text) Default the text len param to -1. 2004-05-11 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_view_column_set_cell_data_func) Allow func to be None to unset the function. 2004-05-10 John Finlay * pygobject.c (pygobject_new) Bump refcount of types created by pygobject_new_with_interfaces. Fixes #141042 * gtk/gtk.defs (gtk_notebook_append_page) (gtk_notebook_append_page_menu) (gtk_notebook_prepend_page) (gtk_notebook_prepend_page_menu) (gtk_notebook_insert_page) (gtk_notebook_insert_page_menu) These return gint in GTK+ 2.4. 2004-05-07 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_model_get) Add. 2004-05-03 John Finlay * gtk/gtktextview.override (_wrap_gtk_text_iter_forward_find_char) (_wrap_gtk_text_iter_backward_find_char) Add. * gtk/gtktreeview.override (_wrap_gtk_tree_store_reorder) Add. (_wrap_gtk_list_store_reorder) Throw exception if indices out of range. * gtk/gtk.override (gtk_accel_group_connect) (gtk_accel_group_disconnect) (gtk_clipboard_set_with_owner) (gtk_clist_set_compare_func) (gtk_color_selection_set_color) (gtk_color_selection_get_color) (gtk_ctree_set_drag_compare_func) Ignore these methods - either deprecated or not needed. (_wrap_gtk_menu_item_toggle_size_request) Add. 2004-05-03 Johan Dahlin * codegen/codegen.py (Wrapper): Add support for tp_as_buffer. 2004-04-25 John Finlay * pango.defs (pango_language_from_string) Rework as a constructor for pango.Language. (pango_language_matches) Rework this as a method for pango.Language. (pango_language_to_string) Add this as a method. * pango.override (_wrap_pango_language_from_string1) (_wrap_pango_language_matches1) Add these to support deprecated pango_language functions. 2004-04-24 John Finlay * pango.override (_wrap_pango_attr_list_filter) Add. (pypango_attr_iterator_get_attrs) Fix memory leak. * pango.defs (pango_font_face_list_sizes) Add definition. * pango.override (_wrap_pango_font_face_list_sizes) Add. * pango.defs (pango_font_family_is_monospace) Add definition. * pango.override (_wrap_pango_font_family_is_monospace) Add two defines to avoid compilation warnings for this function. * pango.defs (pango_fontset_foreach) Add definition. * pango.override (_wrap_pango_fontset_foreach) Add. * pango-types.defs (PangoFontsetSimple) Add class. * pang_defs (pango_fontset_simple_new) (pango_fontset_simple_append) (pango_fontset_simple_size) Add methods for PangoFontsetSimple. 2004-04-23 John Finlay * gtk/gdk.defs (gdk_window_set_accept_focus) (gdk_window_get_group) Add definitions. * pango.defs (pango_attr_fallback_new) Add definition for AttrFallback. * pango.override (_wrap_pango_attr_fallback_new) Add. (pypango_attr_tp_getattr) Add get attribute processing for AttrFallback. * pango.defs (pango_attr_iterator_get_attrs) Add definition. * pango.override (pypango_attr_iterator_get_attrs) Add method. 2004-04-22 John Finlay * gtk/gdk.override (_wrap_gdk_pixbuf_get_file_info) Add. * gtk/gdk.defs (gtk_pixbuf_get_file_info) Add definition. * gtk/gdk.defs (gdk_pixbuf_loader_set_size) (gdk_pixbuf_loader_get_format) (gdk_pixbuf_loader_new_with_mime_type) Add definitions. (gdk_pixbuf_loader_new) Add deprecation warning * gtk/gdk.override (gdk_pixbuf_loader_get_format) Add. * gtk/gdk.override (gdk_query_depths) (gdk_query_visual_types) Add these functions. * gtk/gdk.override (gdk_window_at_pointer) Add. * gtk/gdk.override (gdk_window_at_pointer) Should return None if not on known window. 2004-04-20 John Finlay * gtk/gdk.defs (gtk_colormap_get_screen) Add. * gtk/gdk.override (_wrap_gdk_cursor_new) Add 2 more ways of creating a cursor corresponding to gdk_cursor_new_from_pixbuf and gdk_cursor_new_for_display. * gtk/gdk.override (_wrap_gdk_display_get_maximal_cursor_size) Add. * gtk/gdk.defs (gdk_display_pointer_ungrab) (gdk_display_keyboard_ungrab) Let time_ param default to GDK_CURRENT_TIME. * gtk/gdk.defs (gdk_drawable_draw_pixbuf) Add default value of -1 for the width and height params. gc param can be NULL. * gtk/gdk.override (_wrap_gdk_event_get_state) Add. * gtk/gdk.override (_wrap_gdk_keyval_convert_case) (_wrap_gdk_keymap_get_entries_for_keyval) (_wrap_gdk_keymap_get_entries_for_keycode) (_wrap_gdk_keymap_lookup_key) (_wrap_gdk_keymap_translate_keyboard_state) Add. 2004-04-19 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_view_column_cell_get_position) Add. * gtk/gtk.defs (gtk_ui_manager_add_ui) Allow param action to be NULL. * gtk/gtkwidget.override (_wrap_gtk_widget_style_get_property) (_wrap_gtk_widget_class_list_style_properties) Add keyword arg processing. * gtk/gtk.override (_wrap_gtk_widget_list_mnemonic_labels) Add. * gtk/gdk.override (_wrap_gdk_event_tp_getattr) Add "group" attribute for GDK_KEY_PRESS and GDK_KEY_RELEASE event objects. Fix member list build value bug. 2004-04-18 John Finlay * gtk/gtktreeview.override (_wrap_gtk_tree_model_filter_set_visible_func) Add. (_wrap_gtk_tree_model_filter_convert_child_iter_to_iter) Return the iter instead of passing it in. Throw exceptions on errors. (_wrap_gtk_tree_model_filter_convert_iter_to_child_iter) Return the child iter instead of passing it in. * gtk/gtktreeview.override (gtk_tree_row_reference_new_proxy) (gtk_tree_row_reference_inserted) (gtk_tree_row_reference_deleted) (gtk_tree_row_reference_reordered) Ignore these. * gtk/gtk.defs (gtk_tree_store_move_after) (gtk_tree_store_move_before) Allow position param to be NULL. * gtk/gtk.defs (gtk_tree_view_move_column_after) Allow base_column to be NULL. 2004-04-18 Gustavo J. A. M. Carneiro * gobjectmodule.c (pyg_type_register): Make sure we have a unique GType name by appending -v to the name. Allows registering multiple python classes with the same name in the same module. 2004-04-17 John Finlay * gtk/gtk.defs Add GtkToolItem constructor and method definitions. * gtk/gtk.defs (gtk_tool_item_set_proxy_menu_item) Allow menu_item to be NULL. (gtk_tool_item_set_tooltip) Allow parameters tip_text and tip_private to be NULL. Default these to NULL. * gtk/gtk.defs Make gtk_tooltips_get_info_from_tip_window a method of GtkWindow. * gtk/gtk.override (_wrap_gtk_tooltips_get_info_from_tip_window) Add. * codegen/argtypes.py (GtkTreePath) Remove extra older null assignment - the one assuming a tree path is a tuple. * gtk/gtk.defs (gtk_tree_model_filter_new) Allow root param to default to NULL. 2004-04-16 John Finlay * gtk/gtk.override Expanded gtk_draw_* since it excluded new gtk_draw_insertion_cursor function. * gtk/gtk.override Add definition of PyGdkDrawable_Type * gtk/gtk.defs (gtk_draw_insertion_cursor) area can be NULL. (gtk_text_buffer_paste_clipboard) override_location can be NULL. * gtk/gtktextview.override (_wrap_gtk_text_tag_table_foreach) Add. * gtk/gtk.override (_wrap_gtk_toggle_tool_button_new) Allow an optional stock_id parameter. (gtk_toggle_tool_button_new_from_stock) Ignore. * gtk/gtk.defs (gtk_toolbar_insert) (gtk_toolbar_get_item_index) (gtk_toolbar_get_n_items) (gtk_toolbar_get_nth_item) (gtk_toolbar_get_drop_index) (gtk_toolbar_set_drop_highlight_item) (gtk_toolbar_set_show_arrow) (gtk_toolbar_get_show_arrow) (gtk_toolbar_get_relief_style) Add new toolbar methods from GTK+ 2.4 (gtk_toolbar_append_item) (gtk_toolbar_prepend_item) (gtk_toolbar_insert_item) (gtk_toolbar_insert_stock) (gtk_toolbar_append_space) (gtk_toolbar_prepend_space) (gtk_toolbar_insert_space) (gtk_toolbar_remove_space) (gtk_toolbar_append_element) (gtk_toolbar_prepend_element) (gtk_toolbar_insert_element) (gtk_toolbar_append_widget) (gtk_toolbar_prepend_widget) (gtk_toolbar_insert_widget) (gtk_toolbar_set_icon_size) (gtk_toolbar_unset_icon_size) Add deprecations for these old toolbar methods. * gtk/gtk.override (_wrap_gtk_toolbar_append_item) (_wrap_gtk_toolbar_prepend_item) (_wrap_gtk_toolbar_insert_item) (_wrap_gtk_toolbar_insert_stock) (_wrap_gtk_toolbar_append_element) (_wrap_gtk_toolbar_prepend_element) (_wrap_gtk_toolbar_insert_element) Add deprecation warnings. * gtk/gtk.defs (gtk_toolbar_set_drop_highlight_item) Allow tool_item parameter to be NULL * gtk/gtk.defs Add GtkToolButton constructor and method definitions. * gtk/gtk.override (_wrap_gtk_tool_button_new) Allow specifying stock_id or icon_widget - label combination. 2004-04-16 Johan Dahlin * configure.in: Post release version bump === PyGtk 2.3.91 === 2004-04-16 Johan Dahlin * NEWS: Update 2004-04-15 Gustavo J. A. M. Carneiro * pygboxed.c (PyGBoxed_Type, PyGPointer_Type): idem. * pygobject.c (PyGObject_Type): idem. * gobjectmodule.c (PyGInterface_Type): Typecast tp_free slot to 'freefunc' to avoid compiler warning. * pygobject.h: Conditionally make an alias for function type 'destructor' called 'freefunc', for backward compatibility with those poor souls still stuck with Python 2.2. * codegen/codegen.py (Wrapper): change typecast of tp_free slot from destructor to freefunc, for compatibility with Python 2.3. 2004-04-15 John Finlay * gtk/gtk.defs Add defs for GtkRadioAction * gtk/gtk.override (_wrap_gtk_radio_action_set_group) (_wrap_gtk_radio_action_get_group) Add. * gtk/gtk.defs Add defs for GtkRadioToolButton * gtk/gtk.override (_wrap_gtk_radio_tool_button_new) (_wrap_gtk_radio_tool_button_set_group) (_wrap_gtk_radio_tool_button_get_group) Add. * gtk/gtk.override (_wrap_gtk_scale_get_layout_offsets) Add. * gtk/gtk.defs (gtk_selection_owner_set_for_display) Allow widget param to be NULL. 2004-04-14 John Finlay * gtk/gtk.override (_wrap_gtk_icon_size_lookup_for_settings) Add. * gtk/gtk.override (_wrap_gtk_icon_theme_get_search_path) (_wrap_gtk_icon_theme_set_search_path) Add. * gtk/gtk.override (_wrap_gtk_icon_theme_list_icons) Add. * gtk/gtk-types.defs (IconInfo) Add GtkIconInfo boxed type. * gtk/gtk.defs (gtk_icon_info_copy) Add (caller-owns-return #t) * gtk/gtk.override (_wrap_gtk_icon_info_get_embedded_rect) Add. (_wrap_gtk_icon_info_get_attach_points) Add. * gtk/gtk.defs (gtk_list_store_move_sfter) Allow position to be NULL (gtk_list_store_move_before) Allow position to be NULL * gtk/gtk.defs (gtk_menu_set_screen) Allow screen to be NULL. 2004-04-13 Johan Dahlin * gobjectmodule.c (pyg_register_interface): Move quark_to_string to initgobject * codegen/codegen.py: Add support for tp_new 2004-04-13 John Finlay * gtk/gtk.override (_wrap_gtk_clipboard_wait_for_targets) Add. * gtk/gtk.override (_wrap_gtk_clipboard_request_contents) (_wrap_gtk_clipboard_request_text) (_wrap_gtk_clipboard_request_targets) Add. * gtk/gtk.defs More gtk_ function cleanup. 2004-04-12 John Finlay * gtk/gtk.override (_wrap_gtk_action_group_add_radio_actions) Fix bugs in connecting callback to first radio action. 2004-04-12 Johan Dahlin * pygtk.spec.in: Update, with help of Jason Tackaberry and Thomas Vander Stichele 2004-04-11 Johan Dahlin * NEWS: Add 2.3.90 stuff here, forgot to do it! * AUTHORS: Update, add the current active developers here * pygobject.c (pygobject_new_with_interfaces): New function. (pygobject_lookup_class): Modify so we're not traversing parents for unknown types but instead creating new types when they're not registered. We're also using pygobject_new_with_interfaces so interfaces gets attached correctly. Partial fix for bug 129032 * gobjectmodule.c: Add quark and attach the PyTypeObject for GInterfaces. * pygobject-private.h: Make PyGInterface_Type and pyginterface_type_key public 2004-04-10 John Finlay * gtk/gtk.override (_wrap_gtk_action_group_add_toggle_actions) Make method more like C API - add is_active processing. (_wrap_gtk_action_group_add_radio_actions) Make method more like C API - remove per item callback processing, add value and on_change parameters and processing. Add Runtime exceptions. * gtk/gtk.defs (gtk_clipboard_set_text) Allow len param to default to -1 - calculates text length. 2004-04-10 Johan Dahlin * gtk/__init__.py: Move GtkDeprecatedWarning ... Remove global module import and do it in the class _Deprecated and delete _Deprecated when done. (_Deprecated.__repr__): Add. * gtk/gtkmodule.c: ... here, and rename it to DeprecatedWarning 2004-04-10 Gustavo J. A. M. Carneiro * configure.in: Bump version up to 2.3.91. * examples/pygtk-demo/demos/images.py: Add 'Images' demo ported to python by Joey Tsai (see bug #100873). * Makefile.am (EXTRA_DIST): Add floppybuddy.gif and alphatest.png, copied from gtk+, for pygtk-demo. 2004-04-09 John Finlay * gtk/gtk.defs (gtk_action_group_add_action_with_accel) The accelerator can be NULL to force stock accel usage. 2004-04-09 Gustavo J. A. M. Carneiro * pygtype.c (pyg_value_as_pyobject): Convert GValueArray to python list, not tuple, as per comment in bug 129966. * gobjectmodule.c (initgobject, _pyg_strv_from_gvalue) (_pyg_strv_to_gvalue): Register GValue<->PyObject conversion functions for boxed type G_TYPE_STRV. Code is taken from gnome-python (bonobomodule.c), except that conversion to python object creates python list instead of tuple, as per comment in bug 129966. 2004-04-09 Johan Dahlin * gtk/__init__.py: Add deprecation warnings for all deprecated functions. 2004-04-08 John Finlay * gtk/gtk.override (_wrap_gtk_file_filter_filter) Add. (_wrap_gtk_file_filter_add_custom) Add. * gtk/gtk.override (_wrap_gtk_font_button_new) Add to allow optional fontname parameter. * gtk/gtk.override (_wrap_gtk_action_get_proxies) Add. 2004-04-07 John Finlay * gtk/gtk.override (_wrap_gtk_file_chooser_widget_new) Add to allow action and backend as optional parameters similar to _wrap_gtk_file_chooser_dialog_new. 2004-04-07 Johan Dahlin * gtk/gtk.override (_wrap_gtk_color_button_get_color): Remove unused variable. * configure.in: Nicer error messages (pytk-2-2 branch instead of gnome-gtk-1-2) * codegen/codegen.py (Wrapper.write_methods): Use the methods name (instead of the "c" name) so we get a nicer output. 2004-04-06 John Finlay * gtk/gtk.override (_wrap_gtk_file_chooser_get_filenames) (_wrap_gtk_file_chooser_get_uris) (_wrap_gtk_file_chooser_list_filters) (_wrap_gtk_file_chooser_list_shortcut_folder_uris) (_wrap_gtk_file_chooser_list_shortcut_folders) Add. * gtk/gdk.defs (gdk_pixbuf_new_from_file_at_size) Add. 2004-04-05 Johan Dahlin * gtk/gtk.defs (gtk_entry_new_with_max_length): Remove deprecation flag 2004-04-05 John Finlay * gtk/gtk.override (_wrap_gtk_combo_box_entry_new) Allow a TreeModel and text column to be optionally specified when creating a ComboBoxEntry. Allow model parameter to be None. (_wrap_gtk_combo_box_new) Allow model parameter to be None. * gtk/gtk.override (_wrap_gtk_entry_completion_set_match_func) Add. 2004-04-04 John Finlay * gtk/gtk.defs Removed gtk_ from various define-function definitions so that the function naming is consistent i.e. gtk.function instead of gtk.gtk_function: gtk_accel_map_add_entry, gtk_binding_parse_binding, gtk_combo_box_new_text, gtk_combo_box_entry_new_text, gtk_file_system_error_quark, gtk_file_paths_sort, gtk_file_paths_copy, gtk_file_paths_free, gtk_icon_theme_error_quark, gtk_icon_theme_get_default, gtk_icon_theme_get_for_screen, gtk_icon_theme_add_builtin_icon, gtk_preview_get_info, gtk_tooltips_data_get, gtk_tree_path_new_from_string, gtk_tree_path_new_from_indices and gtk_tree_path_new_first. * gtk/gtk.override (_wrap_gtk_tooltips_data_get1) Add deprecation warning for gtk.gtk_tooltips_data_get(). * gtk/gtk.defs (gtk_cell_layout_pack_start) (gtk_cell_layout_pack_end) Allow the expand param to default to TRUE. 2004-04-04 Gustavo J. A. M. Carneiro * gtk/gdk.override (_wrap_gdk_window_new): If compiling for win32 platform, add a g_object_ref for the newly created GdkWindow. Thanks John Ehresman. Fixes #122755. * gtk/Makefile.am (_gtk_la_CFLAGS): Add -DPLATFORM_WIN32 depending on PLATFORM_WIN32 AM conditional. 2004-04-04 Johan Dahlin * gtk/gtk.defs (icon_set_new): Is not a constructor, patch from Scott Tsai, fixes bug 138576 2004-04-03 John Finlay * gtk/gtk.override (_wrap_gtk_color_button_new) Implement with gtk_color_button_new_with_color() to allow optionally specifying a GdkColor. * gtk/gtk.override (_wrap_gtk_color_button_get_color) Return a GdkColor instead of passing in a GdkColor to be filled in. * gtk/gtk-types.defs Added CellLayout interface and references to it for ComboBox, ComboBoxEntry, TreeViewColumn and EntryCompletion. * gtk/gtk.override (_wrap_gtk_combo_box_new) Allow a TreeModel to be optionally specified when creating a ComboBox. (_wrap_gtk_combo_box_get_active_iter) Return a TreeIter pointing at the active item or None if no active item. * gtk/gtk.override (_wrap_gtk_cell_layout_set_attributes) Added. 2004-04-02 Gustavo J. A. M. Carneiro * acconfig.h: This file is deprecated in newer automake. Removed. 2004-04-02 Johan Dahlin * pygtk-2.0.pc.in (pyexecdir): Add * gtk/gtktreeview.override: Update ignore * gtk/gtk.override (_wrap_gtk_action_group_list_actions) (_wrap_gtk_action_group_add_toogle_actions) (_wrap_gtk_action_group_add_radio_actions): Impl. Update ignore 2004-04-01 John Finlay * gtk/gtk.override (_wrap_gtk_accel_group_connect_by_path) Add. (_wrap_gtk_file_chooser_dialog_new) Fix small bug. 2004-03-31 John Finlay * gtk/gtk.override (_wrap_gtk_alignment_get_padding) Add. === PyGtk 2.3.90 === 2004-03-30 Johan Dahlin * examples/gtk/filechooser.py (response): Updated, call dialog.destroy() * examples/gtk/uimanager.py: New example * gtk/gtk.override (_wrap_gtk_ui_manager_add_ui_from_string): Override, get rid of second argument. * gtk/gtk.defs (gtk_ui_manager_new): is Constructor of GtkUIManager, not GtkUiManager. * gtk/gtk.override (_wrap_gtk_action_group_add_actions): Impl 2004-03-28 Xavier Ordoquy * gtk/gtk-types.defs: Fixes #138476 . Added the Layout class (Patch from scottt) 2004-03-29 Johan Dahlin * gtk/gtk.override (_wrap_gtk_file_chooser_dialog_new): Add backend as fifth argument (_wrap_gtk_progress_bar_new_with_adjustment): Fix constructor, it should return an int, not a PyObject. * gtk/gtk.defs: Remove GtkText, GtkTree and GtkTreeItem. * gtk/gtktreeview.override (_wrap_gtk_list_store_set): Impl. * gtk/gtk.override (_wrap_gtk_button_get_alignment): Impl. (_wrap_gtk_ui_manager_get_toplevels): Impl. 2004-03-28 Johan Dahlin * gtk/gtk.override (_wrap_gtk_file_chooser_dialog_new): Impl, based on gtk_dialog_new * Makefile.am: Add example to EXTRA_DIST * examples/gtk/filechooser.py (filter): New example 2004-03-28 Xavier Ordoquy * gtk/gtk.defs: Updated to match gtk 2.4 API. 2004-03-28 Johan Dahlin * gtk/gtk-types.defs (TreeModelFilter): implements GtkTreeModel and GtkTreeDragSource (FileFilter): Add (FileChooserDialog): implements GtkFileChooser (FileChooser): Add. * gtk/gdk.defs, gtk/gdk.defs: Merge in some changes from 2.4. * gtk/gtk-types.defs: Gtk+ 2.4 API and remove GtkTextLayout (which was accidentally added) * configure.in: Require glib 2.4, gtk+ 2.4 and libglade 2.3.6. * codegen/h2def.py: Add a new option to be able to separate output of objects and functions * gtk/gtk-types.defs: Sort and remove ifdef HAVE_GTK24 for GtkTextSearchFlags * gtk/gtk.override: Remove unneedded ignore statement * gtk/pygtkcellrenderer.h: Cleanup * gtk/pygtktreemodel.h: Ditto * gtk/gtktreeview.override: Add a prototype for pygtk_cell_data_func_marshal 2004-03-27 Johan Dahlin * gtk/gtk.defs (widget_list_style_properties): This is a function, not a method. * pygobject-private.h, pygobject.h, gobjectmodule.c: Make PyGParamSpec_Type and pyg_param_spec_new part of the public API. * gtk/gtkwidget.override (_wrap_gtk_widget_style_get_property) (_wrap_gtk_widget_class_list_style_properties): Impl. Fixes bug 138104 * setup.py: Removed installation of libglade and libxml2 DLLs on win32 (these are now part of the dropline installer). patch by Cedric Gustin, fixed bug 136731 * gtk/gtk.override (_wrap_gtk_main_quit): Override, this does two things differently from the old (auto generated) version, first it checks if gtk_main_level() is non zero and raises a RuntimeError if it's not. It also allows arguments and completely ignores them, this is closer to the old 0.6.x behavior and suitable for usage like this: obj.connect(signal, gtk.main_quit), fixes bug 136705 * gtk/gtkmodule.c (python_do_pending_calls): Check gtk_main_level before calling gtk_main_quit, since it might be called outside of a mainloop (eg, gtk.main_iteration). Avoids warnings on the console as found in example in bug 138163 2004-03-25 Johan Dahlin * examples/glade/autoconnect.py: New small example 2004-03-22 Xavier Ordoquy * gtk/gtk.defs: Removed the _gtk_* functions as the are private and not exported in the module. 2004-03-22 Xavier Ordoquy * codegen/h2def.py: Added the interface detection (interface -*Iface- inheriting from GTypeInterface) 2004-03-20 Gustavo J. A. M. Carneiro * gtk/gtkmodule.c (init_gtk): Define constants for the predefined atoms listed in . Fixes #137091 ("constants" for selection atoms). * gtk/gdk.override (_wrap_gdk_atom_intern): Override; return Py_None if gdk_atom_intern returns GDK_NONE. Fixes #137093 "gtk.gdk.atom_intern always creates an atom". (headers): Add protype for have_numpy() to avoid later implicit declaration warning. 2004-03-18 Xavier Ordoquy * codegen/h2def.py: Added the interface detection (class inheriting from GTypeInterface) 2004-03-18 Xavier Ordoquy * gtk/gtk.defs: Cosmetic changes to match h2def output exactly in order to ease further merges. 2004-03-12 Johan Dahlin * gtk/gtk.override (_wrap_gtk_accel_group_connect_group): 2004-03-12 Xavier Ordoquy Fixes #136811 (h2def ignores some functions) * codegen/h2def.py: skips the extern "C" === PyGTK 2.2.0 === 2004-03-11 Johan Dahlin * configure.in: Bump version * setup.py (MINOR_VERSION): Bump version * NEWS: Update 2004-03-09 Xavier Ordoquy * codegen/code-coverage.py: utility to scan the unmatched symbols from the binded libraries. Written by James Henstridge (see bug #71465) 2004-03-09 Xavier Ordoquy Fixes #136597 (gtkgl still referenced in build files) * gtk/.cvsignore: * gtk/makefile.msc: Removed references to gtkgl. 2004-03-09 Johan Dahlin * gtk/gdk.override (pygdk_filter_func_marshal): Impl. (_wrap_gdk_window_add_filter): Impl. 2004-03-08 Gustavo J. A. M. Carneiro * configure.in: Remove leftover definition of gtkgl_required_version. * gobjectmodule.c (pyg_enum_add_constants): Delegate to pyg_flags_add_constants if the GType is really a flags type instead of enum. (pyg_flags_add_constants): Delegate to pyg_enum_add_constants if the GType is really a enum type instead of flags. Based on John Ehresman's patch. Fixes (better) #136204 (GtkTextSearchFlags warning). 2004-03-07 Hagen Moebius * codegen/docextract.py: avoid the non-uniform behavior of gtk-doc to have an imaginary "returns" parameter. it is converted into the -tag. 2004-03-07 Gustavo J. A. M. Carneiro * examples/pygtk-demo/gtk-logo-rgb.gif, * Makefile.am (EXTRA_DIST): Add gtk-logo-rgb.gif, because of stock icon registration example. * examples/pygtk-demo/demos/appwindow.py: Fix stock icon registration. 2004-03-06 John Ehresman * gtk/gtktreeview.override (map_expanded_rows_cb) (_wrap_gtk_tree_view_map_expanded_rows): Wrapper for GtkTreeView.map_expanded_rows. Fixes #136309. Review and minor enhancement by Gustavo Carneiro. * gtk/pygtktreemodel.c (pygtk_generic_tree_model_iface_init) (pygtk_generic_tree_model_unref_node) (pygtk_generic_tree_model_ref_node): Add support for optional TreeModel ref_node & unref_node callbacks. Fixes #136312. Reviewed by Gustavo Carneiro. * gtk/gtktreeview.override (pygtk_cell_data_func_marshal): Fix reference problem on cunote->data. Fixes #136306 ( pygtk_cell_data_func_marshal ref counting in 2.2.0rc1 ). Reviewed by Gustavo Caneiro. 2004-03-06 Gustavo J. A. M. Carneiro * gtk/makefile.msc: use PYGTK_CODEGEN_DEFINES here too. * gtk/gtk-types.defs: Make TextSearchFlags an enum or flags type, conditional on HAVE_GTK24 being defined. Fixes #136204. * gtk/Makefile.am (.defs.c): Pass $(PYGTK_CODEGEN_DEFINES) to code generator, for conditional compiling of GTK+ 2.4 features. * configure.in: Check for gtk+ >= 2.3.4 and, if found, define PYGTK_CODEGEN_DEFINES="-DHAVE_GTK24". * codegen/defsparser.py (DefsParser.ifndef): Implement (ifndef ...) (DefsParser.ifdef): args no longer includes the function name (ifdef) as first element of list, so needed to offset indices to make it work again. (DefsParser.ifndef): idem. 2004-03-05 Johan Dahlin * codegen/codegen.py (Wrapper.write_constructor): Cleaning up write_source and starting to refactor Wrapper a little bit, to avoid so much code duplication * gtk/gdk.override (_wrap_gdk_pixbuf_fill): This should fix both bug 136205 and bug 136205. We're now allowing both long and int and converts them properly. 2004-03-04 Johan Dahlin * gtk/gdk.override (_wrap_gdk_pixbuf_get_pixels_array): New function (_wrap_gdk_pixbuf_get_pixels_array): Deprecate, in favor of .get_pixels_array(), based on Patch by Tim Evans, fixes bug 90255 * pygobject.c (pygobject_chain_from_overridden): * pygtype.c (pyg_signal_class_closure_marshal): Fixes for bug 132704, Patch by John Ehresman. * gtk/gdk.override (have_numpy): New function, to initialize/check numpy (_wrap_gdk_pixbuf__get_pixel_array): Use it here (_wrap_gdk_pixbuf_new_from_array): and here Patch by Tim Evans, fixed bug 122786 2004-03-03 Graham Carlyle * gobjectmodule.c (pyobject_free): block/unblock threads around Py_DECREF, because we may not hold the interpreter lock at this point. Fixes #135963 (gc of gtk.ListStore aborts intrepeter after gtk.threads_init() called). Reviewed by Gustavo Carneiro. 2004-03-02 Johan Dahlin * gtk/gdk.override (_wrap_gdk_event_tp_getattr): Add GdkEventKey.hardware_code. Fixes bug 129032, patch by Laur Ivan. 2004-03-01 Johan Dahlin * codegen/codegen.py (Wrapper.write_methods): Check for defined methods in the override file. (Wrapper.write_functions): Ditto for functions * codegen/override.py (Overrides.__parse_override): Clean up a little and add some docstrings. Also add a new keyword, define (Overrides.get_functions, Overrides.get_defines_for) (Overrides.function, Overrides.define): New methods. 2004-02-28 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_accel_group_connect): Add wrapper for gtk_accel_group_connect. 2004-02-24 Gustavo J. A. M. Carneiro * gtk/gtkmodule.c, gtk/pygtk.h: Make pygdk_rectangle_from_pyobject a public API function. Fixes #135279. 2004-02-24 Johan Dahlin * gtk/gtk.override (_wrap_gtk_stock_list_ids): Plug a leak. * pygobject.c (pygobject_chain_from_overridden): signa->signal 2004-02-23 Gustavo J. A. M. Carneiro * gtk/gdk.defs (GdkDrawable.get_image): Add caller-owns-return, as suggested by John D. Hunter. Fixes #133681. * gtk/gtk.override (_wrap_gtk_menu_popup): accept large long integers for the 'time' argument. 2004-02-23 Xavier Ordoquy * Makefile.am: * gtk/Makefile.am: applied patch from Naofumi Yasufuku. Fixes bug 121339 (dsextras.py installation directory). 2004-02-22 Gustavo J. A. M. Carneiro * gtk/gdk.override (_wrap_gdk_pixbuf_new_from_array) (_wrap_gdk_pixbuf_new_from_array): apply Tim Evans' patch to create pixbuf from data (string) or from a Numeric Python array. 2004-02-22 Xavier Ordoquy * codegen/h2def.py: don't expect a whitespace after the type name Fixes bug #128988, patch from Jon Willeke. 2004-02-19 Gustavo J. A. M. Carneiro * gtk/gtktreeview.override (pygtk_cell_data_func_marshal): Fix multiple python object reference leaks. 2004-02-14 Gustavo J. A. M. Carneiro * gtk/gtk.override (_wrap_gtk_binding_entry_remove): impl. * gtk/gtk.defs (binding_entry_remove): remove gtk_ prefix from function name. 2004-02-10 Seth Nickell Reviewed by: random luser * gtk/gdk.override: Change type of argument in signature for gdk.event_get_axis from "d" to "i" so that get_axis works 2004-01-14 Johan Dahlin * gtk/pygtktreemodel.c (pygtk_generic_tree_model_iter_n_children): Allow iter to be set to NULL, based on patch by Don Allingham Fixes bug 125172 2003-12-24 Gustavo J. A. M. Carneiro * pygtype.c (pyg_value_as_pyobject): Add special handling for GValueArray, converting it to a tuple while calling pyg_value_as_pyobject recursively for each inner value. 2003-12-23 James Henstridge * gtk/gtktreeview.override (pygtk_tree_selection_get_selected_rows): implement (fixes bug #111489). * codegen/h2def.py (clean_func): apply patch from Jon Willeke to strip out eg. G_BEGIN_DECLS, which was tripping up some of the following regexps (fixes bug #129414). * pygobject.c (pygobject_get_property): explicitly check if the property is readable first, and raise an exception otherwise (pygobject_set_property): check if property is readable (fixes bug #121544). 2003-12-22 James Henstridge * setup.py: distutils fixes from Alif Wahid (bug #123014). * gtk/gdk.override (ignore-win32): ignore gdk_font_get_display. * gtk/gtk.override (ignore): ignore plug construct functions. (ignore-win32): ignore gtk_plug_new_for_display. * gtk/gdk.defs (pixmap_foreign_new_for_display): caller owns return. (pixmap_foreign_new): same here (bug #129754). (window_foreign_new): same here. (window_foreign_new_for_display): same here. 2003-12-20 Gustavo J. A. M. Carneiro * codegen/codegen.py (Wrapper.get_initial_constructor_substdict): now receives the constructor FunctionDef as argument. (Wrapper.write_constructor): Pass the constructor get_initial_constructor_substdict. (GObjectWrapper.get_initial_constructor_substdict): Receive/pass constructor argument. If constructor's caller_owns_return flag is set to #f, add an extra g_object_ref(self->obj). (GBoxedWrapper.get_initial_constructor_sub): Receive/pass extra constructor argument. (GPointerWrapper.get_initial_constructor_substdict): idem. 2003-12-17 James Henstridge * gtk/gtk-types.defs (TextSearchFlags): GtkTextSearchFlags is a flags value, rather than an enum. 2003-12-16 James Henstridge * configure.in (CFLAGS): add -fno-strict-aliasing to CFLAGS if the compiler supports it. The Python API breaks some of the strict aliasing rules. * acinclude.m4 (JH_ADD_CFLAG): new macro to check whether the compiler supports a particular cflag. * codegen/codegen.py (GInterface.get_initial_class_substdict): GInterface wrappers should be sizeof(PyObject), since they are mixins. 2003-12-19 Johan Dahlin * gtk/gdk.defs (fill): Change to guint32. Patch by hyriand@thegraveyard.org. Fixes 121611. * gtk/pygtkcellrenderer.c (pygtk_generic_cell_renderer_start_editing): Allow return values that are NULL. Patch by Tim Evans, fixes #122786 * gtk/gtktreeview.override (_wrap_gtk_tree_model_iter_children): Allow parent to be None. Patch by Benjamin CAMA, fixes #124593 * gtk/gtk.defs: Allow all GdkColor arguments for gtk_widget_modify_* to be null. Patch by jkluebs@luebsphoto.com, fixes #127178 (GtkTreeView.expand_row): Set return value to gboolean. Patch by Doug Quale, fixes #126406 2003-12-18 Johan Dahlin * gtk/gtk.defs (set_tip): Allow null for tip_text. Patch by John Ehresman, fixes #128623. * gtk/pygtktreemodel.c: handle None iterator values. Patch by John Ehresman, fixes #126479. 2003-12-09 Johan Dahlin * gtk/gtktreeview.override (_wrap_gtk_list_store_reorder): Impl. 2003-12-05 Johan Dahlin * gtk/gtktreeview.override (pygtk_tree_selection_foreach_marshal): Increase the ref count on Py_None (#128448, Vsevolod Fedorov) * gtk/gtk-types.c (pygtk_tree_model_row_get_parent): Swap parent and child argument. (#123605, patch by Steve Chaplin) 2003-10-23 Johan Dahlin * gtk/gtk.override (_wrap_gtk_item_factory_create_items): Use GdkPixbuf objects instead of raw strings, Thanks to Rob Melby for the patch, #123456 * gtk/gtkwidget.override (_wrap_gtk_widget_size_request): pass back the values instead of pointers to them. Thanks to Rob Melby for the patch, #125272 2003-09-17 James Henstridge * gtk/gtk.override (_wrap_gtk_clipboard_set_with_data): wrap function. 2003-09-16 James Henstridge * gtk/gdk.override (_wrap_gdk_window_set_geometry_hints): add wrapper. (gdk_window_peek_children): ignore. (_wrap_gdk_window_set_icon_list): add wrapper. (_wrap_gdk_screen_get_setting): add wrapper (this one spews lots of warnings though. Not sure how to fix properly). 2003-09-15 James Henstridge * gtk/gdk.override (_wrap_gdk_display_get_window_at_pointer): add wrapper. (_wrap_gdk_drag_find_window_for_screen): add wrapper. * gtk/gtkgl*: remove files. * gtk/Makefile.am: remove gtkgl binding. * configure.in (build_gtkgl): remove gtkgl bindings. 2003-09-04 James Henstridge * gtk/gtk.override (headers): add defs for GdkDisplay and GdkScreen * gtk/gtk.defs, gtk/gtk-types.defs: update for 2.2 APIs. Covers bug #113224, #113908, #117929 and #121031. * gtk/gdk.override (_wrap_gdk_pixbuf_get_formats): implement function. Returns a list of dictionaries (bug #118253). 2003-09-03 James Henstridge * gtk/gdk.override: add some overrides for GdkDisplay and GdkScreen. * gtk/Makefile.am (gtk_overrides): gtk.c doesn't depend on gdk.override. * gtk/gdk.override: hack so that GDK_DISPLAY() is the cast macro. * gtk/gdk.defs, gtk/gdk-types.defs: incorporate new 2.2 APIs. * configure.in: set version number to 2.1.0 so that it differs from the 2.0 branch. 2003-09-02 James Henstridge * ChangeLog.pre-2-0: rename old change log.