summaryrefslogtreecommitdiff
path: root/gtk/gtk.override
diff options
context:
space:
mode:
authorJohan Dahlin <zilch@src.gnome.org>2003-03-07 03:28:58 +0000
committerJohan Dahlin <zilch@src.gnome.org>2003-03-07 03:28:58 +0000
commit66f41339d8a41eba546af46e40d4c2d2e6681677 (patch)
treed43d29d10530113440d9fa73041d6c619e5533d4 /gtk/gtk.override
parent4eb87378fc6deceea26ef28582b5a3028815200e (diff)
downloadpygtk-66f41339d8a41eba546af46e40d4c2d2e6681677.tar.gz
Allow some parameters to be NULL.
* gtk/gtk.defs (gtk_label_new_with_mnemonic, gtk_label_new) (render_icon): Allow some parameters to be NULL. * gtk/gtk.override (_wrap_gtk_stock_lookup) (_wrap_gtk_stock_list_ids) (_wrap_gtk_tree_view_insert_column_with_data_func): Impl. (ignore-glob): Remove gtk_accelerator_* * examples/pygtk-demo/demos/stock_browser.py: Ported from C
Diffstat (limited to 'gtk/gtk.override')
-rw-r--r--gtk/gtk.override93
1 files changed, 91 insertions, 2 deletions
diff --git a/gtk/gtk.override b/gtk/gtk.override
index 0fb1ff0c..e5c2c877 100644
--- a/gtk/gtk.override
+++ b/gtk/gtk.override
@@ -2761,7 +2761,7 @@ pygtk_cell_data_func_marshal (GtkTreeViewColumn *tree_column,
PyGtkCustomNotify *cunote = data;
PyObject *retobj;
PyObject *pytreecolumn, *pycell, *pytreemodel, *pyiter;
-
+
g_assert (cunote->func);
pyg_block_threads();
@@ -2824,6 +2824,49 @@ _wrap_gtk_tree_view_column_set_cell_data_func (PyGObject *self, PyObject *args,
return Py_None;
}
%%
+override gtk_tree_view_insert_column_with_data_func kwargs
+static PyObject *
+_wrap_gtk_tree_view_insert_column_with_data_func (PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ int position;
+ gchar *title;
+ PyObject *pycell,*pyfunc, *pyarg = NULL;
+ GtkCellRenderer *cell;
+ PyGtkCustomNotify *cunote;
+ gint retval;
+
+ if (!PyArg_ParseTuple(args,
+ "isOO|O:GtkTreeView.insert_column_with_data_func",
+ &position, &title, &pycell, &pyfunc, &pyarg))
+ return NULL;
+
+ if (pygobject_check(pycell, &PyGtkCellRenderer_Type))
+ cell = GTK_CELL_RENDERER(pygobject_get(pycell));
+ else {
+ PyErr_SetString(PyExc_TypeError,
+ "first argument must be a GtkCellRenderer");
+ return NULL;
+ }
+
+ cunote = g_new0(PyGtkCustomNotify, 1);
+ cunote->func = pyfunc;
+ cunote->data = pyarg;
+ Py_INCREF(cunote->func);
+ Py_XINCREF(cunote->data);
+
+ retval = gtk_tree_view_insert_column_with_data_func (
+ GTK_TREE_VIEW (self->obj),
+ position,
+ title,
+ cell,
+ pygtk_cell_data_func_marshal,
+ cunote,
+ pygtk_custom_destroy_notify);
+ return PyInt_FromLong(retval);
+}
+%%
override gtk_tree_view_column_set_attributes kwargs
static PyObject *
_wrap_gtk_tree_view_column_set_attributes(PyGObject *self, PyObject *args,
@@ -3390,7 +3433,6 @@ arg_error:
ignore-glob
_*
*_get_type
- gtk_accelerator_*
gtk_arg_*
gtk_args_*
gtk_draw_*
@@ -6760,6 +6802,53 @@ _wrap_gtk_stock_add(PyGObject *self, PyObject *args, PyObject *kwargs)
return NULL;
}
%%
+override gtk_stock_list_ids noargs
+static PyObject *
+_wrap_gtk_stock_list_ids(PyGObject *self)
+{
+ GSList *ids;
+ PyObject *list;
+ int i = 0;
+
+ ids = gtk_stock_list_ids();
+
+ list = PyList_New(g_slist_length(ids));
+ for (; ids; ids = ids->next, i++) {
+ PyObject *py_item;
+
+ PyList_SetItem(list, i, PyString_FromString(ids->data));
+ g_free(ids->data);
+ }
+ g_slist_free(ids);
+
+ return list;
+}
+%%
+override gtk_stock_lookup args
+static PyObject *
+_wrap_gtk_stock_lookup(PyGObject *self, PyObject *args)
+{
+ gchar *stock_id;
+ GtkStockItem item;
+
+ if (!PyArg_ParseTuple(args, "s:gtk.stock_lookup",
+ &stock_id)) {
+ return NULL;
+ }
+
+ if(gtk_stock_lookup(stock_id, &item)) {
+ return Py_BuildValue("zziiz",
+ item.stock_id,
+ item.label,
+ item.modifier,
+ item.keyval,
+ item.translation_domain);
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+%%
override gtk_layout_get_size noargs
static PyObject *
_wrap_gtk_layout_get_size(PyGObject *self)