diff options
author | Johan Dahlin <zilch@src.gnome.org> | 2004-03-30 08:32:30 +0000 |
---|---|---|
committer | Johan Dahlin <zilch@src.gnome.org> | 2004-03-30 08:32:30 +0000 |
commit | 0ca7e8ac4f160bb4a11f3fe552e7aaae46704c6c (patch) | |
tree | 413e466725481845c309c8a5be2e8abf56e4cb3a | |
parent | 6f3b3d41afbe5542a44f12c1bd0244fd693df604 (diff) | |
download | pygtk-0ca7e8ac4f160bb4a11f3fe552e7aaae46704c6c.tar.gz |
is Constructor of GtkUIManager, not GtkUiManager.
* gtk/gtk.defs (gtk_ui_manager_new): is Constructor of
GtkUIManager, not GtkUiManager.
* gtk/gtk.override (_wrap_gtk_action_group_add_actions): Impl
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gtk/gtk.defs | 2 | ||||
-rw-r--r-- | gtk/gtk.override | 57 |
3 files changed, 65 insertions, 1 deletions
@@ -1,3 +1,10 @@ +2004-03-30 Johan Dahlin <johan@gnome.org> + + * gtk/gtk.defs (gtk_ui_manager_new): is Constructor of + GtkUIManager, not GtkUiManager. + + * gtk/gtk.override (_wrap_gtk_action_group_add_actions): Impl + 2004-03-28 Xavier Ordoquy <xordoquy@wanadoo.fr> * gtk/gtk-types.defs: Fixes #138476 . Added the Layout class diff --git a/gtk/gtk.defs b/gtk/gtk.defs index ff0e13a1..541d33ed 100644 --- a/gtk/gtk.defs +++ b/gtk/gtk.defs @@ -18298,7 +18298,7 @@ (define-function gtk_ui_manager_new (c-name "gtk_ui_manager_new") - (is-constructor-of "GtkUiManager") + (is-constructor-of "GtkUIManager") (return-type "GtkUIManager*") ) diff --git a/gtk/gtk.override b/gtk/gtk.override index a9538802..c29fc8f8 100644 --- a/gtk/gtk.override +++ b/gtk/gtk.override @@ -3825,3 +3825,60 @@ _wrap_gtk_ui_manager_get_toplevels(PyGObject *self, PyObject *args, return ret; } +%% +override gtk_action_group_add_actions kwargs +static PyObject * +_wrap_gtk_action_group_add_actions (PyGObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "entries", NULL }; + PyObject *entries; + int len, i; + PyObject *item; + GtkActionEntry entry; + GtkAction *action; + PyObject *callback, *py_action; + GClosure *closure; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GtkActionGroup.add_actions", + kwlist, &entries)) + return NULL; + + if (!PySequence_Check(entries)) { + PyErr_SetString(PyExc_TypeError, "entries must be a sequence"); + return NULL; + } + + len = PySequence_Size(entries); + for (i = 0; i < len; i++) { + item = PySequence_GetItem(entries, i); + Py_DECREF(item); + + memset(&entry, 0, sizeof(entry)); + callback = Py_None; + + if (!PyArg_ParseTuple(item, "s|zzzzO", &(entry.name), &(entry.stock_id), + &(entry.label), &(entry.accelerator), &(entry.tooltip), + &callback)) { + return NULL; + } + + action = gtk_action_new(entry.name, entry.label, entry.tooltip, + entry.stock_id); + + py_action = pygobject_new((GObject *)action); + if (action && PyCallable_Check(callback)) { + closure = pyg_closure_new(callback, NULL, NULL); + g_signal_connect_closure(action, "activate", closure, FALSE); + pygobject_watch_closure(py_action, closure); + } + + gtk_action_group_add_action_with_accel (GTK_ACTION_GROUP(self->obj), + GTK_ACTION(action), + entry.accelerator); + + g_object_unref (action); + + } + Py_INCREF(Py_None); + return Py_None; +} |