2004-07-19 Johan Dahlin <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* tests/enum.py: add, forgot it in last commit
* gobject/: Move gobject source files in here.
2004-07-17 Gustavo J. A. M. Carneiro <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* gtk/gtkwindow.override (set_geometry_hints) Fix arg format string.
Fixes #147458. Thanks to Theo Reed.
2004-07-10 Johan Dahlin <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* gtk/gtktreeview.override (_wrap_gtk_tree_model_rows_reordered)
Allow None, () or "" for top level path.
2004-07-04 Gustavo J. A. M. Carneiro <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* tests directory: unit tests
2004-07-04 Gustavo J. A. M. Carneiro <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* gtk/gdk.defs: Add gdk_pixbuf_new_subpixbuf.
2004-07-03 Gustavo J. A. M. Carneiro <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* gtk/gtk.override (_wrap_gtk_accel_groups_from_object): For Kiko.
2004-06-11 Johan Dahlin <
[email protected]>
* gtk/gdk.override (pygdk_filter_func_marshal): Return a
GdkEventType and not a PyObject. Fixes bug 143420 (Tim Evans).
2004-06-09 John Finlay <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* gtk/gdk.override (_wrap_gdk_event_tp_setattr): Add
GDK_PROPERTY_NOTIFY attributes.
2004-06-04 Johan Dahlin <
[email protected]>
* gobjectmodule.c (pyg_param_spec_getattr): Add support for
paramspec.default_value for GParamSpec types that support it
2004-06-04 Lorenzo Gil Sanchez <
[email protected]>
* gobjectmodule.c (initgobject): added gobject.TYPE_UNICHAR
2004-06-04 Johan Dahlin <
[email protected]>
* 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 <
[email protected]>
* gtk/gtktreeview.override (_wrap_gtk_tree_store_reorder) Fix
bug I inserted in check for GtkTreeIter.
2004-05-29 John Finlay <
[email protected]>
* gtk/gtktreeview.override
(_wrap_gtk_tree_view_set_column_drag_function) Add. Fixes #127504.
2004-05-28 John Finlay <
[email protected]>
* 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 <
[email protected]>
* examples/gtk/uimanager.py: Add a toolbar and fix shortcuts.
2004-05-27 John Finlay <
[email protected]>
* 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 <
[email protected]>
* examples/gtk/filechooser.py Fix bug #140946.
2004-05-24 John Finlay <
[email protected]>
* 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 <
[email protected]>
* 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 <
[email protected]>
* NEWS: Don't lie about the release date.
* configure.in: post release version bump
=== PyGtk 2.3.92 ===
2004-05-22 Johan Dahlin <
[email protected]>
* NEWS: Update