diff options
author | James Henstridge <james@daa.com.au> | 1999-09-30 04:40:55 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 1999-09-30 04:40:55 +0000 |
commit | acebfab67912ae40c62089a2519d00c4241cbdb6 (patch) | |
tree | 434f612a99d059eda5852437a46b732828555dce /libglademodule.c | |
parent | 4669fcdbc2b1e264d8b5fbe58e4a9c5a34402444 (diff) | |
download | pygtk-PYGTK_0_6_3.tar.gz |
incremented version number.PYGTK_0_6_3GNOME_PYTHON_1_0_50GNOME_PYTHON_1_0_40
1999-09-30 James Henstridge <james@daa.com.au>
* configure.in: incremented version number.
* pygnome/gnome/zvt.py: added extra methods.
* pygnome/generate/zvt.defs: added new ZvtTerm methods.
* pygnome/Makefile.am (EXTRA_DIST): added Vincent's examples to the
distribution list.
1999-09-30 James Henstridge <james@daa.com.au>
* pygtk.spec: updated spec file.
* NEWS: added news items
* configure.in: updated version number.
* libglademodule.c: don't segfault when a widget name does not exist.
Diffstat (limited to 'libglademodule.c')
-rw-r--r-- | libglademodule.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/libglademodule.c b/libglademodule.c index f461048c..293790b9 100644 --- a/libglademodule.c +++ b/libglademodule.c @@ -128,9 +128,81 @@ static PyObject *_wrap_glade_xml_signal_autoconnect(PyObject *self, PyObject *ar return Py_None; } +static PyObject *_wrap_glade_xml_get_widget(PyObject *self, PyObject *args) { + PyObject *xml; + char *name; + GtkWidget *widget; + + if (!PyArg_ParseTuple(args, "O!s:glade_xml_get_widget", + &PyGtk_Type, &xml, &name)) + return NULL; + widget = glade_xml_get_widget(GLADE_XML(PyGtk_Get(xml)), name); + if (widget) + return PyGtk_New((GtkObject *)widget); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *_wrap_glade_xml_get_widget_by_long_name(PyObject *self, PyObject *args) { + PyObject *xml; + char *name; + GtkWidget *widget; + + if (!PyArg_ParseTuple(args, "O!s:glade_xml_get_widget_by_long_name", + &PyGtk_Type, &xml, &name)) + return NULL; + widget = glade_xml_get_widget_by_long_name(GLADE_XML(PyGtk_Get(xml)),name); + if (widget) + return PyGtk_New((GtkObject *)widget); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *_wrap_glade_get_widget_name(PyObject *self, PyObject *args) { + PyObject *wid; + const char *name; + + if (!PyArg_ParseTuple(args, "O!:glade_get_widget_name", &PyGtk_Type, &wid)) + return NULL; + if ((name = glade_get_widget_name(GTK_WIDGET(PyGtk_Get(wid)))) != NULL) + return PyString_FromString(name); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *_wrap_glade_get_widget_long_name(PyObject *self, PyObject *args) { + PyObject *wid; + const char *name; + + if (!PyArg_ParseTuple(args, "O!:glade_get_widget_long_name", + &PyGtk_Type, &wid)) + return NULL; + if ((name = glade_get_widget_long_name(GTK_WIDGET(PyGtk_Get(wid))))!=NULL) + return PyString_FromString(name); + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *_wrap_glade_get_widget_tree(PyObject *self, PyObject *args) { + PyObject *wid; + GladeXML *xml; + + if (!PyArg_ParseTuple(args, "O!:glade_get_widget_tree", &PyGtk_Type, &wid)) + return NULL; + if ((xml = glade_get_widget_tree(GTK_WIDGET(PyGtk_Get(wid))))!=NULL) + return PyGtk_New((GtkObject *)xml); + Py_INCREF(Py_None); + return Py_None; +} + static PyMethodDef libgladeMethods[] = { { "glade_xml_signal_connect", _wrap_glade_xml_signal_connect, 1 }, { "glade_xml_signal_autoconnect", _wrap_glade_xml_signal_autoconnect, 1 }, + { "glade_xml_get_widget", _wrap_glade_xml_get_widget, 1 }, + { "glade_xml_get_widget_by_long_name", _wrap_glade_xml_get_widget_by_long_name, 1 }, + { "glade_get_widget_name", _wrap_glade_get_widget_name, 1 }, + { "glade_get_widget_long_name", _wrap_glade_get_widget_long_name, 1 }, + { "glade_get_widget_tree", _wrap_glade_get_widget_tree, 1 }, #include "libglade_defs.c" { NULL, NULL, 0 } }; |