Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/_sugarext.override
diff options
context:
space:
mode:
authorsimpoir <simpoir@Bob.(none)>2009-01-30 04:14:48 (GMT)
committer simpoir <simpoir@Bob.(none)>2009-01-30 04:14:48 (GMT)
commiteaef567cabc5c0dda9706faa0e17e20909131ade (patch)
tree70c06b03713b88c5141ef21bcc155cd3dfe0dc92 /src/sugar/_sugarext.override
ajout initial du tree jhbuild [jhbuild base]
Diffstat (limited to 'src/sugar/_sugarext.override')
-rw-r--r--src/sugar/_sugarext.override81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/sugar/_sugarext.override b/src/sugar/_sugarext.override
new file mode 100644
index 0000000..6b768bb
--- /dev/null
+++ b/src/sugar/_sugarext.override
@@ -0,0 +1,81 @@
+/* -*- Mode: C; c-basic-offset: 4 -*- */
+%%
+headers
+#include <Python.h>
+
+#include "pygobject.h"
+#include "sugar-address-entry.h"
+#include "sugar-grid.h"
+#include "sugar-key-grabber.h"
+#include "sugar-menu.h"
+#include "sexy-icon-entry.h"
+#include "gsm-session.h"
+#include "gsm-xsmp.h"
+#include "acme-volume-alsa.h"
+
+#include "eggsmclient.h"
+#include "eggsmclient-private.h"
+
+#include <pygtk/pygtk.h>
+#include <glib.h>
+
+%%
+modulename sugar._sugarext
+%%
+import gobject.GObject as PyGObject_Type
+import gtk.Widget as PyGtkWidget_Type
+import gtk.Entry as PyGtkEntry_Type
+import gtk.Menu as PyGtkMenu_Type
+import gtk.Container as PyGtkContainer_Type
+import gtk.gdk.Window as PyGdkWindow_Type
+import gtk.Image as PyGtkImage_Type
+%%
+ignore-glob
+ *_get_type
+ _*
+%%
+override sugar_key_grabber_grab_keys kwargs
+static PyObject *
+_wrap_sugar_key_grabber_grab_keys(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "key", NULL };
+ PyObject *py_keys;
+ char **keys;
+ int i, len;
+
+ if (!PyArg_ParseTupleAndKeywords(args,kwargs,
+ "O:SugarKeyGrabber.grab_keys",
+ kwlist, &py_keys))
+ return NULL;
+
+ if (!PySequence_Check(py_keys) || (len = PySequence_Size(py_keys)) < 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "keys should be a sequence of strings");
+ return NULL;
+ }
+
+ keys = g_new(char*, len + 1);
+ for (i = 0; i < len; i++) {
+ PyObject *item = PySequence_GetItem(py_keys, i);
+ if (!item) {
+ g_free(keys);
+ return NULL;
+ }
+ if (!PyString_Check(item)) {
+ PyErr_SetString(PyExc_TypeError, "key must be a string");
+ g_free(keys);
+ Py_DECREF(item);
+ return NULL;
+ }
+ keys[i] = PyString_AsString(item);
+ Py_DECREF(item);
+ }
+ keys[len] = NULL;
+
+ sugar_key_grabber_grab_keys (SUGAR_KEY_GRABBER(self->obj), (const char**) keys);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+%%