summaryrefslogtreecommitdiff
path: root/gtk/gtkclist.override
diff options
context:
space:
mode:
authorJohan Dahlin <zilch@src.gnome.org>2003-06-06 00:09:47 +0000
committerJohan Dahlin <zilch@src.gnome.org>2003-06-06 00:09:47 +0000
commit16b425f89526b4eda653d75c1a9a461444dd1adc (patch)
treebe66756b5897de88369d6aeaef831bf1b49750a3 /gtk/gtkclist.override
parent80e0750d929fcaac005ed159046b056247facfcf (diff)
downloadpygtk-16b425f89526b4eda653d75c1a9a461444dd1adc.tar.gz
New files, splitted out from gtk.override
* gtk/gtk*.override: New files, splitted out from gtk.override * gtk/Makefile.am (EXTRA_DIST): Add *.override here * codegen/override.py (Overrides.__parse_override): Added "include" keyword, to be able to include files in override files
Diffstat (limited to 'gtk/gtkclist.override')
-rw-r--r--gtk/gtkclist.override334
1 files changed, 334 insertions, 0 deletions
diff --git a/gtk/gtkclist.override b/gtk/gtkclist.override
new file mode 100644
index 00000000..2a1da295
--- /dev/null
+++ b/gtk/gtkclist.override
@@ -0,0 +1,334 @@
+%%
+ignore
+ gtk_clist_new
+ gtk_clist_set_row_data_full
+%%
+override gtk_clist_new_with_titles kwargs
+static int
+_wrap_gtk_clist_new_with_titles(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "count", "titles", NULL };
+ int count = 1, i;
+ PyObject *py_list = NULL;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|iO:GtkCList.__init__",
+ kwlist, &count, &py_list))
+ return -1;
+ if (py_list) {
+ gchar **list;
+
+ if (!PySequence_Check(py_list)) {
+ PyErr_SetString(PyExc_TypeError,"2nd argument not a sequence");
+ return -1;
+ }
+ if (PySequence_Length(py_list) < count) {
+ PyErr_SetString(PyExc_TypeError, "sequence not long enough");
+ return -1;
+ }
+ list = g_new(gchar *, count);
+ for (i = 0; i < count; i++) {
+ PyObject *item = PySequence_GetItem(py_list, i);
+
+ Py_DECREF(item); /* PySequence_GetItem INCREF's */
+ if (!PyString_Check(item) && !PyUnicode_Check(item)) {
+ PyErr_SetString(PyExc_TypeError,
+ "sequence item not a string or unicode object");
+ g_free(list);
+ return -1;
+ }
+ list[i] = PyString_AsString(item);
+ }
+ self->obj = (GObject *)gtk_clist_new_with_titles(count, list);
+ g_free(list);
+ } else
+ self->obj = (GObject *)gtk_clist_new(count);
+ if (!self->obj) {
+ PyErr_SetString(PyExc_RuntimeError,"could not create GtkCList object");
+ return -1;
+ }
+ pygobject_register_wrapper((PyObject *)self);
+ return 0;
+}
+%%
+override gtk_clist_get_text kwargs
+static PyObject *
+_wrap_gtk_clist_get_text(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "row", "column", NULL };
+ int r, c;
+ char *text = NULL;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GtkCList.get_text",
+ kwlist, &r, &c))
+ return NULL;
+ if (!gtk_clist_get_text(GTK_CLIST(self->obj), r, c, &text) || text==NULL) {
+ PyErr_SetString(PyExc_ValueError, "can't get text value");
+ return NULL;
+ }
+ return PyString_FromString(text);
+}
+%%
+override gtk_clist_get_pixmap kwargs
+static PyObject *
+_wrap_gtk_clist_get_pixmap(PyGObject *self, PyObject *args, PyObject*kwargs)
+{
+ static char *kwlist[] = { "row", "column", NULL };
+ int r, c;
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GtkCList.get_pixmap",
+ kwlist, &r, &c))
+ return NULL;
+ if (!gtk_clist_get_pixmap(GTK_CLIST(self->obj), r, c,
+ &pixmap, &mask)) {
+ PyErr_SetString(PyExc_ValueError, "can't get pixmap value");
+ return NULL;
+ }
+ return Py_BuildValue("(NN)", pygobject_new((GObject *)pixmap),
+ pygobject_new((GObject *)mask));
+}
+%%
+override gtk_clist_get_pixtext kwargs
+static PyObject *
+_wrap_gtk_clist_get_pixtext(PyGObject *self, PyObject *args, PyObject*kwargs)
+{
+ static char *kwlist[] = { "row", "column", NULL };
+ int r, c;
+ gchar *text;
+ guint8 spacing;
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GtkCList.get_pixtext",
+ kwlist, &r, &c))
+ return NULL;
+ if (!gtk_clist_get_pixtext(GTK_CLIST(self->obj), r, c,
+ &text, &spacing, &pixmap, &mask)) {
+ PyErr_SetString(PyExc_ValueError, "can't get pixtext value");
+ return NULL;
+ }
+ return Py_BuildValue("(ziNN)", text, (gint)spacing,
+ pygobject_new((GObject *)pixmap),
+ pygobject_new((GObject *)mask));
+}
+%%
+override gtk_clist_prepend kwargs
+static PyObject *
+_wrap_gtk_clist_prepend(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "text", NULL };
+ int col, i;
+ PyObject *py_list;
+ gchar **list;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GtkCList.prepend",
+ kwlist, &py_list))
+ return NULL;
+ if (!PySequence_Check(py_list)) {
+ PyErr_SetString(PyExc_TypeError, "argument not a sequence");
+ return NULL;
+ }
+ col = GTK_CLIST(self->obj)->columns;
+ if (PySequence_Length(py_list) < col) {
+ PyErr_SetString(PyExc_TypeError, "sequnce too short");
+ return NULL;
+ }
+ list = g_new(gchar *, col);
+ for (i = 0; i < col; i++) {
+ PyObject *item = PySequence_GetItem(py_list, i);
+
+ Py_DECREF(item);
+ if (!PyString_Check(item) && !PyUnicode_Check(item)) {
+ PyErr_SetString(PyExc_TypeError,
+ "sequence item not a string or unicode object");
+ g_free(list);
+ return NULL;
+ }
+ list[i] = PyString_AsString(item);
+ }
+ i = gtk_clist_prepend(GTK_CLIST(self->obj), list);
+ g_free(list);
+ return PyInt_FromLong(i);
+}
+%%
+override gtk_clist_append kwargs
+static PyObject *
+_wrap_gtk_clist_append(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "text", NULL };
+ int col, i;
+ PyObject *py_list;
+ gchar **list;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GtkCList.append",
+ kwlist, &py_list))
+ return NULL;
+ if (!PySequence_Check(py_list)) {
+ PyErr_SetString(PyExc_TypeError, "argument not a sequence");
+ return NULL;
+ }
+ col = GTK_CLIST(self->obj)->columns;
+ if (PySequence_Length(py_list) < col) {
+ PyErr_SetString(PyExc_TypeError, "sequnce too short");
+ return NULL;
+ }
+ list = g_new(gchar *, col);
+ for (i = 0; i < col; i++) {
+ PyObject *item = PySequence_GetItem(py_list, i);
+
+ Py_DECREF(item);
+ if (!PyString_Check(item) && !PyUnicode_Check(item)) {
+ PyErr_SetString(PyExc_TypeError,
+ "sequence item not a string or unicode object");
+ g_free(list);
+ return NULL;
+ }
+ list[i] = PyString_AsString(item);
+ }
+ i = gtk_clist_append(GTK_CLIST(self->obj), list);
+ g_free(list);
+ return PyInt_FromLong(i);
+}
+%%
+override gtk_clist_insert kwargs
+static PyObject *
+_wrap_gtk_clist_insert(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "row", "text", NULL };
+ int col, row, i;
+ PyObject *py_list;
+ gchar **list;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO:GtkCList.insert",
+ kwlist, &row, &py_list))
+ return NULL;
+ if (!PySequence_Check(py_list)) {
+ PyErr_SetString(PyExc_TypeError, "argument not a sequence");
+ return NULL;
+ }
+ col = GTK_CLIST(self->obj)->columns;
+ if (PySequence_Length(py_list) < col) {
+ PyErr_SetString(PyExc_TypeError, "sequnce too short");
+ return NULL;
+ }
+ list = g_new(gchar *, col);
+ for (i = 0; i < col; i++) {
+ PyObject *item = PySequence_GetItem(py_list, i);
+
+ Py_DECREF(item);
+ if (!PyString_Check(item) && !PyUnicode_Check(item)) {
+ PyErr_SetString(PyExc_TypeError,
+ "sequence item not a string or unicode object");
+ g_free(list);
+ return NULL;
+ }
+ list[i] = PyString_AsString(item);
+ }
+ i = gtk_clist_insert(GTK_CLIST(self->obj), row, list);
+ g_free(list);
+ return PyInt_FromLong(i);
+}
+%%
+override gtk_clist_set_row_data kwargs
+static PyObject *
+_wrap_gtk_clist_set_row_data(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "row", "data", NULL };
+ int row;
+ PyObject *data;
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO:GtkCList.set_row_data",
+ kwlist, &row, &data))
+ return NULL;
+ Py_INCREF(data);
+ gtk_clist_set_row_data_full(GTK_CLIST(self->obj), row, data,
+ (GtkDestroyNotify)pyg_destroy_notify);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+%%
+override gtk_clist_get_row_data kwargs
+static PyObject *
+_wrap_gtk_clist_get_row_data(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "row", NULL };
+ PyObject *ret;
+ int row;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:GtkCList.get_row_data",
+ kwlist, &row))
+ return NULL;
+ ret = gtk_clist_get_row_data(GTK_CLIST(self->obj), row);
+ if (!ret) ret = Py_None;
+ Py_INCREF(ret);
+ return ret;
+}
+%%
+override gtk_clist_find_row_from_data kwargs
+static PyObject *
+_wrap_gtk_clist_find_row_from_data(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "data", NULL };
+ PyObject *data;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "O:GtkCList.find_row_from_data", kwlist,
+ &data))
+ return NULL;
+ return PyInt_FromLong(gtk_clist_find_row_from_data(
+ GTK_CLIST(self->obj), data));
+}
+%%
+override gtk_clist_get_selection_info kwargs
+static PyObject *
+_wrap_gtk_clist_get_selection_info(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "x", "y", NULL };
+ gint x, y, row, column;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "ii:GtkCList.get_selection_info", kwlist,
+ &x, &y))
+ return NULL;
+ if (gtk_clist_get_selection_info(GTK_CLIST(self->obj), x, y,
+ &row, &column))
+ return Py_BuildValue("(ii)", row, column);
+ else {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+}
+%%
+override-attr GtkCList.selection
+static PyObject *
+_wrap_gtk_clist__get_selection(PyGObject *self, void *closure)
+{
+ guint row;
+ GList *selection;
+ PyObject *py_int, *ret = PyList_New(0);
+
+ if (ret == NULL)
+ return NULL;
+
+ for (selection = GTK_CLIST(self->obj)->selection; selection != NULL;
+ selection = selection->next) {
+ row = GPOINTER_TO_UINT(selection->data);
+
+ py_int = PyInt_FromLong(row);
+
+ if (!py_int) {
+ Py_DECREF(ret);
+ return NULL;
+ }
+
+ PyList_Append(ret, py_int);
+ Py_DECREF(py_int);
+ }
+ return ret;
+
+}