diff options
author | James Henstridge <james@daa.com.au> | 2001-06-30 16:08:22 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2001-06-30 16:08:22 +0000 |
commit | 289ceaccfe23eb17bd02bc5ad55eb3bd4a53033c (patch) | |
tree | 9056fc5c6c7522d3f3b72a11ed847ffd9b9d3a35 /gtk/gtk-types.c | |
parent | 2ae353672ee1ab747dee396c332d2ccce97bd0ec (diff) | |
download | pygtk-289ceaccfe23eb17bd02bc5ad55eb3bd4a53033c.tar.gz |
remove GdkDevice stuff from this file.
2001-06-30 James Henstridge <james@daa.com.au>
* gtk/gtk-types.c: remove GdkDevice stuff from this file.
* gtk/gtk.override: add attribute getters for some GdkDevice
attributes, and overrides for some GdkDevice methods.
(_wrap_gdk_event_getattr): change stuff for GdkDevices, as they
are now GObjects.
* gtk/gdk.defs (Device): add device boxed type here.
Diffstat (limited to 'gtk/gtk-types.c')
-rw-r--r-- | gtk/gtk-types.c | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/gtk/gtk-types.c b/gtk/gtk-types.c index ff65eace..43140bf1 100644 --- a/gtk/gtk-types.c +++ b/gtk/gtk-types.c @@ -95,19 +95,6 @@ PyGtkCTreeNode_New(GtkCTreeNode *node) return (PyObject *)self; } -PyObject * -PyGdkDevice_New(GdkDevice *device) -{ - PyGdkDevice_Object *self; - - self = (PyGdkDevice_Object *)PyObject_NEW(PyGdkDevice_Object, - &PyGdkDevice_Type); - if (self == NULL) - return NULL; - self->obj = device; - return (PyObject *)self; -} - #if 0 typedef struct { PyObject_HEAD @@ -1490,245 +1477,6 @@ PyTypeObject PyGtkCTreeNode_Type = { NULL }; -static void -pygdk_device_dealloc(PyGdkDevice_Object *self) -{ - PyMem_DEL(self); -} - -static int -pygdk_device_compare(PyGdkDevice_Object *self, PyGdkDevice_Object *v) -{ - if (self->obj == v->obj) return 0; - if (self->obj > v->obj) return -1; - return 1; -} - -static long -pygdk_device_hash(PyGdkDevice_Object *self) -{ - return (long)self->obj; -} - -static PyObject * -pygdk_device_set_source(PyGdkDevice_Object *self, PyObject *args) -{ - GdkInputSource source; - - if (!PyArg_ParseTuple(args, "i:GdkDevice.set_source", &source)) - return NULL; - gdk_device_set_source(self->obj, source); - Py_INCREF(Py_None); - return Py_None; -} - -static PyObject * -pygdk_device_set_mode(PyGdkDevice_Object *self, PyObject *args) -{ - GdkInputMode mode; - - if (!PyArg_ParseTuple(args, "i:GdkDevice.set_mode", &mode)) - return NULL; - gdk_device_set_mode(self->obj, mode); - Py_INCREF(Py_None); - return Py_None; -} - -static PyObject * -pygdk_device_set_key(PyGdkDevice_Object *self, PyObject *args) -{ - guint index, keyval; - GdkModifierType modifiers; - - if (!PyArg_ParseTuple(args, "iii:GdkDevice.set_key", &index, &keyval, - &modifiers)) - return NULL; - gdk_device_set_key(self->obj, index, keyval, modifiers); - Py_INCREF(Py_None); - return Py_None; -} - -static PyObject * -pygdk_device_set_axis_use(PyGdkDevice_Object *self, PyObject *args) -{ - guint index; - GdkAxisUse use; - - if (!PyArg_ParseTuple(args, "ii:GdkDevice.set_axis_use", &index, &use)) - return NULL; - gdk_device_set_axis_use(self->obj, index, use); - Py_INCREF(Py_None); - return Py_None; -} - -static PyObject * -pygdk_device_get_state(PyGdkDevice_Object *self, PyObject *args) -{ - PyGObject *window; - gdouble *axes; - GdkModifierType mask; - PyObject *pyaxes; - guint i; - extern PyExtensionClass PyGdkWindow_Type; - - if (!PyArg_ParseTuple(args, "O:GdkDevice.get_state", &window)) - return NULL; - if (!pygobject_check(window, &PyGdkWindow_Type)) { - PyErr_SetString(PyExc_TypeError, "window should be a GdkWindow"); - return NULL; - } - axes = g_new0(gdouble, self->obj->num_axes); - gdk_device_get_state(self->obj, GDK_WINDOW(window->obj), axes, &mask); - pyaxes = PyTuple_New(self->obj->num_axes); - for (i = 0; i < self->obj->num_axes; i++) - PyTuple_SetItem(pyaxes, i, PyFloat_FromDouble(axes[i])); - g_free(axes); - return Py_BuildValue("(Ni)", pyaxes, mask); -} - -static PyObject * -pygdk_device_get_history(PyGdkDevice_Object *self, PyObject *args) -{ - PyGObject *window; - guint start, stop; - GdkTimeCoord **events; - gint n_events; - PyObject *pyevents; - guint i; - extern PyExtensionClass PyGdkWindow_Type; - - if (!PyArg_ParseTuple(args, "Oii:GdkDevice.get_history", &window, - &start, &stop)) - return NULL; - if (!pygobject_check(window, &PyGdkWindow_Type)) { - PyErr_SetString(PyExc_TypeError, "window should be a GdkWindow"); - return NULL; - } - gdk_device_get_history(self->obj, GDK_WINDOW(window->obj), start, stop, - &events, &n_events); - pyevents = PyTuple_New(n_events); - for (i = 0; i < n_events; i++) { - PyObject *axes; - gint j; - - axes = PyTuple_New(self->obj->num_axes); - for (j = 0; j < self->obj->num_axes; j++) - PyTuple_SetItem(axes, j, PyFloat_FromDouble(events[i]->axes[j])); - PyTuple_SetItem(pyevents, i, Py_BuildValue("(iN)", events[i]->time, - axes)); - } - gdk_device_free_history(events, n_events); - return pyevents; -} - -static PyObject * -pygdk_device_get_axis(PyGdkDevice_Object *self, PyObject *args) -{ - PyObject *pyaxes; - gdouble *axes, value; - GdkAxisUse use; - gboolean ret; - gint i; - - if (!PyArg_ParseTuple(args, "Oi:GdkDevice.get_axis", &pyaxes, &use)) - return NULL; - if (!PySequence_Check(pyaxes)) { - PyErr_SetString(PyExc_TypeError, "axes must be a sequence"); - return NULL; - } - if (PySequence_Length(pyaxes) != self->obj->num_axes) { - PyErr_SetString(PyExc_TypeError, "axes has the wrong length"); - return NULL; - } - axes = g_new(gdouble, self->obj->num_axes); - for (i = 0; i < self->obj->num_axes; i++) { - PyObject *item = PySequence_GetItem(pyaxes, i); - - axes[i] = PyFloat_AsDouble(item); - Py_DECREF(item); - if (PyErr_Occurred()) { - g_free(axes); - return NULL; - } - } - ret = gdk_device_get_axis(self->obj, axes, use, &value); - g_free(axes); - if (ret) - return PyFloat_FromDouble(value); - Py_INCREF(Py_None); - return Py_None; -} - -static PyMethodDef pygdk_device_methods[] = { - { "set_source", (PyCFunction)pygdk_device_set_source, METH_VARARGS }, - { "set_mode", (PyCFunction)pygdk_device_set_mode, METH_VARARGS }, - { "set_key", (PyCFunction)pygdk_device_set_key, METH_VARARGS }, - { "set_axis_use", (PyCFunction)pygdk_device_set_axis_use, METH_VARARGS }, - { "get_state", (PyCFunction)pygdk_device_get_state, METH_VARARGS }, - { "get_history", (PyCFunction)pygdk_device_get_history, METH_VARARGS }, - { "get_axis", (PyCFunction)pygdk_device_get_axis, METH_VARARGS }, - { NULL, NULL, 0 } -}; - -static PyObject * -pygdk_device_getattr(PyGdkDevice_Object *self, char *attr) -{ - if (!strcmp(attr, "__members__")) - return Py_BuildValue("[ssssss]", "axes", "has_cursor", "keys", - "mode", "name", "source"); - else if (!strcmp(attr, "name")) - return PyString_FromString(self->obj->name); - else if (!strcmp(attr, "source")) - return PyInt_FromLong(self->obj->source); - else if (!strcmp(attr, "mode")) - return PyInt_FromLong(self->obj->mode); - else if (!strcmp(attr, "axes")) { - PyObject *ret; - gint i; - - ret = PyTuple_New(self->obj->num_axes); - for (i = 0; i < self->obj->num_axes; i++) - PyTuple_SetItem(ret, i, Py_BuildValue("(idd)", - self->obj->axes[i].use, - self->obj->axes[i].min, - self->obj->axes[i].max)); - return ret; - } else if (!strcmp(attr, "keys")) { - PyObject *ret; - gint i; - - ret = PyTuple_New(self->obj->num_keys); - for (i = 0; i < self->obj->num_keys; i++) - PyTuple_SetItem(ret, i, Py_BuildValue("(ii)", - self->obj->keys[i].keyval, - self->obj->keys[i].modifiers)); - return ret; - } - return Py_FindMethod(pygdk_device_methods, (PyObject *)self, attr); -} - -PyTypeObject PyGdkDevice_Type = { - PyObject_HEAD_INIT(NULL) - 0, - "GdkDevice", - sizeof(PyGdkDevice_Object), - 0, - (destructor)pygdk_device_dealloc, - (printfunc)0, - (getattrfunc)pygdk_device_getattr, - (setattrfunc)0, - (cmpfunc)pygdk_device_compare, - (reprfunc)0, - 0, - 0, - 0, - (hashfunc)pygdk_device_hash, - (ternaryfunc)0, - (reprfunc)0, - 0L,0L,0L,0L, - NULL -}; - PyObject * pygtk_tree_path_to_pyobject(GtkTreePath *path) { @@ -1813,7 +1561,6 @@ _pygtk_register_boxed_types(PyObject *moddict) #endif register_tp(GdkAtom); register_tp(GtkCTreeNode); - register_tp(GdkDevice); pyg_boxed_register(GTK_TYPE_TREE_PATH, PyGtkTreePath_from_value, PyGtkTreePath_to_value); |