From 8235cd38bf3d65f1f26db7236bb05568d56605ba Mon Sep 17 00:00:00 2001 From: Sayamindu Dasgupta Date: Fri, 03 Jul 2009 12:06:36 +0000 Subject: Wrap xkl_engine_filter_events --- diff --git a/xklavier/xklavier.override b/xklavier/xklavier.override index 592a953..1edead0 100644 --- a/xklavier/xklavier.override +++ b/xklavier/xklavier.override @@ -86,7 +86,6 @@ ignore-glob *_get_type %% ignore - xkl_engine_filter_events xkl_engine_get_current_window xkl_engine_get_window_title xkl_engine_get_state @@ -181,6 +180,37 @@ _wrap_xkl_engine_get_current_state(PyGObject *self) return Py_BuildValue("{s:i,s:i}", "group", state->group, "indicators", state->indicators); } %% +override xkl_engine_filter_events kwargs +static PyObject * +_wrap_xkl_engine_filter_events(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + static char* kwlist[] = { "evt", NULL }; + + PyGObject *py_evt; + GdkEvent *evt = NULL; + XEvent *xevent; + gint ret; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, + "O:xklavier.Engine.filter_events", + kwlist, &py_evt)) + return NULL; + + + if (pyg_boxed_check(py_evt, GDK_TYPE_EVENT)) + evt = pyg_boxed_get(py_evt, GdkEvent); + else { + PyErr_SetString(PyExc_TypeError, "event should be a GdkEvent"); + return NULL; + } + + xevent = (XEvent *) evt; + + ret = xkl_engine_filter_events(XKL_ENGINE(self->obj), xevent); + + return Py_BuildValue("i", ret); +} +%% override xkl_config_registry_foreach_model kwargs static PyObject * _wrap_xkl_config_registry_foreach_model(PyGObject *self, PyObject *args, PyObject *kwargs) -- cgit v0.9.1