diff options
| author | Johan Dahlin <johan@src.gnome.org> | 2005-07-08 14:27:30 +0000 |
|---|---|---|
| committer | Johan Dahlin <johan@src.gnome.org> | 2005-07-08 14:27:30 +0000 |
| commit | 6a1807bcce49bf88eb786a78478e7780801c7a36 (patch) | |
| tree | 0dc48567a7cc88c7c93560aabddffc08d028dada /gobject/gobjectmodule.c | |
| parent | 302a0be1855356577a8869c34fa90bface8d4f00 (diff) | |
| download | pygobject-6a1807bcce49bf88eb786a78478e7780801c7a36.tar.gz pygobject-6a1807bcce49bf88eb786a78478e7780801c7a36.tar.xz pygobject-6a1807bcce49bf88eb786a78478e7780801c7a36.zip | |
Add GObject support, patch mostly based on Iņaki and Gustavos work.
* gobject/gobjectmodule.c: (initgobject):
* gobject/pygobject-private.h:
* gobject/pygobject.c: (pyg_props_iter_dealloc),
(pygobject_props_iter_next), (PyGProps_dealloc),
(build_parameter_list), (PyGProps_getattro), (PyGProps_setattro),
(pygobject_props_traverse), (pygobject_props_get_iter),
(PyGProps_length), (pyg_props_descr_descr_get):
* tests/Makefile.am:
Add GObject support, patch mostly based on Iņaki and Gustavos work.
Unittests added, fixes #81879
Diffstat (limited to 'gobject/gobjectmodule.c')
| -rw-r--r-- | gobject/gobjectmodule.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index ad00845..e151306 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -2542,6 +2542,7 @@ DL_EXPORT(void) initgobject(void) { PyObject *m, *d, *o, *tuple; + PyObject *descr; PyGParamSpec_Type.ob_type = &PyType_Type; m = Py_InitModule("gobject", pygobject_functions); @@ -2574,7 +2575,7 @@ initgobject(void) PyGObject_MetaType.tp_is_gc = PyType_Type.tp_is_gc; PyType_Ready(&PyGObject_MetaType); PyDict_SetItemString(d, "GObjectMeta", (PyObject *) &PyGObject_MetaType); - + PyGObject_Type.tp_alloc = PyType_GenericAlloc; PyGObject_Type.tp_new = PyType_GenericNew; pygobject_register_class(d, "GObject", G_TYPE_OBJECT, @@ -2582,6 +2583,16 @@ initgobject(void) PyDict_SetItemString(PyGObject_Type.tp_dict, "__gdoc__", pyg_object_descr_doc_get()); + /* GObject properties descriptor */ + if (PyType_Ready(&PyGProps_Type) < 0) + return; + if (PyType_Ready(&PyGPropsDescr_Type) < 0) + return; + if (PyType_Ready(&PyGPropsIter_Type) < 0) + return; + descr = PyObject_New(PyObject, &PyGPropsDescr_Type); + PyDict_SetItemString(PyGObject_Type.tp_dict, "props", descr); + REGISTER_GTYPE(d, PyGInterface_Type, "GInterface", G_TYPE_INTERFACE); PyDict_SetItemString(PyGInterface_Type.tp_dict, "__doc__", pyg_object_descr_doc_get()); |
