changeset 18724:bfa12b00f54b

Export gnt_widget_get_size for pygnt. I tried to export _register_action, but it doesn't work.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 30 Jul 2007 20:24:04 +0000
parents 401c53d7702c
children 1aeda1e812a8
files finch/libgnt/pygnt/Makefile.am finch/libgnt/pygnt/gnt.override finch/libgnt/pygnt/gntwidget.override
diffstat 3 files changed, 67 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/finch/libgnt/pygnt/Makefile.am	Sun Jul 29 19:00:49 2007 +0000
+++ b/finch/libgnt/pygnt/Makefile.am	Mon Jul 30 20:24:04 2007 +0000
@@ -9,7 +9,8 @@
 	gnt.override \
 	gntbox.override \
 	gntfilesel.override \
-	gnttree.override
+	gnttree.override \
+	gntwidget.override
 
 gnt_la_SOURCES = gnt.c common.c common.h gntmodule.c
 
--- a/finch/libgnt/pygnt/gnt.override	Sun Jul 29 19:00:49 2007 +0000
+++ b/finch/libgnt/pygnt/gnt.override	Mon Jul 30 20:24:04 2007 +0000
@@ -32,6 +32,7 @@
  gntbox.override
  gntfilesel.override
  gnttree.override
+ gntwidget.override
 %%
 modulename gnt
 %%
@@ -92,4 +93,32 @@
 
 	return list;
 }
+%%
+override gnt_register_action
+static GHashTable *actions;
 
+
+
+static PyObject *
+_wrap_gnt_register_action(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+	static char *kwlist[] = {"name", "callback", NULL};
+	PyGObject *callback;
+	GClosure *closure;
+	char *name;
+
+	if (!PyArg_ParseTuple(args, "sO:gnt.gnt_register_action", &name, &callback)) {
+		return NULL;
+	}
+
+	if (!PyCallable_Check(callback)) {
+		PyErr_SetString(PyExc_TypeError, "the callback must be callable ... doh!");
+		return NULL;
+	}
+
+	gnt_register_action(name, callback->obj);
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/finch/libgnt/pygnt/gntwidget.override	Mon Jul 30 20:24:04 2007 +0000
@@ -0,0 +1,36 @@
+/**
+ * pygnt- Python bindings for the GNT toolkit.
+ * Copyright (C) 2007 Sadrul Habib Chowdhury <sadrul@pidgin.im>
+ *
+ *   gntwidget.override: overrides for generic widgets.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+%%
+override gnt_widget_get_size args
+static PyObject *
+_wrap_gnt_widget_get_size(PyGObject *self)
+{
+    PyObject *list = PyList_New(0);
+    int x = 0, y = 0;
+
+    gnt_widget_get_size(GNT_WIDGET(self->obj), &x, &y);
+    PyList_Append(list, PyInt_FromLong((long)x));
+    PyList_Append(list, PyInt_FromLong((long)y));
+
+    return list;
+}
+