summaryrefslogtreecommitdiff
path: root/atk.override
diff options
context:
space:
mode:
authorJohn Finlay <finlay@src.gnome.org>2006-07-05 20:17:06 +0000
committerJohn Finlay <finlay@src.gnome.org>2006-07-05 20:17:06 +0000
commit3280a61fde3a06ac10ba5756ec69b605dec64964 (patch)
tree3d213edfa36303f7bd1f027234b2b7c2ebb18b4e /atk.override
parent218218580d24095c6ae2fce611f3d1dd61fe4a0a (diff)
downloadpygtk-3280a61fde3a06ac10ba5756ec69b605dec64964.tar.gz
Add. (_wrap_atk_relation_new): Raise ValueError if targets is zero length.
* atk.override (_wrap_atk_relation_get_target): Add. (_wrap_atk_relation_new): Raise ValueError if targets is zero length.
Diffstat (limited to 'atk.override')
-rw-r--r--atk.override28
1 files changed, 26 insertions, 2 deletions
diff --git a/atk.override b/atk.override
index 7d792cf9..58ee788b 100644
--- a/atk.override
+++ b/atk.override
@@ -50,11 +50,16 @@ _wrap_atk_relation_new (PyGObject *self, PyObject *args, PyObject *kwargs)
return -1;
if (!PySequence_Check(py_targets)) {
- PyErr_SetString(PyExc_TypeError, "targets argument must be a sequence");
+ PyErr_SetString(PyExc_TypeError,
+ "targets argument must be a non-empty sequence");
return -1;
}
- count = PySequence_Length(py_targets);
+ if ((count = PySequence_Length(py_targets)) == 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "targets argument must be a non-empty sequence");
+ return -1;
+ }
targets = g_new(AtkObject *, count);
for (i = 0; i < count; i++) {
PyObject *item = PySequence_GetItem(py_targets, i);
@@ -229,3 +234,22 @@ _wrap_atk_image_get_image_position(PyGObject *self, PyObject *args,
atk_image_get_image_position(ATK_IMAGE(self->obj), &x, &y, coord_type);
return Py_BuildValue("(ii)", x, y);
}
+%%
+override atk_relation_get_target noargs
+static PyObject *
+_wrap_atk_relation_get_target (PyGObject *self)
+{
+ GPtrArray * trgtarray;
+ AtkObject **targets;
+ int i;
+ PyObject *py_targets;
+
+ trgtarray = atk_relation_get_target(ATK_RELATION(self->obj));
+ py_targets = PyList_New(trgtarray->len);
+ targets = (AtkObject**)trgtarray->pdata;
+ for (i = 0; i < trgtarray->len; i++) {
+ PyObject *item = pygobject_new((GObject*)targets[i]);
+ PyList_SetItem(py_targets, i, item);
+ }
+ return py_targets;
+}