diff options
| author | James Henstridge <james@daa.com.au> | 2002-02-05 07:13:20 +0000 |
|---|---|---|
| committer | James Henstridge <jamesh@src.gnome.org> | 2002-02-05 07:13:20 +0000 |
| commit | a8aff2c7e2887e7b6454b2fb80acac96ad362e59 (patch) | |
| tree | 1ddb8f876ce9b4e905077b609c05129e10846f73 /gobject/gobjectmodule.c | |
| parent | 88c8c2e51fa241063b3b920c52ba8d63334ad142 (diff) | |
| download | pygobject-a8aff2c7e2887e7b6454b2fb80acac96ad362e59.tar.gz pygobject-a8aff2c7e2887e7b6454b2fb80acac96ad362e59.tar.xz pygobject-a8aff2c7e2887e7b6454b2fb80acac96ad362e59.zip | |
register pointer types as well.
2002-02-05 James Henstridge <james@daa.com.au>
* codegen/codegen.py (register_types): register pointer types as
well.
* codegen/argtypes.py (PointerArg): handling for pointer arg
types.
(ArgMatcher.register_pointer): add function to register pointer
types.
* gtk/gtk.override (_wrap_gtk_ctree__get_selection): GtkCTreeNode
is not a boxed type.
(_wrap_gtk_ctree_base_nodes): same.
(_wrap_gtk_ctree_insert_node): same.
(_wrap_gtk_ctree_find_by_row_data): same.
(_wrap_gtk_ctree_find_all_by_row_data): same.
(_wrap_gtk_ctree_node_get_text): same.
(_wrap_gtk_ctree_node_get_pixmap): same.
(_wrap_gtk_ctree_node_get_pixtext): same.
(_wrap_gtk_ctree_get_node_info): same.
(_wrap_gtk_ctree_node_set_row_data): same.
(_wrap_gtk_ctree_node_get_row_data): same here.
(_wrap_gtk_ctree_getattr): same here.
* codegen/codegen.py (write_source): register pointer types as
pointers.
* pango.override (_wrap_pango_font_description_new): ignore some
private (well, pango module API) functions.
* gtk/gtk-types.defs (CTreeNode): make this a pointer type.
* codegen/codegen.py (write_pointer_method): new method to write
methods for GPointer types.
(write_pointer_constructor): new function for writing constructor
for GPointer types.
(write_pointer_getsets): new function for writing getters for
pointer objects (this should be merged with the GObject and GBoxed
versions ...).
(write_pointer): add new function, which calls all the GPointer
related functions.
(write_source): write pointer types.
* gobjectmodule.c (initgobject): actually ready the GPointer type.
* gtk/gtk-types.defs (CTreeNode): get rid of fields here. They
will be covered by the custom getattr() function, so no need to
duplicate.
* codegen/codegen.py (write_boxed_getsets): convert to use getsets
for boxed objects.
(write_boxed): use write_boxed_getsets() to write the getsets,
while allowing boxed objects to specify a getattr() function.
2002-02-04 James Henstridge <james@daa.com.au>
* gobjectmodule.c (initgobject): add GPointer to the module dict.
(pygobject_api_functions): and to the API vtable.
* pygobject.h (pyg_constant_strip_prefix): and add it to the
public header.
* pygobject-private.h (pyg_pointer_new): add stuff to private
header ...
* pygboxed.c (PyGPointer): add code to handle base GPointer type.
* codegen/defsparser.py (DefsParser.__init__): add self.pointers
attribute.
(DefsParser.define_pointer): handle (define-pointer ...).
(DefsParser.write_defs): handle pointer types.
* codegen/definitions.py (PointerDef): new definition type for
G_TYPE_POINTER subclasses.
Diffstat (limited to 'gobject/gobjectmodule.c')
| -rw-r--r-- | gobject/gobjectmodule.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index 7ed3164..5b62189 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -1320,6 +1320,10 @@ struct _PyGObject_Functions pygobject_api_functions = { pyg_register_boxed, pyg_boxed_new, + &PyGPointer_Type, + pyg_register_pointer, + pyg_pointer_new, + pyg_enum_add_constants, pyg_flags_add_constants, @@ -1382,6 +1386,14 @@ initgobject(void) o=pyg_type_wrapper_new(G_TYPE_BOXED)); Py_DECREF(o); + PyGPointer_Type.ob_type = &PyType_Type; + if (PyType_Ready(&PyGPointer_Type)) + return; + PyDict_SetItemString(d, "GPointer", (PyObject *)&PyGPointer_Type); + PyDict_SetItemString(PyGPointer_Type.tp_dict, "__gtype__", + o=pyg_type_wrapper_new(G_TYPE_POINTER)); + Py_DECREF(o); + tuple = Py_BuildValue ("(iii)", glib_major_version, glib_minor_version, glib_micro_version); PyDict_SetItemString(d, "glib_version", tuple); |
