summaryrefslogtreecommitdiff
path: root/gtk/gtk.override
diff options
context:
space:
mode:
authorGian Mario Tagliaretti <gianmt@src.gnome.org>2007-07-26 19:50:35 +0000
committerGian Mario Tagliaretti <gianmt@src.gnome.org>2007-07-26 19:50:35 +0000
commitb1603f0a1a56e0af6c923bc4a53d000c0fa69c49 (patch)
treebdbb5910329885922c40b33046a44f4de94336ff /gtk/gtk.override
parent29f0671d74c1a7b36027da6d5f38d165f873ab5c (diff)
downloadpygtk-b1603f0a1a56e0af6c923bc4a53d000c0fa69c49.tar.gz
wrap gtk.ScaleButton constructor and set_icon(), fix a couple of None parameters in defs.
svn path=/trunk/; revision=2861
Diffstat (limited to 'gtk/gtk.override')
-rw-r--r--gtk/gtk.override98
1 files changed, 98 insertions, 0 deletions
diff --git a/gtk/gtk.override b/gtk/gtk.override
index 34f43741..88cb370b 100644
--- a/gtk/gtk.override
+++ b/gtk/gtk.override
@@ -8273,3 +8273,101 @@ _wrap_gtk_accel_map_foreach_unfiltered(PyObject *self, PyObject *args, PyObject
Py_INCREF(Py_None);
return Py_None;
}
+%%
+override gtk_scale_button_new kwargs
+static int
+_wrap_gtk_scale_button_new(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "size", "min", "max", "step", "icons", NULL };
+ PyObject *py_size = NULL, *py_icons = NULL;
+ double min, max, step;
+ gchar **icons = NULL;
+ GtkIconSize size;
+ GtkAdjustment *adj;
+ int i, len;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "Oddd|O:GtkScaleButton.__init__", kwlist,
+ &py_size, &min, &max, &step, &py_icons))
+ return -1;
+
+ if (pyg_enum_get_value(GTK_TYPE_ICON_SIZE, py_size, (gpointer)&size))
+ return -1;
+
+ if (py_icons) {
+ if (!PySequence_Check(py_icons)) {
+ PyErr_SetString(PyExc_TypeError, "icons must be a sequence");
+ return -1;
+ }
+ len = PySequence_Length(py_icons);
+ icons = g_new(gchar *, len + 1);
+ for (i = 0; i < len; i++) {
+ PyObject *item = PySequence_GetItem(py_icons, i);
+ if (!PyString_Check(item)) {
+ PyErr_SetString(PyExc_TypeError, "icon must be a string");
+ g_free(icons);
+ return -1;
+ }
+ icons[i] = PyString_AsString(item);
+ Py_DECREF(item);
+ }
+ icons[len] = NULL;
+ }
+ pygobject_construct(self, "size", size, "icons", icons, NULL);
+
+ g_free(icons);
+
+ if (!self->obj) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "could not create gtk.ScaleButton object");
+ return -1;
+ }
+
+ adj = gtk_scale_button_get_adjustment(GTK_SCALE_BUTTON(self->obj));
+ g_object_set(adj, "lower", min, "upper", max, "step-increment", step, NULL);
+
+ return 0;
+}
+%%
+new-constructor GTK_TYPE_SCALE_BUTTON
+%%
+override gtk_scale_button_set_icons kwargs
+static PyObject *
+_wrap_gtk_scale_button_set_icons(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "icons", NULL };
+ PyObject *py_icons;
+ gchar **icons = NULL;
+ int i, len;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "O:GtkScaleButton.set_icons", kwlist,
+ &py_icons))
+ return NULL;
+
+ if (!PySequence_Check(py_icons)) {
+ PyErr_SetString(PyExc_TypeError, "icons must be a sequence");
+ return NULL;
+ }
+ len = PySequence_Length(py_icons);
+ icons = g_new(gchar *, len + 1);
+ for (i = 0; i < len; i++) {
+ PyObject *item = PySequence_GetItem(py_icons, i);
+ if (!PyString_Check(item)) {
+ PyErr_SetString(PyExc_TypeError, "icon must be a string");
+ g_free(icons);
+ return NULL;
+ }
+ icons[i] = PyString_AsString(item);
+ Py_DECREF(item);
+ }
+ icons[len] = NULL;
+
+ gtk_scale_button_set_icons(GTK_SCALE_BUTTON(self->obj),
+ (const gchar **) icons);
+
+ g_free(icons);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}