summaryrefslogtreecommitdiff
path: root/atk.override
diff options
context:
space:
mode:
authorJohn Finlay <finlay@src.gnome.org>2006-07-06 07:26:54 +0000
committerJohn Finlay <finlay@src.gnome.org>2006-07-06 07:26:54 +0000
commit96ec5d0af9354d536f1d56fafd53dd92d42cbe5c (patch)
tree2a34c55daaaa7354eb1a40d85cdca1937097d4e8 /atk.override
parent4ecf6350c933ac2a0f83177dae701a9e5db45fe5 (diff)
downloadpygtk-96ec5d0af9354d536f1d56fafd53dd92d42cbe5c.tar.gz
Add call to _pyatk_register_boxed_types()
* atkmodule.c (initatk): Add call to _pyatk_register_boxed_types() * Makefile.am (ATK_OVERRIDES): Add atkrectangle.override * atkrectangle.override: Add. * atk.override (_wrap_atk_text_get_text_at_offset) (_wrap_atk_text_get_text_before_offset) (_wrap_atk_text_get_character_extents) (_wrap_atk_text_get_run_attributes) (_wrap_atk_text_get_default_attributes) (_wrap_atk_text_get_bounded_ranges, _wrap_atk_text_get_selection) (_wrap_atk_text_get_range_extents): Add, * atk.defs (atk_rectangle_new): Add.
Diffstat (limited to 'atk.override')
-rw-r--r--atk.override218
1 files changed, 218 insertions, 0 deletions
diff --git a/atk.override b/atk.override
index b0d2ce9c..73b7b9de 100644
--- a/atk.override
+++ b/atk.override
@@ -28,6 +28,9 @@ headers
#include <atk/atknoopobjectfactory.h>
#include <atk/atknoopobject.h>
%%
+include
+ atkrectangle.override
+%%
modulename atk
%%
import gobject.GObject as PyGObject_Type
@@ -380,3 +383,218 @@ _wrap_atk_text_get_text_after_offset(PyGObject *self, PyObject *args,
offset, boundary, &start, &end);
return Py_BuildValue("(s#ii)", text, end-start, start, end);
}
+%%
+override atk_text_get_text_at_offset kwargs
+static PyObject *
+_wrap_atk_text_get_text_at_offset(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "offset", "boundary_type", NULL };
+ gchar *text;
+ gint start, end, offset;
+ AtkTextBoundary boundary;
+ PyObject *py_boundary;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iO:atk.Text.get_text_at_offset",
+ kwlist, &offset, &py_boundary))
+ return NULL;
+
+ if (pyg_enum_get_value(ATK_TYPE_TEXT_BOUNDARY, py_boundary,
+ (gpointer)&boundary))
+ return NULL;
+
+ text = atk_text_get_text_at_offset(ATK_TEXT(self->obj),
+ offset, boundary, &start, &end);
+ return Py_BuildValue("(s#ii)", text, end-start, start, end);
+}
+%%
+override atk_text_get_text_before_offset kwargs
+static PyObject *
+_wrap_atk_text_get_text_before_offset(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "offset", "boundary_type", NULL };
+ gchar *text;
+ gint start, end, offset;
+ AtkTextBoundary boundary;
+ PyObject *py_boundary;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iO:atk.Text.get_text_before_offset",
+ kwlist, &offset, &py_boundary))
+ return NULL;
+
+ if (pyg_enum_get_value(ATK_TYPE_TEXT_BOUNDARY, py_boundary,
+ (gpointer)&boundary))
+ return NULL;
+
+ text = atk_text_get_text_before_offset(ATK_TEXT(self->obj),
+ offset, boundary, &start, &end);
+ return Py_BuildValue("(s#ii)", text, end-start, start, end);
+}
+%%
+override atk_text_get_character_extents kwargs
+static PyObject *
+_wrap_atk_text_get_character_extents(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "offset", "coords", NULL };
+ gint offset, x, y, width, height;
+ AtkCoordType coords;
+ PyObject *py_coords;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iO:atk.Text.get_character_extents",
+ kwlist, &offset, &py_coords))
+ return NULL;
+
+ if (pyg_enum_get_value(ATK_TYPE_COORD_TYPE, py_coords,
+ (gpointer)&coords))
+ return NULL;
+
+ atk_text_get_character_extents(ATK_TEXT(self->obj), offset,
+ &x, &y, &width, &height, coords);
+ return Py_BuildValue("(iiii)", x, y, width, height);
+}
+%%
+override atk_text_get_run_attributes kwargs
+static PyObject *
+_wrap_atk_text_get_run_attributes(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "offset", NULL };
+ gint offset, start, end;
+ AtkAttributeSet *attribs;
+ PyObject *py_attribs;
+ gint count, i;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iO:atk.Text.get_run_attributes",
+ kwlist, &offset))
+ return NULL;
+
+ attribs = atk_text_get_run_attributes(ATK_TEXT(self->obj), offset,
+ &start, &end);
+ count = g_slist_length(attribs);
+ py_attribs = PyTuple_New(count);
+ for (i = 0; i < count; i++) {
+ AtkAttribute *attr = g_slist_nth_data(attribs, i);
+ PyTuple_SetItem(py_attribs, i, Py_BuildValue("(ss)", attr->name,
+ attr->value));
+ }
+ atk_attribute_set_free(attribs);
+ return Py_BuildValue("(Nii)", py_attribs, start, end);
+}
+%%
+override atk_text_get_default_attributes noargs
+static PyObject *
+_wrap_atk_text_get_default_attributes(PyGObject *self)
+{
+ AtkAttributeSet *attribs;
+ PyObject *py_attribs;
+ gint count, i;
+
+ attribs = atk_text_get_default_attributes(ATK_TEXT(self->obj));
+ count = g_slist_length(attribs);
+ py_attribs = PyTuple_New(count);
+ for (i = 0; i < count; i++) {
+ AtkAttribute *attr = g_slist_nth_data(attribs, i);
+ PyTuple_SetItem(py_attribs, i, Py_BuildValue("(ss)", attr->name,
+ attr->value));
+ }
+ atk_attribute_set_free(attribs);
+ return py_attribs;
+}
+%%
+override atk_text_get_bounded_ranges kwargs
+static PyObject *
+_wrap_atk_text_get_bounded_ranges(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "rect", "coord_type", "x_clip_type",
+ "y_clip_type", NULL };
+ AtkRectangle rect;
+ AtkCoordType coord;
+ AtkTextClipType x_clip, y_clip;
+ AtkTextRange **ranges, *range;
+ PyObject *py_rect, *py_coord, *py_x_clip, *py_y_clip, *py_ranges;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "OOOO:atk.Text.get_bounded_ranges",
+ kwlist, &py_rect, &py_coord, &py_x_clip,
+ &py_y_clip))
+ return NULL;
+
+ if (pyatk_rectangle_from_pyobject(py_rect, &rect))
+ return NULL;
+ if (pyg_enum_get_value(ATK_TYPE_COORD_TYPE, py_coord, (gpointer)&coord))
+ return NULL;
+ if (pyg_enum_get_value(ATK_TYPE_TEXT_CLIP_TYPE, py_x_clip,
+ (gpointer)&x_clip))
+ return NULL;
+ if (pyg_enum_get_value(ATK_TYPE_TEXT_CLIP_TYPE, py_y_clip,
+ (gpointer)&y_clip))
+ return NULL;
+
+ ranges = atk_text_get_bounded_ranges(ATK_TEXT(self->obj),
+ (AtkTextRectangle*)&rect, coord,
+ x_clip, y_clip);
+ py_ranges = PyList_New(0);
+ while ((range = *ranges++)) {
+ PyObject *py_range;
+ py_rect = pyg_boxed_new(ATK_TYPE_RECTANGLE,
+ (AtkRectangle*)&range->bounds, TRUE, TRUE);
+ py_range = Py_BuildValue("(Niis)", py_rect, range->start_offset,
+ range->end_offset, range->content);
+ PyList_Append(py_ranges, py_range);
+ Py_DECREF(py_range);
+ }
+ atk_text_free_ranges(ranges);
+
+ return py_ranges;
+}
+%%
+override atk_text_get_selection kwargs
+static PyObject *
+_wrap_atk_text_get_selection(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "selection_num", NULL };
+ gchar *text;
+ gint start, end, selection_num;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iO:atk.Text.get_selection",
+ kwlist, &selection_num))
+ return NULL;
+
+ text = atk_text_get_selection(ATK_TEXT(self->obj),
+ selection_num, &start, &end);
+ return Py_BuildValue("(s#ii)", text, end-start, start, end);
+}
+%%
+override atk_text_get_range_extents kwargs
+static PyObject *
+_wrap_atk_text_get_range_extents(PyGObject *self, PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "start_offset", "end_offset", "coord_type",
+ NULL };
+ gint start, end;
+ AtkCoordType coord;
+ AtkTextRectangle rect;
+ PyObject *py_coord;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iiO:atk.Text.get_range_extents",
+ kwlist, &start, &end, &py_coord))
+ return NULL;
+
+ if (pyg_enum_get_value(ATK_TYPE_COORD_TYPE, py_coord,
+ (gpointer)&coord))
+ return NULL;
+
+ atk_text_get_range_extents(ATK_TEXT(self->obj), start, end, coord, &rect);
+ return pyg_boxed_new(ATK_TYPE_RECTANGLE, (AtkRectangle*)&rect, TRUE, TRUE);
+}