summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Henstridge <james@daa.com.au>2000-12-14 14:15:23 +0000
committerJames Henstridge <jamesh@src.gnome.org>2000-12-14 14:15:23 +0000
commit7d69cd0b67d23412d6c22278f656ac4bbb4b1f18 (patch)
tree0ccd8765af94d3cda67b0c2ef6d199c9c197086f
parent8fd02269f1de89f4e72e316890bbbbc32b81f254 (diff)
downloadpygtk-7d69cd0b67d23412d6c22278f656ac4bbb4b1f18.tar.gz
destroy window on button's clicked signal rather than destroy signal.PYGTK_0_6_7GNOME_PYTHON_1_4_0
2000-12-14 James Henstridge <james@daa.com.au> * examples/testgtk/demos/menu.py (main): destroy window on button's clicked signal rather than destroy signal. * gtk/gtk.defs: remove gtk_object_default_construct and gtk_object_constructed. * gobjectmodule.c: change over to new notification functions. * gtk/gtk-types.c: rename functions. * gobjectmodule.c (pygobject_get_property): (pygobject_set_property): change function names to match changes in glib. (...connect|emit): use g_signal_parse_name instead of g_signal_lookup, so we can parse the detail out of the signal name string.
-rw-r--r--ChangeLog24
-rw-r--r--examples/testgtk/demos/menu.py2
-rw-r--r--examples/testgtk/demos/treemodel.py2
-rw-r--r--gobject/gobjectmodule.c99
-rw-r--r--gobjectmodule.c99
-rw-r--r--gtk/gtk-types.c16
-rw-r--r--gtk/gtk.defs12
-rw-r--r--gtk/gtkmodule.c1
-rw-r--r--gtk/gtkobject-support.c2
-rw-r--r--gtk/pygtk-private.h1
-rw-r--r--gtk/pygtk.h2
11 files changed, 164 insertions, 96 deletions
diff --git a/ChangeLog b/ChangeLog
index f2b0660a..c5f5d0a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2000-12-14 James Henstridge <james@daa.com.au>
+
+ * examples/testgtk/demos/menu.py (main): destroy window on
+ button's clicked signal rather than destroy signal.
+
+ * gtk/gtk.defs: remove gtk_object_default_construct and
+ gtk_object_constructed.
+
+ * gobjectmodule.c: change over to new notification functions.
+
+ * gtk/gtk-types.c: rename functions.
+
+ * gobjectmodule.c (pygobject_get_property):
+ (pygobject_set_property): change function names to match changes
+ in glib.
+ (...connect|emit): use g_signal_parse_name instead of
+ g_signal_lookup, so we can parse the detail out of the signal name
+ string.
+
+2000-12-07 James Henstridge <james@daa.com.au>
+
+ * examples/testgtk/demos/treemodel.py (MyTreeModel.on_get_path):
+ fix small typo.
+
2000-12-06 James Henstridge <james@daa.com.au>
* gtk/pygtktreemodel.c: fix PyObject_CallMethod calls to add
diff --git a/examples/testgtk/demos/menu.py b/examples/testgtk/demos/menu.py
index e91df441..f598f48f 100644
--- a/examples/testgtk/demos/menu.py
+++ b/examples/testgtk/demos/menu.py
@@ -65,7 +65,7 @@ def main():
vbox.pack_start(vbox2, expand=gtk.FALSE)
button = gtk.GtkButton('close')
- button.connect('destroy', lambda widget, window=window: window.destroy())
+ button.connect('clicked', lambda widget, window=window: window.destroy())
vbox2.pack_start(button)
button.set_flags(gtk.CAN_DEFAULT)
button.grab_default()
diff --git a/examples/testgtk/demos/treemodel.py b/examples/testgtk/demos/treemodel.py
index 70b28d52..69e9956a 100644
--- a/examples/testgtk/demos/treemodel.py
+++ b/examples/testgtk/demos/treemodel.py
@@ -42,7 +42,7 @@ class MyTreeModel(gtk.PyGtkTreeModel):
def on_get_path(self, node):
'''returns the tree path (a tuple of indices at the various
levels) for a particular node.'''
- return obj
+ return node
def on_get_value(self, node, column):
'''returns the value stored in a particular column for the node'''
assert column == 0
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index 75cba73a..5a9e51c5 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -655,41 +655,42 @@ pygobject__init__(PyGObject *self, PyObject *args)
}
static PyObject *
-pygobject_get_param(PyGObject *self, PyObject *args)
+pygobject_get_property(PyGObject *self, PyObject *args)
{
gchar *param_name;
GParamSpec *pspec;
GValue value;
PyObject *ret;
- if (!PyArg_ParseTuple(args, "s:GObject.get_param", &param_name))
+ if (!PyArg_ParseTuple(args, "s:GObject.get_property", &param_name))
return NULL;
- pspec = g_object_class_find_param_spec(G_OBJECT_GET_CLASS(self->obj),
- param_name);
+ pspec = g_object_class_find_property(G_OBJECT_GET_CLASS(self->obj),
+ param_name);
if (!pspec) {
PyErr_SetString(PyExc_TypeError,
"the object does not support the given parameter");
return NULL;
}
g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec));
- g_object_get_param(self->obj, param_name, &value);
+ g_object_get_property(self->obj, param_name, &value);
ret = pyg_value_as_pyobject(&value);
g_value_unset(&value);
return ret;
}
static PyObject *
-pygobject_set_param(PyGObject *self, PyObject *args)
+pygobject_set_property(PyGObject *self, PyObject *args)
{
gchar *param_name;
GParamSpec *pspec;
GValue value;
PyObject *pvalue;
- if (!PyArg_ParseTuple(args, "sO:GObject.set_param", &param_name, &pvalue))
+ if (!PyArg_ParseTuple(args, "sO:GObject.set_property", &param_name,
+ &pvalue))
return NULL;
- pspec = g_object_class_find_param_spec(G_OBJECT_GET_CLASS(self->obj),
- param_name);
+ pspec = g_object_class_find_property(G_OBJECT_GET_CLASS(self->obj),
+ param_name);
if (!pspec) {
PyErr_SetString(PyExc_TypeError,
"the object does not support the given parameter");
@@ -701,20 +702,40 @@ pygobject_set_param(PyGObject *self, PyObject *args)
"could not convert argument to correct param type");
return NULL;
}
- g_object_set_param(self->obj, param_name, &value);
+ g_object_set_property(self->obj, param_name, &value);
g_value_unset(&value);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
-pygobject_queue_param_changed(PyGObject *self, PyObject *args)
+pygobject_freeze_notify(PyGObject *self, PyObject *args)
{
- char *param_name;
+ if (!PyArg_ParseTuple(args, ":GObject.freeze_notify"))
+ return NULL;
+ g_object_freeze_notify(self->obj);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject *
+pygobject_notify(PyGObject *self, PyObject *args)
+{
+ char *property_name;
- if (!PyArg_ParseTuple(args, "s:GObject.queue_param_changed", &param_name))
+ if (!PyArg_ParseTuple(args, "s:GObject.notify", &property_name))
+ return NULL;
+ g_object_notify(self->obj, property_name);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject *
+pygobject_thaw_notify(PyGObject *self, PyObject *args)
+{
+ if (!PyArg_ParseTuple(args, ":GObject.thaw_notify"))
return NULL;
- g_object_queue_param_changed(self->obj, param_name);
+ g_object_thaw_notify(self->obj);
Py_INCREF(Py_None);
return Py_None;
}
@@ -757,6 +778,7 @@ pygobject_connect(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail = 0;
len = PyTuple_Size(args);
if (len < 2) {
@@ -774,15 +796,15 @@ pygobject_connect(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, NULL), FALSE);
return PyInt_FromLong(handlerid);
}
@@ -793,6 +815,7 @@ pygobject_connect_after(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail;
len = PyTuple_Size(args);
if (len < 2) {
@@ -811,15 +834,15 @@ pygobject_connect_after(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, NULL), TRUE);
return PyInt_FromLong(handlerid);
}
@@ -830,6 +853,7 @@ pygobject_connect_object(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args, *object;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail;
len = PyTuple_Size(args);
if (len < 3) {
@@ -848,15 +872,15 @@ pygobject_connect_object(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, object), FALSE);
return PyInt_FromLong(handlerid);
}
@@ -867,6 +891,7 @@ pygobject_connect_object_after(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args, *object;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail;
len = PyTuple_Size(args);
if (len < 3) {
@@ -885,15 +910,15 @@ pygobject_connect_object_after(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, object), TRUE);
return PyInt_FromLong(handlerid);
}
@@ -938,6 +963,7 @@ static PyObject *
pygobject_emit(PyGObject *self, PyObject *args)
{
guint signal_id, i, len;
+ GQuark detail;
PyObject *first, *py_ret;
gchar *name;
GSignalQuery query;
@@ -954,8 +980,8 @@ pygobject_emit(PyGObject *self, PyObject *args)
return NULL;
}
Py_DECREF(first);
- signal_id = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (signal_id == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &signal_id, &detail, TRUE)) {
PyErr_SetString(PyExc_TypeError, "unknown signal name");
return NULL;
}
@@ -994,7 +1020,7 @@ pygobject_emit(PyGObject *self, PyObject *args)
}
if (query.return_type != G_TYPE_NONE)
g_value_init(&ret, query.return_type);
- g_signal_emitv(params, signal_id, 0, &ret);
+ g_signal_emitv(params, signal_id, detail, &ret);
for (i = 0; i < query.n_params + 1; i++)
g_value_unset(&params[i]);
g_free(params);
@@ -1013,15 +1039,16 @@ pygobject_stop_emission(PyGObject *self, PyObject *args)
{
gchar *signal;
guint signal_id;
+ GQuark detail;
if (!PyArg_ParseTuple(args, "s:GObject.stop_emission", &signal))
return NULL;
- signal_id = g_signal_lookup(signal, G_OBJECT_TYPE(self->obj));
- if (signal_id == 0) {
+ if (!g_signal_parse_name(signal, G_OBJECT_TYPE(self->obj),
+ &signal_id, &detail, TRUE)) {
PyErr_SetString(PyExc_TypeError, "unknown signal name");
return NULL;
}
- g_signal_stop_emission(self->obj, signal_id, 0);
+ g_signal_stop_emission(self->obj, signal_id, detail);
Py_INCREF(Py_None);
return Py_None;
}
@@ -1029,9 +1056,11 @@ pygobject_stop_emission(PyGObject *self, PyObject *args)
static PyMethodDef pygobject_methods[] = {
{ "__class_init__", (PyCFunction)pygobject__class_init__, METH_VARARGS|METH_CLASS_METHOD },
{ "__init__", (PyCFunction)pygobject__init__, METH_VARARGS },
- { "get_param", (PyCFunction)pygobject_get_param, METH_VARARGS },
- { "set_param", (PyCFunction)pygobject_set_param, METH_VARARGS },
- { "queue_param_changed", (PyCFunction)pygobject_queue_param_changed, METH_VARARGS },
+ { "get_property", (PyCFunction)pygobject_get_property, METH_VARARGS },
+ { "set_property", (PyCFunction)pygobject_set_property, METH_VARARGS },
+ { "freeze_notify", (PyCFunction)pygobject_freeze_notify, METH_VARARGS },
+ { "notify", (PyCFunction)pygobject_notify, METH_VARARGS },
+ { "thaw_notify", (PyCFunction)pygobject_thaw_notify, METH_VARARGS },
{ "get_data", (PyCFunction)pygobject_get_data, METH_VARARGS },
{ "set_data", (PyCFunction)pygobject_set_data, METH_VARARGS },
{ "connect", (PyCFunction)pygobject_connect, METH_VARARGS },
diff --git a/gobjectmodule.c b/gobjectmodule.c
index 75cba73a..5a9e51c5 100644
--- a/gobjectmodule.c
+++ b/gobjectmodule.c
@@ -655,41 +655,42 @@ pygobject__init__(PyGObject *self, PyObject *args)
}
static PyObject *
-pygobject_get_param(PyGObject *self, PyObject *args)
+pygobject_get_property(PyGObject *self, PyObject *args)
{
gchar *param_name;
GParamSpec *pspec;
GValue value;
PyObject *ret;
- if (!PyArg_ParseTuple(args, "s:GObject.get_param", &param_name))
+ if (!PyArg_ParseTuple(args, "s:GObject.get_property", &param_name))
return NULL;
- pspec = g_object_class_find_param_spec(G_OBJECT_GET_CLASS(self->obj),
- param_name);
+ pspec = g_object_class_find_property(G_OBJECT_GET_CLASS(self->obj),
+ param_name);
if (!pspec) {
PyErr_SetString(PyExc_TypeError,
"the object does not support the given parameter");
return NULL;
}
g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec));
- g_object_get_param(self->obj, param_name, &value);
+ g_object_get_property(self->obj, param_name, &value);
ret = pyg_value_as_pyobject(&value);
g_value_unset(&value);
return ret;
}
static PyObject *
-pygobject_set_param(PyGObject *self, PyObject *args)
+pygobject_set_property(PyGObject *self, PyObject *args)
{
gchar *param_name;
GParamSpec *pspec;
GValue value;
PyObject *pvalue;
- if (!PyArg_ParseTuple(args, "sO:GObject.set_param", &param_name, &pvalue))
+ if (!PyArg_ParseTuple(args, "sO:GObject.set_property", &param_name,
+ &pvalue))
return NULL;
- pspec = g_object_class_find_param_spec(G_OBJECT_GET_CLASS(self->obj),
- param_name);
+ pspec = g_object_class_find_property(G_OBJECT_GET_CLASS(self->obj),
+ param_name);
if (!pspec) {
PyErr_SetString(PyExc_TypeError,
"the object does not support the given parameter");
@@ -701,20 +702,40 @@ pygobject_set_param(PyGObject *self, PyObject *args)
"could not convert argument to correct param type");
return NULL;
}
- g_object_set_param(self->obj, param_name, &value);
+ g_object_set_property(self->obj, param_name, &value);
g_value_unset(&value);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
-pygobject_queue_param_changed(PyGObject *self, PyObject *args)
+pygobject_freeze_notify(PyGObject *self, PyObject *args)
{
- char *param_name;
+ if (!PyArg_ParseTuple(args, ":GObject.freeze_notify"))
+ return NULL;
+ g_object_freeze_notify(self->obj);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject *
+pygobject_notify(PyGObject *self, PyObject *args)
+{
+ char *property_name;
- if (!PyArg_ParseTuple(args, "s:GObject.queue_param_changed", &param_name))
+ if (!PyArg_ParseTuple(args, "s:GObject.notify", &property_name))
+ return NULL;
+ g_object_notify(self->obj, property_name);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject *
+pygobject_thaw_notify(PyGObject *self, PyObject *args)
+{
+ if (!PyArg_ParseTuple(args, ":GObject.thaw_notify"))
return NULL;
- g_object_queue_param_changed(self->obj, param_name);
+ g_object_thaw_notify(self->obj);
Py_INCREF(Py_None);
return Py_None;
}
@@ -757,6 +778,7 @@ pygobject_connect(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail = 0;
len = PyTuple_Size(args);
if (len < 2) {
@@ -774,15 +796,15 @@ pygobject_connect(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, NULL), FALSE);
return PyInt_FromLong(handlerid);
}
@@ -793,6 +815,7 @@ pygobject_connect_after(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail;
len = PyTuple_Size(args);
if (len < 2) {
@@ -811,15 +834,15 @@ pygobject_connect_after(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, NULL), TRUE);
return PyInt_FromLong(handlerid);
}
@@ -830,6 +853,7 @@ pygobject_connect_object(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args, *object;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail;
len = PyTuple_Size(args);
if (len < 3) {
@@ -848,15 +872,15 @@ pygobject_connect_object(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, object), FALSE);
return PyInt_FromLong(handlerid);
}
@@ -867,6 +891,7 @@ pygobject_connect_object_after(PyGObject *self, PyObject *args)
PyObject *first, *callback, *extra_args, *object;
gchar *name;
guint handlerid, sigid, len;
+ GQuark detail;
len = PyTuple_Size(args);
if (len < 3) {
@@ -885,15 +910,15 @@ pygobject_connect_object_after(PyGObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
- sigid = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (sigid == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &sigid, &detail, TRUE)) {
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_by_id(self->obj, sigid, 0,
+ handlerid = g_signal_connect_closure_by_id(self->obj, sigid, detail,
pyg_closure_new(callback, extra_args, object), TRUE);
return PyInt_FromLong(handlerid);
}
@@ -938,6 +963,7 @@ static PyObject *
pygobject_emit(PyGObject *self, PyObject *args)
{
guint signal_id, i, len;
+ GQuark detail;
PyObject *first, *py_ret;
gchar *name;
GSignalQuery query;
@@ -954,8 +980,8 @@ pygobject_emit(PyGObject *self, PyObject *args)
return NULL;
}
Py_DECREF(first);
- signal_id = g_signal_lookup(name, G_OBJECT_TYPE(self->obj));
- if (signal_id == 0) {
+ if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
+ &signal_id, &detail, TRUE)) {
PyErr_SetString(PyExc_TypeError, "unknown signal name");
return NULL;
}
@@ -994,7 +1020,7 @@ pygobject_emit(PyGObject *self, PyObject *args)
}
if (query.return_type != G_TYPE_NONE)
g_value_init(&ret, query.return_type);
- g_signal_emitv(params, signal_id, 0, &ret);
+ g_signal_emitv(params, signal_id, detail, &ret);
for (i = 0; i < query.n_params + 1; i++)
g_value_unset(&params[i]);
g_free(params);
@@ -1013,15 +1039,16 @@ pygobject_stop_emission(PyGObject *self, PyObject *args)
{
gchar *signal;
guint signal_id;
+ GQuark detail;
if (!PyArg_ParseTuple(args, "s:GObject.stop_emission", &signal))
return NULL;
- signal_id = g_signal_lookup(signal, G_OBJECT_TYPE(self->obj));
- if (signal_id == 0) {
+ if (!g_signal_parse_name(signal, G_OBJECT_TYPE(self->obj),
+ &signal_id, &detail, TRUE)) {
PyErr_SetString(PyExc_TypeError, "unknown signal name");
return NULL;
}
- g_signal_stop_emission(self->obj, signal_id, 0);
+ g_signal_stop_emission(self->obj, signal_id, detail);
Py_INCREF(Py_None);
return Py_None;
}
@@ -1029,9 +1056,11 @@ pygobject_stop_emission(PyGObject *self, PyObject *args)
static PyMethodDef pygobject_methods[] = {
{ "__class_init__", (PyCFunction)pygobject__class_init__, METH_VARARGS|METH_CLASS_METHOD },
{ "__init__", (PyCFunction)pygobject__init__, METH_VARARGS },
- { "get_param", (PyCFunction)pygobject_get_param, METH_VARARGS },
- { "set_param", (PyCFunction)pygobject_set_param, METH_VARARGS },
- { "queue_param_changed", (PyCFunction)pygobject_queue_param_changed, METH_VARARGS },
+ { "get_property", (PyCFunction)pygobject_get_property, METH_VARARGS },
+ { "set_property", (PyCFunction)pygobject_set_property, METH_VARARGS },
+ { "freeze_notify", (PyCFunction)pygobject_freeze_notify, METH_VARARGS },
+ { "notify", (PyCFunction)pygobject_notify, METH_VARARGS },
+ { "thaw_notify", (PyCFunction)pygobject_thaw_notify, METH_VARARGS },
{ "get_data", (PyCFunction)pygobject_get_data, METH_VARARGS },
{ "set_data", (PyCFunction)pygobject_set_data, METH_VARARGS },
{ "connect", (PyCFunction)pygobject_connect, METH_VARARGS },
diff --git a/gtk/gtk-types.c b/gtk/gtk-types.c
index c94cc86a..7686aa08 100644
--- a/gtk/gtk-types.c
+++ b/gtk/gtk-types.c
@@ -3197,19 +3197,19 @@ pygtk_text_iter_is_first(PyGtkTextIter_Object *self, PyObject *args)
}
static PyObject *
-pygtk_text_iter_next_char(PyGtkTextIter_Object *self, PyObject *args)
+pygtk_text_iter_forward_char(PyGtkTextIter_Object *self, PyObject *args)
{
- if (!PyArg_ParseTuple(args, ":GtkTextIter.next_char"))
+ if (!PyArg_ParseTuple(args, ":GtkTextIter.forward_char"))
return NULL;
- return PyInt_FromLong(gtk_text_iter_next_char(&self->iter));
+ return PyInt_FromLong(gtk_text_iter_forward_char(&self->iter));
}
static PyObject *
-pygtk_text_iter_prev_char(PyGtkTextIter_Object *self, PyObject *args)
+pygtk_text_iter_backward_char(PyGtkTextIter_Object *self, PyObject *args)
{
- if (!PyArg_ParseTuple(args, ":GtkTextIter.prev_char"))
+ if (!PyArg_ParseTuple(args, ":GtkTextIter.backward_char"))
return NULL;
- return PyInt_FromLong(gtk_text_iter_prev_char(&self->iter));
+ return PyInt_FromLong(gtk_text_iter_backward_char(&self->iter));
}
static PyObject *
@@ -3488,8 +3488,8 @@ static PyMethodDef pygtk_text_iter_methods[] = {
{ "get_chars_in_line", (PyCFunction)pygtk_text_iter_get_chars_in_line, METH_VARARGS },
{ "is_last", (PyCFunction)pygtk_text_iter_is_last, METH_VARARGS },
{ "is_first", (PyCFunction)pygtk_text_iter_is_first, METH_VARARGS },
- { "next_char", (PyCFunction)pygtk_text_iter_next_char, METH_VARARGS },
- { "prev_char", (PyCFunction)pygtk_text_iter_prev_char, METH_VARARGS },
+ { "forward_char", (PyCFunction)pygtk_text_iter_forward_char, METH_VARARGS },
+ { "backward_char", (PyCFunction)pygtk_text_iter_backward_char, METH_VARARGS },
{ "forward_chars", (PyCFunction)pygtk_text_iter_forward_chars, METH_VARARGS },
{ "backward_chars", (PyCFunction)pygtk_text_iter_backward_chars, METH_VARARGS },
{ "forward_line", (PyCFunction)pygtk_text_iter_forward_line, METH_VARARGS },
diff --git a/gtk/gtk.defs b/gtk/gtk.defs
index 945fa93b..f3a9c340 100644
--- a/gtk/gtk.defs
+++ b/gtk/gtk.defs
@@ -7329,18 +7329,6 @@
(return-type none)
)
-(method default_construct
- (of-object Object (Gtk))
- (c-name gtk_object_default_construct)
- (return-type none)
-)
-
-(method constructed
- (of-object Object (Gtk))
- (c-name gtk_object_constructed)
- (return-type none)
-)
-
(method sink
(of-object Object (Gtk))
(c-name gtk_object_sink)
diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c
index 9a4fd982..0d6578b9 100644
--- a/gtk/gtkmodule.c
+++ b/gtk/gtkmodule.c
@@ -31,7 +31,6 @@ static struct _PyGtk_FunctionStruct functions = {
pygtk_arg_as_pyobject,
pygtk_ret_from_pyobject,
pygtk_ret_as_pyobject,
- pygtk_dict_as_args,
pygtk_register_boxed,
diff --git a/gtk/gtkobject-support.c b/gtk/gtkobject-support.c
index 0df05efc..0e6cf67d 100644
--- a/gtk/gtkobject-support.c
+++ b/gtk/gtkobject-support.c
@@ -785,6 +785,7 @@ pygtk_input_marshal(gpointer a, PyObject *func, int nargs, GtkArg *args)
PyGTK_UNBLOCK_THREADS
}
+#if 0
GtkArg *
pygtk_dict_as_args(PyObject *dict, GtkType type, gint *nargs)
{
@@ -826,6 +827,7 @@ pygtk_dict_as_args(PyObject *dict, GtkType type, gint *nargs)
}
return arg;
}
+#endif
GtkArg *
pygtk_dict_as_container_args(PyObject *dict, GtkType type, gint *nargs)
diff --git a/gtk/pygtk-private.h b/gtk/pygtk-private.h
index c5b59d43..13326a15 100644
--- a/gtk/pygtk-private.h
+++ b/gtk/pygtk-private.h
@@ -74,7 +74,6 @@ int pygtk_arg_from_pyobject(GtkArg *arg, PyObject *obj);
PyObject *pygtk_arg_as_pyobject(GtkArg *arg);
void pygtk_ret_from_pyobject(GtkArg *ret, PyObject *py_ret);
PyObject *pygtk_ret_as_pyobject(GtkArg *arg);
-GtkArg *pygtk_dict_as_args(PyObject *dict, GtkType type, gint *nargs);
GtkArg *pygtk_dict_as_container_args(PyObject *dict, GtkType type,
gint *nargs);
diff --git a/gtk/pygtk.h b/gtk/pygtk.h
index 4e93b5cc..fe969bf0 100644
--- a/gtk/pygtk.h
+++ b/gtk/pygtk.h
@@ -24,7 +24,6 @@ struct _PyGtk_FunctionStruct {
PyObject *(* arg_as_pyobject)(GtkArg *arg);
void (* ret_from_pyobject)(GtkArg *ret, PyObject *obj);
PyObject *(* ret_as_pyobject)(GtkArg *ret);
- GtkArg *(* dict_as_args)(PyObject *dict, GtkType type, gint *nargs);
void (* register_boxed)(GtkType boxed_type,
PyObject *(*from_func)(gpointer boxed),
@@ -210,7 +209,6 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
#define pygtk_arg_as_pyobject (_PyGtk_API->arg_as_pyobject)
#define pygtk_ret_from_pyobject (_PyGtk_API->ret_from_pyobject)
#define pygtk_ret_as_pyobject (_PyGtk_API->ret_as_pyobject)
-#define pygtk_dict_as_args (_PyGtk_API->dict_as_args)
#define pygtk_register_boxed (_PyGtk_API->register_boxed)
/* some variables */