diff options
author | James Henstridge <james@daa.com.au> | 2000-10-26 14:19:27 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2000-10-26 14:19:27 +0000 |
commit | c794d5969a707fd41e6b9550d91482676fa7b3db (patch) | |
tree | 36c78dd1504249c79f1a1ab2b123b38f3ba501a5 | |
parent | 03cf5b7534de8da2af941cf0a11b92ae078cf19d (diff) | |
download | pygtk-c794d5969a707fd41e6b9550d91482676fa7b3db.tar.gz |
remove gtk_signal_set_funcs call.
2000-10-26 James Henstridge <james@daa.com.au>
* gtk/gtkmodule.c (init_gtk): remove gtk_signal_set_funcs call.
* gobjectmodule.c (pyg_value_from_pyobject): default to using
CObject for unknown boxed values and pointer values.
(pyg_value_as_pyobject): same here.
(pygobject_connect*): Add signal connection functions.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gobject/gobjectmodule.c | 168 | ||||
-rw-r--r-- | gobjectmodule.c | 168 | ||||
-rw-r--r-- | gtk/gtk.defs | 297 | ||||
-rw-r--r-- | gtk/gtkmodule.c | 4 | ||||
-rw-r--r-- | gtk/gtkobject-support.c | 26 |
6 files changed, 480 insertions, 190 deletions
@@ -1,5 +1,12 @@ 2000-10-26 James Henstridge <james@daa.com.au> + * gtk/gtkmodule.c (init_gtk): remove gtk_signal_set_funcs call. + + * gobjectmodule.c (pyg_value_from_pyobject): default to using + CObject for unknown boxed values and pointer values. + (pyg_value_as_pyobject): same here. + (pygobject_connect*): Add signal connection functions. + * gobjectmodule.c (pyg_boxed_register): new function for registering functions to marshal boxed GValues to/from their python wrappers. diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index a834fe10..54a73109 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -324,7 +324,16 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) } else if (G_IS_VALUE_BOXED(value)) { PyGBoxedMarshal *bm = pyg_boxed_lookup(G_VALUE_TYPE(value)); - if (!bm || bm->tovalue(value, obj) < 0) + if (bm) + return bm->tovalue(value, obj); + if (PyCObject_Check(obj)) + g_value_set_boxed(value, PyCObject_AsVoidPtr(obj)); + else + return -1; + } else if (G_IS_VALUE_POINTER(value)) { + if (PyCObject_Check(obj)) + g_value_set_pointer(value, PyCObject_AsVoidPtr(obj)); + else return -1; } return 0; @@ -364,7 +373,10 @@ pyg_value_as_pyobject(const GValue *value) if (bm) return bm->fromvalue(value); - /* fall through if unknown boxed type */ + else + return PyCObject_FromVoidPtr(g_value_get_boxed(value), NULL); + } else if (G_IS_VALUE_POINTER(value)) { + return PyCObject_FromVoidPtr(g_value_get_pointer(value), NULL); } PyErr_SetString(PyExc_TypeError, "unknown type"); return NULL; @@ -463,6 +475,7 @@ pyg_closure_new(PyObject *callback, PyObject *extra_args, PyObject *swap_data) ((PyGClosure *)closure)->swap_data; closure->derivative_flag = TRUE; } + return closure; } /* -------------- PyGObject behaviour ----------------- */ @@ -734,6 +747,153 @@ pygobject_set_data(PyGObject *self, PyObject *args) return Py_None; } +static PyObject * +pygobject_connect(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 2) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect requires at least 2 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 2); + if (!PyArg_ParseTuple(first, "sO:GObject.connect", &name, &callback)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 2, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, NULL), FALSE); + return PyInt_FromLong(handlerid); +} + +static PyObject * +pygobject_connect_after(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 2) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect_after requires at least 2 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 2); + if (!PyArg_ParseTuple(first, "sO:GObject.connect_after", + &name, &callback)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 2, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, NULL), TRUE); + return PyInt_FromLong(handlerid); +} + +static PyObject * +pygobject_connect_object(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args, *object; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 3) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect_object requires at least 3 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 3); + if (!PyArg_ParseTuple(first, "sOO:GObject.connect_object", + &name, &callback, &object)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 3, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, object), FALSE); + return PyInt_FromLong(handlerid); +} + +static PyObject * +pygobject_connect_object_after(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args, *object; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 3) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect_object_after requires at least 3 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 3); + if (!PyArg_ParseTuple(first, "sOO:GObject.connect_object_after", + &name, &callback, &object)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 3, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, object), TRUE); + return PyInt_FromLong(handlerid); +} + static PyMethodDef pygobject_methods[] = { { "__class_init__", (PyCFunction)pygobject__class_init__, METH_VARARGS|METH_CLASS_METHOD }, { "__init__", (PyCFunction)pygobject__init__, METH_VARARGS }, @@ -742,6 +902,10 @@ static PyMethodDef pygobject_methods[] = { { "queue_param_changed", (PyCFunction)pygobject_queue_param_changed, METH_VARARGS }, { "get_data", (PyCFunction)pygobject_get_data, METH_VARARGS }, { "set_data", (PyCFunction)pygobject_set_data, METH_VARARGS }, + { "connect", (PyCFunction)pygobject_connect, METH_VARARGS }, + { "connect_after", (PyCFunction)pygobject_connect_after, METH_VARARGS }, + { "connect_object", (PyCFunction)pygobject_connect_object, METH_VARARGS }, + { "connect_object_after", (PyCFunction)pygobject_connect_object_after, METH_VARARGS }, { NULL, NULL, 0 } }; diff --git a/gobjectmodule.c b/gobjectmodule.c index a834fe10..54a73109 100644 --- a/gobjectmodule.c +++ b/gobjectmodule.c @@ -324,7 +324,16 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) } else if (G_IS_VALUE_BOXED(value)) { PyGBoxedMarshal *bm = pyg_boxed_lookup(G_VALUE_TYPE(value)); - if (!bm || bm->tovalue(value, obj) < 0) + if (bm) + return bm->tovalue(value, obj); + if (PyCObject_Check(obj)) + g_value_set_boxed(value, PyCObject_AsVoidPtr(obj)); + else + return -1; + } else if (G_IS_VALUE_POINTER(value)) { + if (PyCObject_Check(obj)) + g_value_set_pointer(value, PyCObject_AsVoidPtr(obj)); + else return -1; } return 0; @@ -364,7 +373,10 @@ pyg_value_as_pyobject(const GValue *value) if (bm) return bm->fromvalue(value); - /* fall through if unknown boxed type */ + else + return PyCObject_FromVoidPtr(g_value_get_boxed(value), NULL); + } else if (G_IS_VALUE_POINTER(value)) { + return PyCObject_FromVoidPtr(g_value_get_pointer(value), NULL); } PyErr_SetString(PyExc_TypeError, "unknown type"); return NULL; @@ -463,6 +475,7 @@ pyg_closure_new(PyObject *callback, PyObject *extra_args, PyObject *swap_data) ((PyGClosure *)closure)->swap_data; closure->derivative_flag = TRUE; } + return closure; } /* -------------- PyGObject behaviour ----------------- */ @@ -734,6 +747,153 @@ pygobject_set_data(PyGObject *self, PyObject *args) return Py_None; } +static PyObject * +pygobject_connect(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 2) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect requires at least 2 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 2); + if (!PyArg_ParseTuple(first, "sO:GObject.connect", &name, &callback)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 2, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, NULL), FALSE); + return PyInt_FromLong(handlerid); +} + +static PyObject * +pygobject_connect_after(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 2) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect_after requires at least 2 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 2); + if (!PyArg_ParseTuple(first, "sO:GObject.connect_after", + &name, &callback)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 2, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, NULL), TRUE); + return PyInt_FromLong(handlerid); +} + +static PyObject * +pygobject_connect_object(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args, *object; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 3) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect_object requires at least 3 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 3); + if (!PyArg_ParseTuple(first, "sOO:GObject.connect_object", + &name, &callback, &object)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 3, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, object), FALSE); + return PyInt_FromLong(handlerid); +} + +static PyObject * +pygobject_connect_object_after(PyGObject *self, PyObject *args) +{ + PyObject *first, *callback, *extra_args, *object; + gchar *name; + guint handlerid, sigid, len; + + len = PyTuple_Size(args); + if (len < 3) { + PyErr_SetString(PyExc_TypeError, + "GObject.connect_object_after requires at least 3 arguments"); + return NULL; + } + first = PySequence_GetSlice(args, 0, 3); + if (!PyArg_ParseTuple(first, "sOO:GObject.connect_object_after", + &name, &callback, &object)) { + Py_DECREF(first); + return NULL; + } + Py_DECREF(first); + if (!PyCallable_Check(callback)) { + PyErr_SetString(PyExc_TypeError, "second argument must be callable"); + return NULL; + } + sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj)); + if (sigid == 0) { + PyErr_SetString(PyExc_TypeError, "unknown signal name"); + return NULL; + } + extra_args = PySequence_GetSlice(args, 3, len); + if (extra_args == NULL) + return NULL; + handlerid = g_signal_connect_closure(self->obj, sigid, + pyg_closure_new(callback, extra_args, object), TRUE); + return PyInt_FromLong(handlerid); +} + static PyMethodDef pygobject_methods[] = { { "__class_init__", (PyCFunction)pygobject__class_init__, METH_VARARGS|METH_CLASS_METHOD }, { "__init__", (PyCFunction)pygobject__init__, METH_VARARGS }, @@ -742,6 +902,10 @@ static PyMethodDef pygobject_methods[] = { { "queue_param_changed", (PyCFunction)pygobject_queue_param_changed, METH_VARARGS }, { "get_data", (PyCFunction)pygobject_get_data, METH_VARARGS }, { "set_data", (PyCFunction)pygobject_set_data, METH_VARARGS }, + { "connect", (PyCFunction)pygobject_connect, METH_VARARGS }, + { "connect_after", (PyCFunction)pygobject_connect_after, METH_VARARGS }, + { "connect_object", (PyCFunction)pygobject_connect_object, METH_VARARGS }, + { "connect_object_after", (PyCFunction)pygobject_connect_object_after, METH_VARARGS }, { NULL, NULL, 0 } }; diff --git a/gtk/gtk.defs b/gtk/gtk.defs index d2119a98..190061cf 100644 --- a/gtk/gtk.defs +++ b/gtk/gtk.defs @@ -15,17 +15,17 @@ (c-name GtkObject) ) -(object ModelSimple - (in-module Gtk) - (parent Object (Gtk)) - (c-name GtkModelSimple) -) +; (object ModelSimple +; (in-module Gtk) +; (parent Object (Gtk)) +; (c-name GtkModelSimple) +; ) -(object ListStore - (in-module Gtk) - (parent Object (Gtk)) - (c-name GtkListStore) -) +; (object ListStore +; (in-module Gtk) +; (parent Object (Gtk)) +; (c-name GtkListStore) +; ) (object ItemFactory (in-module Gtk) @@ -6153,92 +6153,92 @@ -;; From /opt/pango/include/gtk-2.0/gtk/gtkliststore.h +; ;; From /opt/pango/include/gtk-2.0/gtk/gtkliststore.h -(function gtk_list_store_get_type - (c-name gtk_list_store_get_type) - (return-type GtkType) -) +; (function gtk_list_store_get_type +; (c-name gtk_list_store_get_type) +; (return-type GtkType) +; ) -(function gtk_list_store_new - (c-name gtk_list_store_new) - (is-constructor-of GtkListStore) - (return-type GtkObject*) -) +; (function gtk_list_store_new +; (c-name gtk_list_store_new) +; (is-constructor-of GtkListStore) +; (return-type GtkObject*) +; ) -(function gtk_list_store_new_with_types - (c-name gtk_list_store_new_with_types) - (is-constructor-of GtkListStore) - (return-type GtkObject*) - (parameter (type-and-name gint n_columns)) - (varargs t) -) +; (function gtk_list_store_new_with_types +; (c-name gtk_list_store_new_with_types) +; (is-constructor-of GtkListStore) +; (return-type GtkObject*) +; (parameter (type-and-name gint n_columns)) +; (varargs t) +; ) -(method set_n_columns - (of-object ListStore (Gtk)) - (c-name gtk_list_store_set_n_columns) - (return-type none) - (parameter (type-and-name gint n_columns)) -) +; (method set_n_columns +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_set_n_columns) +; (return-type none) +; (parameter (type-and-name gint n_columns)) +; ) -(method set_column_type - (of-object ListStore (Gtk)) - (c-name gtk_list_store_set_column_type) - (return-type none) - (parameter (type-and-name gint column)) - (parameter (type-and-name GType type)) -) +; (method set_column_type +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_set_column_type) +; (return-type none) +; (parameter (type-and-name gint column)) +; (parameter (type-and-name GType type)) +; ) -(function gtk_list_store_node_new - (c-name gtk_list_store_node_new) - (return-type GtkTreeNode) -) +; (function gtk_list_store_node_new +; (c-name gtk_list_store_node_new) +; (return-type GtkTreeNode) +; ) -(method node_set_cell - (of-object ListStore (Gtk)) - (c-name gtk_list_store_node_set_cell) - (return-type none) - (parameter (type-and-name GtkTreeNode node)) - (parameter (type-and-name gint column)) - (parameter (type-and-name GValue* value)) -) +; (method node_set_cell +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_node_set_cell) +; (return-type none) +; (parameter (type-and-name GtkTreeNode node)) +; (parameter (type-and-name gint column)) +; (parameter (type-and-name GValue* value)) +; ) -(method node_remove - (of-object ListStore (Gtk)) - (c-name gtk_list_store_node_remove) - (return-type none) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_remove +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_node_remove) +; (return-type none) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_insert - (of-object ListStore (Gtk)) - (c-name gtk_list_store_node_insert) - (return-type GtkTreeNode) - (parameter (type-and-name gint position)) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_insert +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_node_insert) +; (return-type GtkTreeNode) +; (parameter (type-and-name gint position)) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_insert_before - (of-object ListStore (Gtk)) - (c-name gtk_list_store_node_insert_before) - (return-type GtkTreeNode) - (parameter (type-and-name GtkTreeNode sibling)) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_insert_before +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_node_insert_before) +; (return-type GtkTreeNode) +; (parameter (type-and-name GtkTreeNode sibling)) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_prepend - (of-object ListStore (Gtk)) - (c-name gtk_list_store_node_prepend) - (return-type GtkTreeNode) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_prepend +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_node_prepend) +; (return-type GtkTreeNode) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_append - (of-object ListStore (Gtk)) - (c-name gtk_list_store_node_append) - (return-type GtkTreeNode) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_append +; (of-object ListStore (Gtk)) +; (c-name gtk_list_store_node_append) +; (return-type GtkTreeNode) +; (parameter (type-and-name GtkTreeNode node)) +; ) @@ -6887,50 +6887,50 @@ -;; From /opt/pango/include/gtk-2.0/gtk/gtkmodelsimple.h +; ;; From /opt/pango/include/gtk-2.0/gtk/gtkmodelsimple.h -(function gtk_model_simple_get_type - (c-name gtk_model_simple_get_type) - (return-type GtkType) -) +; (function gtk_model_simple_get_type +; (c-name gtk_model_simple_get_type) +; (return-type GtkType) +; ) -(function gtk_model_simple_new - (c-name gtk_model_simple_new) - (is-constructor-of GtkModelSimple) - (return-type GtkObject*) -) +; (function gtk_model_simple_new +; (c-name gtk_model_simple_new) +; (is-constructor-of GtkModelSimple) +; (return-type GtkObject*) +; ) -(method node_changed - (of-object ModelSimple (Gtk)) - (c-name gtk_model_simple_node_changed) - (return-type none) - (parameter (type-and-name GtkTreePath* path)) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_changed +; (of-object ModelSimple (Gtk)) +; (c-name gtk_model_simple_node_changed) +; (return-type none) +; (parameter (type-and-name GtkTreePath* path)) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_inserted - (of-object ModelSimple (Gtk)) - (c-name gtk_model_simple_node_inserted) - (return-type none) - (parameter (type-and-name GtkTreePath* path)) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_inserted +; (of-object ModelSimple (Gtk)) +; (c-name gtk_model_simple_node_inserted) +; (return-type none) +; (parameter (type-and-name GtkTreePath* path)) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_child_toggled - (of-object ModelSimple (Gtk)) - (c-name gtk_model_simple_node_child_toggled) - (return-type none) - (parameter (type-and-name GtkTreePath* path)) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_child_toggled +; (of-object ModelSimple (Gtk)) +; (c-name gtk_model_simple_node_child_toggled) +; (return-type none) +; (parameter (type-and-name GtkTreePath* path)) +; (parameter (type-and-name GtkTreeNode node)) +; ) -(method node_deleted - (of-object ModelSimple (Gtk)) - (c-name gtk_model_simple_node_deleted) - (return-type none) - (parameter (type-and-name GtkTreePath* path)) - (parameter (type-and-name GtkTreeNode node)) -) +; (method node_deleted +; (of-object ModelSimple (Gtk)) +; (c-name gtk_model_simple_node_deleted) +; (return-type none) +; (parameter (type-and-name GtkTreePath* path)) +; (parameter (type-and-name GtkTreeNode node)) +; ) @@ -8953,31 +8953,23 @@ (parameter (type-and-name gpointer data)) ) -(method signal_handler_pending - (of-object Object (Gtk)) - (c-name gtk_signal_handler_pending) - (return-type guint) - (parameter (type-and-name guint signal_id)) - (parameter (type-and-name gboolean may_be_blocked)) -) - -(method signal_handler_pending_by_func - (of-object Object (Gtk)) - (c-name gtk_signal_handler_pending_by_func) - (return-type guint) - (parameter (type-and-name guint signal_id)) - (parameter (type-and-name gboolean may_be_blocked)) - (parameter (type-and-name GtkSignalFunc func)) - (parameter (type-and-name gpointer data)) -) +; (method signal_handler_pending +; (of-object Object (Gtk)) +; (c-name gtk_signal_handler_pending) +; (return-type guint) +; (parameter (type-and-name guint signal_id)) +; (parameter (type-and-name gboolean may_be_blocked)) +; ) -(method signal_handler_pending_by_id - (of-object Object (Gtk)) - (c-name gtk_signal_handler_pending_by_id) - (return-type gint) - (parameter (type-and-name guint handler_id)) - (parameter (type-and-name gboolean may_be_blocked)) -) +; (method signal_handler_pending_by_func +; (of-object Object (Gtk)) +; (c-name gtk_signal_handler_pending_by_func) +; (return-type guint) +; (parameter (type-and-name guint signal_id)) +; (parameter (type-and-name gboolean may_be_blocked)) +; (parameter (type-and-name GtkSignalFunc func)) +; (parameter (type-and-name gpointer data)) +; ) (function signal_add_emission_hook (c-name gtk_signal_add_emission_hook) @@ -9072,19 +9064,6 @@ (parameter (type-and-name GtkArg* params)) ) -(method signal_handlers_destroy - (of-object Object (Gtk)) - (c-name gtk_signal_handlers_destroy) - (return-type none) -) - -(function signal_set_funcs - (c-name gtk_signal_set_funcs) - (return-type none) - (parameter (type-and-name GtkSignalMarshal marshal_func)) - (parameter (type-and-name GtkSignalDestroy destroy_func)) -) - ;; From /opt/pango/include/gtk-2.0/gtk/gtksocket.h diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c index 815122bb..697f7726 100644 --- a/gtk/gtkmodule.c +++ b/gtk/gtkmodule.c @@ -50,7 +50,7 @@ static struct _PyGtk_FunctionStruct functions = { DL_EXPORT(void) init_gtk(void) { - PyObject *m, *d, *private; + PyObject *m, *d; PyObject *av; int argc, i; char **argv; @@ -89,8 +89,6 @@ init_gtk(void) g_free(argv[i]); g_free(argv); } - gtk_signal_set_funcs((GtkSignalMarshal)pygtk_signal_marshal, - (GtkSignalDestroy)pygtk_destroy_notify); /* now initialise pygtk */ m = Py_InitModule("_gtk", pygtk_functions); diff --git a/gtk/gtkobject-support.c b/gtk/gtkobject-support.c index aaadbce9..fcaa1326 100644 --- a/gtk/gtkobject-support.c +++ b/gtk/gtkobject-support.c @@ -248,13 +248,6 @@ pygtk_arg_from_pyobject(GtkArg *arg, PyObject *obj) GTK_VALUE_BOXED(*arg) = PyGtkSelectionData_Get(obj); else return -1; - } else if (arg->type == GTK_TYPE_CTREE_NODE) { - if (obj == Py_None) - GTK_VALUE_BOXED(*arg) = NULL; - else if (PyGtkSelectionData_Check(obj)) - GTK_VALUE_BOXED(*arg) = PyGtkSelectionData_Get(obj); - else - return -1; } else { PyGtk_BoxFuncs *fs= pygtk_get_boxed(arg->type); if (fs && fs->toarg) { @@ -342,12 +335,7 @@ pygtk_arg_as_pyobject(GtkArg *arg) return PyGdkVisual_New(GTK_VALUE_BOXED(*arg)); else if (arg->type == GTK_TYPE_SELECTION_DATA) return PyGtkSelectionData_New(GTK_VALUE_BOXED(*arg)); - else if (arg->type == GTK_TYPE_CTREE_NODE) { - if (GTK_VALUE_BOXED(*arg)) - return PyGtkCTreeNode_New(GTK_VALUE_BOXED(*arg)); - Py_INCREF(Py_None); - return Py_None; - } else { + else { PyGtk_BoxFuncs *fs = pygtk_get_boxed(arg->type); if (fs && fs->fromarg) return fs->fromarg(GTK_VALUE_BOXED(*arg)); @@ -504,11 +492,6 @@ pygtk_ret_from_pyobject(GtkArg *ret, PyObject *py_ret) *GTK_RETLOC_BOXED(*ret) = PyGtkSelectionData_Get(py_ret); else *GTK_RETLOC_BOXED(*ret) = NULL; - } else if (ret->type == GTK_TYPE_CTREE_NODE) { - if (PyGtkSelectionData_Check(py_ret)) - *GTK_RETLOC_BOXED(*ret) = PyGtkCTreeNode_Get(py_ret); - else - *GTK_RETLOC_BOXED(*ret) = NULL; } else { PyGtk_BoxFuncs *fs = pygtk_get_boxed(ret->type); if (fs && fs->toarg) { @@ -585,12 +568,7 @@ pygtk_ret_as_pyobject(GtkArg *arg) return PyGdkVisual_New(*GTK_RETLOC_BOXED(*arg)); else if (arg->type == GTK_TYPE_SELECTION_DATA) return PyGtkSelectionData_New(*GTK_RETLOC_BOXED(*arg)); - else if (arg->type == GTK_TYPE_CTREE_NODE) { - if (*GTK_RETLOC_BOXED(*arg)) - return PyGtkCTreeNode_New(*GTK_RETLOC_BOXED(*arg)); - Py_INCREF(Py_None); - return Py_None; - } else { + else { PyGtk_BoxFuncs *fs = pygtk_get_boxed(arg->type); if (fs && fs->fromarg) return fs->fromarg(*GTK_RETLOC_BOXED(*arg)); |