summaryrefslogtreecommitdiff
path: root/libglademodule.c
diff options
context:
space:
mode:
authorJames Henstridge <james@daa.com.au>1999-09-30 04:40:55 +0000
committerJames Henstridge <jamesh@src.gnome.org>1999-09-30 04:40:55 +0000
commitacebfab67912ae40c62089a2519d00c4241cbdb6 (patch)
tree434f612a99d059eda5852437a46b732828555dce /libglademodule.c
parent4669fcdbc2b1e264d8b5fbe58e4a9c5a34402444 (diff)
downloadpygtk-PYGTK_0_6_3.tar.gz
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.c72
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 }
};