pygtk-2.9.5 ?-?-2006 - Make sure dir(gtk.keysyms) work again (#349892, Johan, John) pygtk-2.9.4 4-august-2006 - Include John Finlay's PyGTK reference manual (Johan, John) - Setters and getters for GtkWidget.activate_signal (#331445, Gustavo) - GtkToolItemType setter/getter (#331355, Gustavo) - Code generator fixes (Gustavo, Johan, John, Yevgen Muntyan, Gustavo) - Add more gtk+ 2.10 API (#337011, John, Sebastian Pölsterl) - Don't copy treeiters in callbacks (#347273, John, Stefano Maggiolo) - Provide full information for GtkTreeSelection.set_select_function (#340475 John, Wouter Bolsterlee) - Export less symbols and reduce the size of the libraries (#347825, Rafael Espíndola) - Allow negative values for GtkTreeModel.set/getitem (#311852, Baiju M) - Much improved interface/virtual method support (John) - Remove evil 100ms timeout timer (#348937, Gustavo) pygtk-2.9.3 12-july-2006 - Update to latest gtk+ 2.10 API changes (#345447, #345623, Newren, Peters) - Many more new gtk+ 2.10 APIs wrapped (Finlay) - Wrap gtk_widget_class_find_style_property (Finlay) - gtk.gdk.CairoContext.rectangle bug fix (Gustavo) - Update defs for atk 1.8 (Finlay) - Misc. module cleanups (Dahlin) - New pango APIs wrapped (Finlay) - Fix refcount error in gtk.Clipboard (#343960, Gustavo, Finlay) - Enable GDK X11-specific APIs available also with gtk+ 2.8 (Gustavo) - Lazy loading of the gtk.keysyms module (Johan Dahlin) pygtk-2.9.2 15-june-2006 - Fix a codegen bug that prevent build of other extensions (344845, Gustavo) - Builds with pycairo 1.1.6 (344957, Gustavo) - gtk.TextBuffer rich text copy and serialization (Finlay) - Correct Print Editor example (Gustavo) pygtk-2.9.1 13-june-2006 - Allow gtk.TreeSortable.set_default_sort_func callback to be None (Johan, Patrick O'Brien) - Add API to unset the g_log handlers (#323786, Johan) - Allow the gtk module to be imported without DISPLAY (#316877, Johan) - Code cleanup and fixes considering Coverity reports (Johan) - Add codegen support for const-Object return type (#169204, Gustavo) - Add codgen support for unblocking threads around method calls (Gustavo) - Wrap gdk_event_handler_set (Johan) - Codegen reverse wrapper bug fix (#340162, Yevgen Muntyan) - Wrap GdkRegion (John Ehresman) - Add codegen support for ignore-type statement in override (Johan) - Add conditional support for gtk+ 2.10 API, especially printing (Johan, Finlay, Gustavo) - Complete the support for gtk.Container virtual methods (#341641, Gustavo) - Fix misc. reference leaks (Finlay, Gustavo) - Allow None parameter in pangocairo.CairoContext.set_font_options (Finlay) - Complete the support for gtk.CellRenderer virtual methods (#339431, Gustavo) - IconView.set_cursor method params 'cell' and 'start_editing' made optional (#343039, Ross Burton, Finlay) - Wrap a few more gdk_cairo_* methods (Finlay) - Add a 'selection' field to gdk.OWNER_CHANGE events (Finlay) - Allow None in gtk.Entry.set_inner_border() (Finlay) - gtk.Clipboard rich text methods (Finlay) - Add gtk.MessageDialog.set_image() (Finlay) - Wrap gtk_link_button_set_uri_hook() (Finlay) - Allow None in gtk.Widget.input_shape_combine_mask() (Finlay) - Allow gtk.LinkButton() constructor to optionally receive a label (Finlay) - Allow None in gtk.Label.set_mnemonic_widget() (Johan) - Wrap a bunch of X11 specific gdk methods (Gustavo) - Add gtk.SizeGroup.get_widgets() (Finlay) - Wrap gtk_style_lookup_color() (Finlay) - Wrap a bunch of gtk treeview grid lines methods (Finlay) - Better Drag and drop API support (Finlay) - Add -I option to codegen (defs search path) (Gustavo) pygtk-2.9.0 04-april-2006 - Remove gobject, pygobject is now a hard dependency - Set encoding in pango instead of gtk (328031) - Wrap gdk.Screen.get_rgba_colormap/get_rgbma_visual (328996, Marco Cabizza) - Remove private gtk wrappers (321476) - Add a bunch of missing wrappers (316881, John Finlay) - Add inout support in reverse wrappers (335964, Gustavo) - Update h2defs to allow whitespace before parenthesis (317124) - Make it possible to reimplement interfaces (334986, Gustavo) - Allow log_handler to be called when python is not initialized (334188, Gustavo) - Support for const object args (wollny@cbs.mpg.de, Gustavo) - Export pygtk tree model api (318021, Gustavo) - Allow overrides to be in base classes (327715, Gustavo) - Wrap a pango cairo font options acecssors (328108, Rauli Ruohonen) - Add GDK_PARENT_RELATIVE relative handling (320248, Johan, Nikos Kouremenos) - Improve pixbuf demo (327931, Ben Caradoc-Davies) - Set default markup accel marker to \x00 (329658, Johan, Johan Svedberg) - Set 1 as default argument to SpinButton.spin() (325452, Sebastian Rittau) - Wrap gdk.Drawable.gdk_draw_indexed_image (333431, Johan, Hamish Moffatt) - Mark rowreference.free() as deprecated (309811, Gustavo) - Rename name of first keyword argument to pango.LayoutLine.index_to_x (316581, Gustavo, John Finlay) - Run reindent on all python code (325320, Johan) - Improve generictreemodel example (311459, Steven Kennedy) - Wrap gdk.Pixbuf.rotate_simple (314164, Karel Vervaeke) - Use in argument in gtk.TreeView.cell_get_size (326357, John Ehresman) pygtk-2.8.5: 30-march-2006 - String list bug fix (Christopher Aillon) - Improved examples (Johan) - Proper refcounting in gdk.Window constructor (John Ehresman) - Fix a bunch of reference leaks (Gustavo) - __init__.py fixes for pydoc (Johan) - gtk.Dialog.new_with_buttons leak (#332771, Gustavo) pygtk-2.8.4: 11-january-2006 - Re-include gobject wrappers if pygobject is not found (Gustavo, Johan) - gtk.IconView should implement GtkCellLayout (Johan) - Always install pygtk-2.0.pc pygtk-2.8.3: 09-january-2006 - Split out gobject wrappers into a separate module and depend on pygobject 2.9.0 (Johan) - Bug fixes (Bob Gibbs, Johan, Gustavo) - Size group example (Johan) - Plug mem leaks (Gustavo) - Build cairo on win32 (Cedric) pygtk-2.8.2: 09-october-2005 - GIOChannel thread fix (Johan, Ole Andre Vadla Ravnås) pygtk-2.8.1: 03-october-2005 - Bug fixes (Gustavo, Johan) - Improve exceptions when registering properties (Gustavo) - Extend warnings (John Ehresman) - Raise exception when working on uninitialized objects (Johan) - Plug libglade leak (Gustavo) - Undeprecate a few gobject functions (Johan) - UINT64 buf fixes (Gustavo, Johan) - GCC 4.0 warnings (Johan) pygtk-2.8.0: 03-september-2005 - GObject metaclass bugfix (John Ehresman) - Double free fix in type_register (Gustavo) - Make it buildable srcdir != buildir (Johan) - Improve GdkRectangle conversion (Tim Evans, Gustavo) - Use automake 1.8 (Johan) pygtk-2.7.4: 24-august-2005 - Container.do_forall implementable in subclasses (Johan) - Bug fixes (John Finlay, Christian Persch, Christopher Allion, Johan, Gustavo) - Build fixes (Stepan Kasal, John Ehresman, Johan) pygtk-2.7.3: 10-august-2005 - Build fixes (Johan) - Code generator fixes (Gustavo) - Bug fixes (Johan, Andy, Gustavo) pygtk-2.7.2: 02-august-2005 - Subclass/type registration bug fixes (Gustavo) - Allow gobject to be initialized twice (Yevgen Muntyan) - Deprecating warning bug fixes (Mark McLoughlin) - Bug fixes (Sebastien Bacher, Gustavo, Johan, Manish) pygtk-2.7.1: 21-july-2005 - Update API to Gtk+ 2.7.3 (Johan) - Threading, Enum fixes (Johan - Registration fixes (Gustavo) - Make use of atomic ref counting in glib (Johan) pygtk-2.7.0: 10-july-2005 - GIOChannel wrapper (Gustavo, John Ehresman, Manish) - GSource wrapper (Manish) - Allow creation of python classes through gobject.new (Gustavo, John Ehresman, Benjamin Otte) - Improved GObject property support (Gustavo, Iñaki, Johan) - Improved ParamSpec wrapping (Johan) - Add gdkcairo and pangocairo wrapping, depends on pycairo (Gustavo) - 2.8 API updates (Johan) - Add GObject metaclass, making type_register unnecessary (Gustavo) - C++ compilation fixes (Manish) - Handle longs/ints better (Gustavo) - Support new GType fundamentals (Edward Hervey, Johan) - Improved GType wrapping (Johan) - Support for specifying GType name (Johan) - GtkContainer iterator support (Johan) - Support for subclasses that implements scrolling (Gustavo, Johan) - Bug fixes/Misc fixes (Steve Chaplin, Tim Evans, John Finlay, Cedric Gustin, Edward Hervey, Christian Kirbach, Tuure Laurinolli, Benjamin Otte, Manish Singh, Gian Mario Tagliaretti, Fernando San Martin Woerner) pygtk-2.6.2: 9-may-2005 - Allow None to be sent in to set_group radio widgets (Johan, Lorenzo) - guint/gsize as longs (Gustavo) - Check for exceptions in child_watch (Mark McLoughlin) - Bug fixes (Johan, Manish Singh, John Finaly) pygtk-2.6.1: 15-march-2005 - GtkListStore.insert optimization (Johan) - GtkTreeStore/GtkListStore.reorder leak fix (Johan, Richard Hult) - GParamSpec bug fix (Johan) - Code generator improvements (Anders Carlsson, Johan, Doug Quale) - GCC4 build fixes pygtk-2.6.0: 07-march-2005 - win32 fixes (Cedric Gustin) - remove unnecessary casting (Manish Singh) - updated examples (Johan) pygtk-2.5.4: 23-february-2005 - Much improved GMainloop support (Mark McLoughlin) - Install pygtk-demo (Gustavo) - Deprecate gtk.TRUE/gtk.FALSE (Johan) - win32 build fixes (Cedric Gustin) pygtk-2.5.3: 23-january-2005 - Revert some threading changes (Gustavo) - Build improvements (Johan) - Improve pixmap functions (John F) - GObject type registration fixes (Gustavo) - Code generator fixes (Johan, Gustavo) - Plug mem leaks (Mark McLoughlin) - Flag/Enum bug fixes (Gustavo) pygtk-2.5.2: 10-january-2005 - Improved deprecation messages (Johan) - gtk.idle_add, gtk.timout_add, and others are now deprecated (Johan) - Overriding GTK+ virtual methods (Gustavo) - Interfaces now implementation (Gustavo) - 2.6 merge (Johan, Gian Mario Tagliaretti) - Bug fixes (Adam Hooper, John Finlay, Gustavo, Johan, Tim Evans) - Build system improvens (Johan) pygtk-2.5.1: 23-december-2004 - Remove API removed in Gtk+ 2.6.0 (Gustavo, Johan) - Implement pango.LayoutIter (John) - Build fixes (Johan, Marco Pensenti Gritti) - Update examples (Alan Horkan) - distutils/win32 fixes (Cedric Gustin) pygtk-2.5.0: 29-november-2004 - Port to Gtk+ 2.5.x (Johan, John) - Code generator improvements (Gustavo) pygtk-2.4.1: 04-november-2004 - Bug fixes (Johan, Gustavo, John Finlay) - Allow the headers to be parsable by a C++ compiler - Updated examples (Johan, John) pygtk-2.4.0: 03-october-2004 - Updated examples (John Finlay) - Tiny threading bug fix (John Ehresman) pygtk-2.3.97: 28-september-2004 - Threading fixes (Gustavo, Johan, John E) - Other bug fixes (Gustavo, James, Johan, John, Ehresman, John Finaly, Owen Taylor and Xaiver Ordoquy) - x86_64 build fixes (Jonathan Blandford) - Updated examples (John Finlay) pygtk-2.3.96: 06-august-2004 - Threading fixes (Johan, Gustavo) - Bug fixes (John, Johan, Gustavo) - GEnum/GFlags wrapping improvements - GdkAtom string wrapping (John) - Better boolean support (since we now can require 2.3) pygtk-2.3.95: 02-august-2004 - Flags/Enum fixes (John, Johan) - Bug Fixes (John, John E, Johan, Gustavo) - Improved threading support (Johan) pygtk-2.3.94: 21-july-2004 - bug fixed (Gustavo, Johan, John, Lorenzo) - small enum additions for gazpacho (Johan) - rename GMainLoop, GMainContext back to MainLoop and MainContext pygtk-2.3.93: 19-july-2004 - GtkTreeView updates (John Finlay) - New examples (Johan) - GEnum/GFlags wrapping (Johan) - New (using g_object_new) constructors (Gustavo) - GParamSpec API, for GtkWidget and GtkContainer (Johan) - Unichar/Unicode support (Lorenzo, John Ehresman) - Widget subclassing (Johan, Gustavo, Lorenzo) - GdkEvents changable (Johan) - Warnings (Gustavo, Johan) - Many bugfixes (John Finlay, John Ehresman, Johan, Lorenzo, Gustavo) - Win32/FreeBSD/distutils build fixes (John, Johan) pygtk-2.3.92: 22-may-2004 - Deprecate old function (John Finlay) - Add missing 2.4 api for pango, gdk and gtk (John Finlay): PangoAttrList, PangoFontset, PangoFontFamily, GdkWindow, GdkPixbuf, GdkPixbufLoader, GtkClipboard, GtkTreeView, GtkTreeModel, GtkToolbar - Reference counting fixes (John) - gobject type registration improvements (Gustavo) pygtk-2.3.91: 16-april-2004 - Continue to wrap 2.4 api: GtkActionGroup, GtkColorButton, GtkCellLayout, GtkComboBox, GtkFileChooser, GtkFontButton, GtkIconInfo, Gtk*ToolButton (John Finlay, Johan) - ref GdkWindows on win32 (John Ehresman, Gustavo) - Clean up defs (John) - Deprecate 0.6.x compatibility functions (Johan) - Convert GValueArray to list, not tuple (Gustavo) - Add new demos (Joey Tsai) - Create unknown types on the fly, with interfaces (Johan) - Update spec (Jason Tackaberry, Thomas Vander Stichele) - Support tp_new (Johan) pygtk-2.3.90: 30-march-2004 - Merge in changes for Gtk+ 2.4 (Johan, Xavier) - GtkUIManager, GtkFileChooser, GtkTreeModelFilter, GtkActionGroup, GtkAction, GtkToolbar etc - Export GParamSpec in GObject and support style properties - Distutils win32 fixes (Cedric Gustin) - Fix mainloop related warnings (bug 136731, bug 136705) - Updated examples (Johan) - gdk.atom_intern (Gustavo) - Code generator fixes (Xavier) pygtk-2.2.0: 11-march-2004 - Added support for GTK+ 2.2 APIs, GdkDisplay, GdkScreen, GdkClipboard and GtkWindow (James) - Better and more flexible support for TreeModel and TreeView API (Don Allingham, Benjamin Cama, John Ehresman, Johan, jkluebs@luebsphoto.com) - Better support for gtk.gdk.Pixbuf integration with Numerical arrays (Tim Evans) - Better support for Pygtk generation tools (codegen, m4 macros, h2def, Makefile.am ...) (James, Jon Willeke, Xavier, Johan) - Removed gtkgl bindings (James) - Added gtk.gdk.Eventkey.hardware_code (Johan) - Added gtk.binding_entry_remove and gtk.accel_group_connect (Gustavo) - Don't allow reading non readable properties (James) - And lots of bug fixes: gdk.event_get_axis (Seth Nickell), distutils (Alif Wahid), mem leaks, gtk.Menu.popup (Gustavo) pygtk-2.0.0: 1-September-2003 - Roll version number over to 2.0. - Small fix to gtk.TextView.set_border_window_size() method. - Miscelaneous bug fixes. pygtk-1.99.18: 24-August-2003 - Fix up a duplicate symbol bug in the atk module, that was causing build problems on MacOS X (hopefully the last such problem). - add gtk.glade.set_custom_handler() API, that provides more info to the custom widget callback. Deprecate set_custom_widget_callbacks(). - some other bug fixes. pygtk-1.99.17: 31-July-2003 - Threading support is compiled in by default now. It is necessary to call gtk.threads_init() in order to make use of threading though. There have been a number of fixes to the threading support too. - Fix up some problems with multiple definitions of global variables in gobject module, that was causing problems on Mac OS X. - Wrappers for many new APIs (John Finlay, Naofumi Yasufuku, Johan Dahlin and others). - Improvements to the code generator to give better error messages. - Some fixes to property APIs to work correctly on 64 bit systems, and to handle ATOM type properties. - Fix copyright headers on source files. pygtk-1.99.16: 23-March-2003 - various new functions wrapped. - More threding fixes (Jon Trowbridge) - Reworking of the single instance per GObject code to work better with the Python cycle GC. - more updates to the simplified Python tree model API. - fix error handling in constructors for GtkTreeStore and GtkListStore. - add some inline comments for the APIs for extending pygtk to handle other widget sets. pygtk-1.99.15: 08-February-2003 - distutils support - Code generator improvements (Jeremy Katz) - Threading fixes (Lots of people) - API additions to GtkTextBuffer, GtkTextView and GtkFileSelection - GMainLoop/GMainContext support, you can now run input_add, timeout_add without importing gtk. - libglade now support passing in an instance to signal_autoconnect - pygtk.py import speedup. - Many many bugs fixed. pygtk-1.99.14: 27-December-2002 - update to newer auto-tools (autoconf-2.57, automake-1.7.2, libtool-1.4.3). - many bug fixes and additions of missing APIs. - fix doc generation scripts to match the new style of gtk-doc documentation. - make code generator return either Py_True or Py_False for boolean return functions. This change is only noticable with Python 2.3 alphas. - removal of wrappers for deprecated functions where the deprecated method shadowed the replacement. - wrappers for idle_add, timeout_add, io_add_watch and source_remove to gobject module. Compatibility names are provided in the gtk module. - Many tree and text view wrapper updates from Johan Dahlin and John Finlay. - leak fixes. - Updated examples, including demo for editable cells. - Improved threading support. - Api additions for GdkEvents, TreeSelection, GtkTooltips, libglade, GtkContainer. pygtk-1.99.13: 24-August-2002 - Support parallel install with pygtk >= 0.6.10 - fix initial reference handling for derived GObjects. This also uncovered a few other reference leaks. - Other reference leak fixes from Arjan. - Support building out of the box on windows with mingw32 from Cedric Gustin. pygtk-1.99.12: 23-July-2002 - more win32 compat updates. - simple tree model interfaces added. - added generic cell renderer type. pygtk-1.99.11: 10-July-2002 - int64/uint64 arg handlers in code generator. - some reference leak fixes. - get signal handlers to participate in cyclic garbage collection (thanks to Arjan Molenaar). - correctly reset LC_NUMERIC to "C" when initialising the gtk module. pygtk-1.99.10: 13-May-2002 - support new arg types in code generator. - handle (caller-owns-return) in code generator. - add gtk.compat module that provides similar naming to gtk 1.2 modules. pygtk-1.99.9: 23-April-2002 - Some win32 compatibility fixes merged in from Hans. - update defs file to match final gtk 2.0 APIs. - added gtk.gl wrapper. - refactored code generator, fixing a number of bugs in the process. pygtk-1.99.8: 18-March-2002 - Implement lots of stuff in Pango module. - make class names include module name so that help() output looks nicer. - lots of other functions added. pygtk-1.99.7: 31-January-2002 - add (broken) threading support. Will need fixing one day. - make safe for use with PyMalloc. - split gobjectmodule.c into a number of files. pygtk-1.99.6: 24-December-2001 - add scripts for generating documentation for pygtk. - add __gsignals__ and __gproperties__ sepcial class attributes for defining new signals and properties for an object. - better support for GError. - start of ATK wrapper (msw). pygtk-1.99.5: 26-November-2001 - lots of updates. pygtk-1.99.4: 29-October-2001 - fix up GObject last ref handling for derived types. - other fixes. pygtk-1.99.3: 9-October-2001 - Rename the PyGtkTreeModel to PyGtkGenericTreeModel to avoid name conflicts. - many method wrappers added. - more reference fixes. - adjust code generator so that it outputs #line directives. - move defintions of types (as opposed to functions/methods) to separate files to improve compilation speed. pygtk-1.99.2: 29-September-2001 - switch from ExtensionClass to use Python 2.2's type/class unification. - require Python 2.2a4 pygtk-1.99.1: 20-September-2001 - always use the GType wrapper type to represent GTypes, rather than using ints. - automatically populate modules with constants via introspection. - Switch from gtk.GtkFoo naming to gtk.Foo. pygtk-1.99.0: 10-September-2001 - First cut tarball for 2.0 branch. Lots and lots of changes (since branching in April 2000). - Uses ExtensionClass, and implement GObject wrappers in C code, rather than the two stage wrapper like the 1.2 branch. ---- GTK-1.2 branch ---- pygtk-0.6.11: 23-August-2002 - Fix up libtool patch for older binutils'. - a few bug fixes in some GtkWidget methods. pygtk-0.6.10: 22-August-2002 - Fix up segfaults when using with a Python compiled with pymalloc. - various new wrapper functions added. - Raise exception if gtk_init() fails. - bug fixes. - Support parallel install with PyGTK 2.0. pygtk-0.6.9: 3-Janyary-2002 - always check the return value of functions for NULL values. This fixes a number of problems which caused crashes on exit. - add pygt_version and gtk_version variables. - update to autoconf-2.52/automake-1.5 - many bug fixes (see ChangeLog). pygtk-0.6.8: 23-April-2001 - bug fixes to GtkNotebook, GtkCList. - add some missing methods to GtkWidget - a gdk-pixbuf wrapper module. - install the code generator, so that other wrappers can use it as well. pygtk-0.6.7: 16-February-2001 - added --disable-thread configure argument to turn off thread support even when compiling with a threaded python. - resets LC_NUMERIC back to "C" after calling gtk_set_locale, as this is the standard setting for python, no matter what the locale. - various other bug fixes. pygtk-0.6.6: 7-April-2000 - switched over to using the CVS version of automake rather than my `pyautomake' patches, as CVS automake now has the python support integrated. Libtool is now used to build the extensions, so if there are problems on your platform, it is a libtool problem :) - typo fixes. - new pointer_(un)grab and keyboard_(un)grab methods for GdkWindow. pygtk-0.6.5: 13-March-2000 - more reference leaks fixed. - crashes when changing window properties with 16 or 32 bit data formats fixed. - some libglade wrapper fixes. - various other fixes. pygtk-0.6.4: 16-February-2000 - gnome-python now requires python >= 1.5.2, as it uses the 'N' format tag for PyArg_ParseTuple. - Reference leak fixes. - A few new features. pygtk-0.6.3: 30-September-1999 - if the new gnome-python is installed, the libglade module will load the gnome support. Make sure you remember to import gnome.ui if the glade file contains any gnome widgets. - New methods for GdkWindow objects -- lower, _raise (for stacking order manipulation) and input_get_pointer (for XInput stuff). - A few other bugs have been fixed as well. See ChangeLog for details. pygtk-0.6.2: 9-August-1999 - Threading should work correctly with multiple threads accessing GTK (assuming they use threads_enter/leave). Thanks go to Matt Wilson and Paul Fisher for this code. - A pygtk.h header file is now installed that should make it easier to write extensions to pygtk. - There is now optional support for the gtkglarea widget and the libglade library now. - There is support for gdkrgb functions for rendering rgb and greyscale image data to a drawable. - Optional support for numpy arrays. You can create a GdkImlibImage from a numpy array, and manipulate an image's data as an array. Also there is a gdk_draw_array wrapper that uses gdkrgb to render an array to a drawable. The code for the imlib stuff is based on stuff submitted by Travis Oliphant. - The GdkWindow type now has some methods for manipulating properties, and has an xid attribute for getting the X window ID of the window. - idle_add and timeout_add can now pass extra parameters to the callback, like you can do for signals. Also added a wrapper for signal handlers similar to gtk_signal_connect_object. pygtk-0.6.1: 22-May-1999 - Fixed a few bugs to do with the threading patches I applied in the last release. Threading should now work correctly. pygtk-0.6.0: 25-April-1999 - updated for gtk+-1.2.1. - You can now write multithreaded programs in python (if python was compiled with thread support enabled, of course). This feature is thanks to Duncan Grisby . To use the multithreading, write your program as normal, but before calling any GTK routines from outside the GTK thread (ie. not from a signal handler or timeout/idle func), call threads_enter() before hand, and threads_leave() after. - Various bug fixes. pygtk-0.5.11: 24-February-1999 - Updated for gtk+-1.1.16 - Changes to the style code, so that you can now write to the attributes. There is also a copy() method, which can be used so you don't change the style on other objects. - Some changes so some functions which are supposed to accept NULL arguments will accept None in place of a boxed/string/object argument. - Added a file MAPPING that describes the mapping of GTK onto python. - Various bug fixes. - Pyglade XML parser made more robust. pygtk-0.5.10: 9-February-1999 - Updated for gtk+-1.1.14/15. - Fixed up some selection problems. - Added DnD example translated by Chi-Deok Hwang. - Some ctree fixes. - Some function renamings. - more functionality in the pixmap creation routines (you can create a pixmap if you have a GdkColormap but no GdkWindow). - added GdkWindow.depth attribute. pygtk-0.5.9: - Updated for gtk+-1.1.9 pygtk-0.5.8: 10-December-1998 - I made a mistake during building the last package. I ran cvs co pygtk; aclocal; automake --add-missing; autoconf; configure followed by make dist. Unfortunately, since there was no configure file when I ran automake, it didn't get added to the dist list. - Updated the spec files to match new version. pygtk-0.5.7: 9-December-1998 - Updated for gtk+-1.1.6. Probably not much will change between now and 1.2. - Added GtkCTree, GtkLayout, GtkPlug and GtkSocket widgets. - There has been a renaming of a number of commonly used functions. if you use gtk.py, the old names still work, but give a warning. To get a list of the name changes, see the file $(prefix)/include/gtk/gtkcompat.h - signal connection now uses the gtk_signal_connect_full function, rather than relying on the default marshaller. - The append, prepend and insert methods of the toolbar now return the widget that was added, like the C equivalents do. pygtk-0.5.6: 27-November-1998 - Updated for gtk+-1.1.5. - Renamed Gtkinter.py to gtk.py. This follows the naming scheme of other modules more closely, and is easier for people who prefer to use "import ...". It is also not a big change for people who use "from ... import *". I have included a simple Gtkinter.py module for backward compatibility. - Added a private function PyGtk_RegisterBoxed that can be used to add extra boxed types to the list of those registered in the callback marshals and the like. pygtk-0.5.5: 17-November-1998 - Fixed a small bug in GdkImlib that caused a syntax error (I should have picked this up for the last release). - Removed some function wrappers that are not used anywhere, in order to get pygtk to compile cleanly on newer CVS GTK's. - I forgot to include the wrappings for the new GtkCalendar widget in the previous release. It is in this one. pygtk-0.5.4: 15-November-1998 - updated for gtk+-1.1.3 (so you will need glib-1.1.4 as well). This release adds support for the new DnD functions, support for selection (through the gtk_selection_* functions, which I have mapped to GtkWidget.selection_*) and GdkAtoms, and support for GdkCursors. - To create a new cursor, use the cursor_new or cursor_new_from_pixmap function, and then call the GdkWindow.set_cursor method to attach it to a window. - Added create_pixmap_from_xpm_d function that allows you to embed XPM data into your program for easier distribution. - Updated the GdkImlib module to the features found in imlib-1.8. - Changed the build system, so SWIG is no longer needed. Also now using a modified version of automake to generate the makefiles. - Updated the pyglade code to handle menus and the like. pygtk-0.5.3: 27-September-1998 - Updated for GTK+-1.1.2 (note that this version of gtk requires glib-1.1.3). This version adds the support for the tearoff menus and keyboard navigation of menus (if you use item factory). - This is the version of pygtk you will need for the pygnome wrapper for gnome v0.30 (when I finish writing them). - added events_pending function. Now you can use code like: while events_pending(): mainiteration() to be sure that a scrollbar has been updated. - I have updated the examples/neil/*.py examples to use the GtkItemFactory class. This shows how to make keyboard navigable menus. - Fixed a typo in GtkWindow.set_focus - Fixed signal handler wrapper, so that handlers that return GtkObject classes get the return type converted back to the lower level GtkObjects. Also fixed _gtkbasemodule.c, so that return values from signals get returned to GTK properly. These fixes should allow people to use the GnomeMDI wrappers in pygnome if you change there signal definitions to use GTK_TYPE_OBJECT rather than GTK_TYPE_POINTER (I will ask the author to make this change). pygtk-0.5.2: 31-August-1998 - fixed the ancestory for the GtkScrolledWindow class, fixed the GtkPreview constructor. Fixed some more spots in _gtkmodule.i where I'd used int types instead of the correct enumeration. - added the pyglade package. This will allow you to put a bit of code behind interfaces built with GLADE, which can be found at http://www.comp.lancs.ac.uk/~damon/builder/index.html In my current code, I have implemented most widgets on the palette, although the .glade file reader is a bit fragile. Note that this package is not a code generator (yet). It reads the interface description and builds the interface at runtime. This way you can keep the interface separate from the implementation. For an example of use, check the examples/glade directory. - Added support for the GtkItemFactory. Still no support for the GtkCTree -- even if I did put in support for it, the signal definitions define the GtkCTreeNode's as pointers, making it almost useless. pygtk-0.5.1: 19-August-1998 - fix a small bug in configure script that prevented building. pygtk-0.5.0: 18-August-1998 - Updated for GTK+-1.1.1 - Replaced GtkAcceleratorTable with GtkAccelGroup. - Made use of the GtkFlagInfo and GtkEnumInfo structures. You can now specify enum values by a string as well as by a number. Flag values can be given as strings, or as a tuple of strings or numbers that are ORed together. - Added GtkAccelLabel, GtkFontSelection, GtkFontSelectionDialog, GtkPacker and GtkProgress widgets. Also updated the methods on all the other objects. I haven't yet done GtkCTree or GtkItemFactory. - Fixed the gtk_widget_size_request wrapper - it now returns the size requisition as a (w,h) tuple. - I have split gtkmodule into _gtkbasemodule and _gtkmodule. The code in _gtkbase is no longer generated. I have gone through and removed uneeded code put in by swig. This reduced the size of that piece of source by 25%. Hopefuly this will speed up some of the core functions a bit. If you use Gtkinter, this change is invisible. If you use gtkmodule directly, change: from gtk import * to from _gtkbase import * from _gtk import * pygtk_init() The pygtk_init function is part of the _gtk module, and is called to tell it about all the types in _gtkbase. (it should be called by the module's init routine, but I can't find out how to make that happen. - Updated the Gtkinter.new command. Now widget arguments don't get the widget name prepended, so I have changed the function from accepting the arguments as a dictionary to accepting them as keyword arguments. (eg you can do new(GtkWindow, title="title", allow_shrink=FALSE)). On a side note, the GTK_IS_*() functions have been removed from gtkmodule and added in gtk_*_get_type() functions. You can get the functionality of the removed functions with something like GTK_CHECK_TYPE(obj, gtk_*_get_type()). pygtk-0.4.5: 5-August-1998 - This may be the last gtk v1.0 release of pygtk. If you have anymore nagging bugs, tell me now, or they won't be fixed in a version that can compile for gtk v1.0 (I will be moving to gtk v1.1) - Fixed some small bugs which I got bug reports about, but forgot to patch (in draw_polygon, GtkDrawingArea.draw_polygon and load_fontset) Also added the font argument to draw_string,draw_text. This was what was causing those problems. - Now gtk_set_locale is called when Gtkinter is loaded. This will make pygtk more useful for languages with non-latin character sets (eg Japanese). - Fixed up new_gc, so that if you don't pass it any arguments, it doesn't cause your program to segfault. - Made GtkObject.connect and GtkObject.connect_after var arg functions. Any extra arguments passed will be added to the argument list for the signal handler. - Added some attributes to the GdkFont object. You can now access the ascent and descent attributes, and call the width and measure methods, which both take a string as an argument. pygtk-0.4.4: 17-June-1998 - Updated for gtk+-1.0.4, although it will work with gtk+-1.0.2 (No new features were added between these releases). - Fixed the date on the last changelog entry :( - Added the file description.py. It contains a breif description of some of the objects used in Gtkinter, such as GtkStyle's, GdkColors, GdkGC's and so on. It is structured as a python module, but is not intended to be imported. It can be used as a small reference. - Added variable GtkCList.selection, and method GtkCList.get_selection_info. These should help using clists, and help trap double clicks in a clist, since you can now do something like this: row, col = clist.get_selection_info(event.x, event.y) in a signal handler (maybe button_press). - Changed the GdkWindow destroy function to call gdk_pixmap_unref, if the window was a pixmap. This gets rid of the annoying warning when you close scribble.py. - pointer types and unknown boxed types are now passed as Python C objects in signal handlers. This is so wrappers for add on widgets that use pointer arguments can write code to convert the pointers to a more usable format. - Changed the behaviour of the PyObject -> GtkArg routines so that that they use python's conversion routines. Now you can pass a class instance which has a __int__ method in place of an integer in those routines (it implicitly uses int(o) on the instance). - Added method GtkObject.emit, which acts like gtk_signal_emit. Now widget.show() and widget.emit('show') are equivalent (although the first is faster). Now you should be able to use rulers properly. The specification is GtkObject.emit(signal_name, arg1, ...). It returns whatever the signal handler was supposed to. The rulers example in the testgtk.py program has been fixed, and gives an example of the GtkObject.emit method. - Added test of statusbar in testgtk.py. (The code was submited by Andrew Kuchling ) - Fixed hude memory leak in GdkEvent initialisation -- when adding items to a dictionary with PyDict_SetItemString, the third argument is INCREF'd. I was forgetting to DECREF it after finishing with it. - Added method GdkWindow.new_gc. It takes keyword arguments with names matching the fields of the structure GdkGCValues, defined in gdk/gdktypes.h. It creates a gc for that window with the given attributes. Also, the GdkGC type now has the same attributes as the GdkGCValues structure, and they can be read and set. - Added a wrapper for the GdkColormap type. It can be accessed as a sequence (eg len(cmap), a = cmap[42], print cmap[:10]). The sequence items are colours. Also, the GtkStyle and GdkWindow types now also have the attribute colormap, which can be used for accessing the colormap. Also, the GdkColor type now has the attributes red, green, blue and pixel. The colormap also has a single method -- GdkColormap.alloc. It can either be called with a string argument (a colour name), or three integers (RGB components). It does the same thing as the function color_alloc (in fact, color_alloc is now implemented using it). pygtk-0.4.3: 7-May-1998 - Updated for gtk+-1.0.1. This version of pygtk will not work with earlier versions. (You should upgrade anyway, since this version plugs some security holes and memory leaks). - Updated the GdkImlib module to take advntage of new features found in Imlib 1.3. You can now save images into just about any format. - Added the types GdkWindow and GdkGC. Also changed some of the functions like gtk_widget_shape_combine_mask to take their correct arguments. This will not break any code written with Gtkinter, as I have put in backward compatibility. However, if you used any of these functions in code that directly accessed the gtk module, you may have to recode some of your work. I have updated some of the testgtk.py examples. You will notice that the toolbar example loads quicker, since the test.xpm is only read off disk once. - Added the gdk_draw_* functions, and wrote wrappers for them as methods of the GtkDrawingArea class. See examples/simple/scribble.py for an example of using pixmaps and the drawing area. pygtk-0.4.2: 22-April-1998 - Updated for gtk+-1.0.0. Since there have been no API changes between 0.99.10 and 1.0.0, it should work with that version as well. - Updated the configure script. It now uses the gtk-config script to work out the cflags and libraries for GTK. If gtk-config is not on the path, you can pass configure an argument something like --with-gtk-config=/subdir/gtk-config. - You can now specify the path name for the python executable (if it isn't on the path) with the --with-python=/subdir/python argument. - There is now a 'make install' option. It should work with both python 1.4 and 1.5.x. It defaults to installing scripts the $(prefix)/lib/site-python, with $(prefix)/lib/python$(version) as a backup, and shared modules in $(prefix)/lib/python$(version) /site-packages with $(prefix)/lib/python$(version)/lib-dynload and $(prefix)/lib/python$(version)/sharedmodules as backup locations. It also checks that the directory is in python's search path before making the choice. If you have installed previous versions of pygtk, it is probably a good idea to remove those files before running 'make install', as the locations chosen by this routine may be different from where you installed previous versions. - Changed the gtk_init function slightly, so it doesn't immediately call the gtk_*get_type functions, instead deferring this till the first call to gtk_object_new. This shouldn't affect anyone's programs, other than making loading slightly quicker. - Also added support for return types for signals (this only breaks compatibility if your handlers didn't return None or 0 or whatever). You should now be able to do things like returning TRUE from a delete_event signal handler to prevent a window being destroyed. - Added some functions for GtkCurve's and GtkPreview's that were previously missing. - Fixed some of the typemap stuff. GtkAspectFrame, GtkToolQuery and GtkCList.get_row_data now work properly. Also fixed a few similar problems in GdkImlib. pygtk-0.4.1: 6-April-1998 - This archive is slightly smaller than the previous version, because I accidently included some unneeded files. (The package isn't missing anything that is required). - Updated for gtk+-0.99.9. Note that the previous version of pygtk works fine with 0.99.9, so this release is mainly new features. - There is now a mailing list for pygtk. To subscribe, send mail to pygtk-request@daa.com.au, with the word subscribe in the body. There is also a web site at http://www.daa.com.au/~james/pygtk/, although it isn't very interesting yet. - updated the examples/ide/gtkcons.py to take advantage of word wrapping in the text widget. - Added a function to export the Python types used in Gtkinter, so other python bindings (such as the imlib one) can use them. (It should be possible to do gnome bindings -- I will look at that in a little while). - Added support for gdk_imlib. Note that this does not change what libraries are required to build Gtkinter. If you don't have gdk_imlib, the configure script will notice, and decide not to build support for it. If you have gdk_imlib, and don't want to build it, you can pass configure the argument --without-imlib. - Added the directory examples/imlib, and a simple multi format image viewer called examples/imlib/view.py. This example requires the imlib bindings to have been built. pygtk-0.4.0: 23-Mar-1998 - Updated for gtk+-0.99.8, so won't work with older versions (although your old pygtk programs will still work). - Added support quit handlers and input handlers. - Fixed a long standing bug in idle/timeout/quit function reactivation. Before, in order for an idle or timeout function to be reactivated, it needed to call idle_add or timeout_add again. Now they just have to return TRUE (like in C). This simplifies these functions substantially. The old behaviour still works. If you are using gtk+-0.99.7, you will find that timeout handlers don't work. This is caused by a bug in GTK, which was fixed in gtk+-0.99.8. - Found that GtkPixamp.__init__, GtkCList.set_pixtmap and GtkCList. set_pixtext all kept references to the pixmaps when they shouldn't. This is now fixed. - Added the module GtkExtra, which contains some convenience routines for writing pygtk programs. It includes an implementation of the menu factory (allows creation of arbitrary sized menus with about four function calls), and single function call interfaces for handling message boxes, file selection dialogs and input boxes. - Added the module GDK.py, that contains relevant constants from GDK. It is automatically imported by Gtkinter, so it is possible to do things like widget.set_events(GDK.ALL_EVENTS_MASK) - Added a crude integrated development environment (pyide.py) that pulls together the debugger, profiler, console and editor examples in the examples/ide directory. - Added a function colour_alloc (or color_alloc) that can be used to allocate new colours for use in the text widget and others. - Added the drag and drop functions (finally). Check the example in testgtk.py for the details. - Added GtkWidget.shape_combine_mask, which takes a pixmap as its first argument, and uses its mask as the shape mask. - Added the GtkCList.{set,get}_row_data functions. pygtk-0.3.0: 10-Mar-1998 - Updated for gtk+-0.99.4. This means that it will not compile properly with previous versions. These incompatibilities are justified since according to the authors of gtk, gtk+-0.99.4 is very close to what 1.0.0 will look like. - Joined the reference counting revolution :) This doesn't affect anyone's programs, since reference counting (like type casting) is handled automatically by pygtk. - Check out the examples/ide directory. It contains a Gtkinter front end to the python debugger and profiler and also a graphical python console (which now works with different fonts and everything. - Added more of the functions I left out from previous versions. I still haven't fiddled round with dnd yet. - Fixed the gtk_object_get function (I had an '=' instead of a '=='). You can now use Gtkinter objects as dictionaries. An example is >>> win = GtkWindow(WINDOW_TOPLEVEL) >>> # next line is equivalent to win['GtkWindow::title'] = 'a' >>> win.set_title("a") >>> win['GtkWindow::title'] 'a' - Added the object data facility. You can use GtkObject.set_data, get_data and remove_data to manipulate it. - Added gtk_window_set_icon and gtk_window_set_icon_name. They are wrappers for the gdk counterparts. The functions are also exposed in Gtkinter as GtkWindow.set_icon[_name]. The set_icon function takes a GtkPixmap as its argumnet, extracts the GdkPixmap and mask from it and calls gtk_object_sink on the GtkPixmap, in case it never gets packed in another widget. - Similar wrappers are given for GtkCList.set_pixmap and GtkCList.set_pixtext. Once again, you pass a GtkPixmap instead of a GdkPixmap/GdkBitmap pair. pygtk-0.2.0: 12-Feb-1998 - Fixed tooltips properly this time. Now you need to keep a reference to the GtkTooltips object for as long as you want to display those tips. - Added the example examples/testgtk/testgtk.py. This is a translation of the example with the same name that comes with the gtk distribution. The plus side of this is that I found and fixed many bits of pygtk that were either broken or missing. (eg. getting the selection of a list, connecting signals for a toolbar) - Added an example of using trees (examples/ide/browse.py). This one shows how you might set up a file manager where you only create as much of the tree as you are using. - Altered the signal handling behaviour so that the arguments to a signal handler are converted to their Gtkinter equivalents. - Pygtk should be complete enough for writing applications the size of ones you might use guile-gtk for, and as far as I know is the most complete out of the other python-gtk bindings I know of. pygtk-0.1.1: 4-Feb-1998 - I accidentally broke tooltips in the previous version in such a way that you would get a seg fault when creating a GtkTooltips object. This has been fixed. - Added a new example called gtkcons.py. This is a simple interactive Python session in a GTK window. Currently it has some bugs, the most prominent being that the first character of output from a command remains hidden until the next command is executed. It also demonstrates GtkHandleBox's. pygtk-0.1.0: 2-Feb-1998 - Changed the copyright to LGPL. (There is no point in making it more free, since this is the lisence on GTK itself). - Integrated some changes sent in by Neil Schemenauer . (Mainly spelling mistakes in Gtkinter.py, and a number of extra examples). The new examples are TAppli*.py and notebook.py. - Updated package for gtk+-0.99.3. (updates include addition of GtkCList, GtkCombo, GtkHandleBox, GtkStatusbar and GtkToolbar). - Updated the GTK.py, the constants module. - Updated the GtkStyle and GdkEvent types. You can now get the different colours of a style, and you can access the relevant information associated with a given type of GdkEvent. This means that you can now use signals that look at button clicks or key strokes. - Added support for GtkAcceleratorTable and GtkTooltips in Gtkinter.py. The types GdkColor, GdkEvent, GdkFont and GtkStyle don't have wrappers, but are clean enough to be used without any. - Added the GtkText.insert method. There is also a GtkText.insert_defaults that takes a single string argument. pygtk-0.0.2: 21-Jan-1998 - Added file Gtkinter.py. This gives an object oriented interface to gtk accessable from Python. This is still not quite complete. - Added some example programs in the examples directory - Decided to release the code -- I wonder if anyone will use it? pygtk-0.0.1: (never released) - first release - contains basic functionality of gtk through use of SWIG