summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <zilch@src.gnome.org>2004-03-30 08:32:30 +0000
committerJohan Dahlin <zilch@src.gnome.org>2004-03-30 08:32:30 +0000
commit0ca7e8ac4f160bb4a11f3fe552e7aaae46704c6c (patch)
tree413e466725481845c309c8a5be2e8abf56e4cb3a
parent6f3b3d41afbe5542a44f12c1bd0244fd693df604 (diff)
downloadpygtk-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--ChangeLog7
-rw-r--r--gtk/gtk.defs2
-rw-r--r--gtk/gtk.override57
3 files changed, 65 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d1da489f..f9679870 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
+}