Text should be implemented by Objects on behalf of widgets
that have text content which is either attributed or otherwise non-trivial.
Objects whose text content is simple, unattributed, and very brief may expose that content
via get_name instead; however if the text is editable, multi-line, typically
longer than three or four words, attributed, selectable, or if the object already uses the 'name' ATK property for other information, the
Text interface should be used to expose the text content. In the case of editable text content,
EditableText (a subtype of the Text interface) should
be implemented instead.
Text provides not only traversal facilities and change notification for text content, but also caret
tracking and glyph bounding box calculations. Note that the text strings are exposed as UTF-8, and are therefore potentially multi-byte,
and caret-to-byte offset mapping makes no assumptions about the character length; also bounding box glyph-to-offset mapping may be complex
for languages which use ligatures.
Gets a portion of the text exposed through an
Text according to a given offset and a specific granularity, along with the start and end offsets
defining the boundaries of such a portion of text.
publicabstractstringget_text (int start_offset, int end_offset)
The "text-caret-moved" signal is emitted when the caret position of
the text of an object which implements AtkText changes.
publicvirtualsignalvoidtext_changed (int position, int length)
The "text-changed" signal is emitted when the text of the object which
implements the AtkText interface changes, This signal will have a detail which is either "insert" or "delete" which identifies whether
the text change was an insertion or a deletion.
publicsignalvoidtext_insert (int arg1, int arg2, string arg3)
The "text-insert" signal is emitted when a new text is inserted.
publicsignalvoidtext_remove (int arg1, int arg2, string arg3)
The "text-remove" signal is emitted when a new text is removed.