Interface
AtkText
Description [src]
interface Atk.Text : GObject.Object
AtkText
should be implemented by AtkObjects
on behalf of widgets
that have text content which is either attributed or otherwise
non-trivial. AtkObjects
whose text content is simple,
unattributed, and very brief may expose that content via
atk_object_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 AtkText
interface should be used to
expose the text content. In the case of editable text content,
AtkEditableText
(a subtype of the AtkText
interface) should be
implemented instead.
AtkText
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.
Prerequisite
In order to implement Text, your type must inherit from
GObject
.
Functions
atk_text_free_ranges
Frees the memory associated with an array of AtkTextRange. It is assumed that the array was returned by the function atk_text_get_bounded_ranges and is NULL terminated.
Instance methods
atk_text_add_selection
Adds a selection bounded by the specified offsets.
atk_text_get_bounded_ranges
Get the ranges of text in the specified bounding box.
Available since: 1.3
atk_text_get_caret_offset
Gets the offset of the position of the caret (cursor).
atk_text_get_character_at_offset
Gets the specified text.
atk_text_get_character_count
Gets the character count.
atk_text_get_character_extents
If the extent can not be obtained (e.g. missing support), all of x, y, width, height are set to -1.
atk_text_get_default_attributes
Creates an AtkAttributeSet
which consists of the default values of
attributes for the text. See the enum AtkTextAttribute for types of text
attributes that can be returned. Note that other attributes may also be returned.
atk_text_get_n_selections
Gets the number of selected regions.
atk_text_get_offset_at_point
Gets the offset of the character located at coordinates x
and y
. x
and y
are interpreted as being relative to the screen or this widget’s window
depending on coords
.
atk_text_get_range_extents
Get the bounding box for text within the specified range.
Available since: 1.3
atk_text_get_run_attributes
Creates an AtkAttributeSet
which consists of the attributes explicitly
set at the position offset
in the text. start_offset
and end_offset
are
set to the start and end of the range around offset
where the attributes are
invariant. Note that end_offset
is the offset of the first character
after the range. See the enum AtkTextAttribute for types of text
attributes that can be returned. Note that other attributes may also be returned.
atk_text_get_selection
Gets the text from the specified selection.
atk_text_get_string_at_offset
Gets a portion of the text exposed through an AtkText
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.
Available since: 2.10
atk_text_get_text
Gets the specified text.
atk_text_remove_selection
Removes the specified selection.
atk_text_scroll_substring_to
Makes a substring of text
visible on the screen by scrolling all necessary parents.
Available since: 2.32
atk_text_scroll_substring_to_point
Move the top-left of a substring of text
to a given position of the screen
by scrolling all necessary parents.
Available since: 2.32
atk_text_set_caret_offset
Sets the caret (cursor) position to the specified offset
.
atk_text_set_selection
Changes the start and end offset of the specified selection.
Signals
Atk.Text::text-attributes-changed
The “text-attributes-changed” signal is emitted when the text attributes of the text of an object which implements AtkText changes.
Atk.Text::text-caret-moved
The “text-caret-moved” signal is emitted when the caret position of the text of an object which implements AtkText changes.
Atk.Text::text-changed
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.
Deprecated since: 2.9.4
Atk.Text::text-insert
The “text-insert” signal is emitted when a new text is inserted. If the signal was not triggered by the user (e.g. typing or pasting text), the “system” detail should be included.
Atk.Text::text-remove
The “text-remove” signal is emitted when a new text is removed. If the signal was not triggered by the user (e.g. typing or pasting text), the “system” detail should be included.
Atk.Text::text-selection-changed
The “text-selection-changed” signal is emitted when the selected text of an object which implements AtkText changes.
Interface structure
struct AtkTextIface {
GTypeInterface parent;
gchar* (* get_text) (
AtkText* text,
gint start_offset,
gint end_offset
);
gchar* (* get_text_after_offset) (
AtkText* text,
gint offset,
AtkTextBoundary boundary_type,
gint* start_offset,
gint* end_offset
);
gchar* (* get_text_at_offset) (
AtkText* text,
gint offset,
AtkTextBoundary boundary_type,
gint* start_offset,
gint* end_offset
);
gunichar (* get_character_at_offset) (
AtkText* text,
gint offset
);
gchar* (* get_text_before_offset) (
AtkText* text,
gint offset,
AtkTextBoundary boundary_type,
gint* start_offset,
gint* end_offset
);
gint (* get_caret_offset) (
AtkText* text
);
AtkAttributeSet* (* get_run_attributes) (
AtkText* text,
gint offset,
gint* start_offset,
gint* end_offset
);
AtkAttributeSet* (* get_default_attributes) (
AtkText* text
);
void (* get_character_extents) (
AtkText* text,
gint offset,
gint* x,
gint* y,
gint* width,
gint* height,
AtkCoordType coords
);
gint (* get_character_count) (
AtkText* text
);
gint (* get_offset_at_point) (
AtkText* text,
gint x,
gint y,
AtkCoordType coords
);
gint (* get_n_selections) (
AtkText* text
);
gchar* (* get_selection) (
AtkText* text,
gint selection_num,
gint* start_offset,
gint* end_offset
);
gboolean (* add_selection) (
AtkText* text,
gint start_offset,
gint end_offset
);
gboolean (* remove_selection) (
AtkText* text,
gint selection_num
);
gboolean (* set_selection) (
AtkText* text,
gint selection_num,
gint start_offset,
gint end_offset
);
gboolean (* set_caret_offset) (
AtkText* text,
gint offset
);
void (* text_changed) (
AtkText* text,
gint position,
gint length
);
void (* text_caret_moved) (
AtkText* text,
gint location
);
void (* text_selection_changed) (
AtkText* text
);
void (* text_attributes_changed) (
AtkText* text
);
void (* get_range_extents) (
AtkText* text,
gint start_offset,
gint end_offset,
AtkCoordType coord_type,
AtkTextRectangle* rect
);
AtkTextRange** (* get_bounded_ranges) (
AtkText* text,
AtkTextRectangle* rect,
AtkCoordType coord_type,
AtkTextClipType x_clip_type,
AtkTextClipType y_clip_type
);
gchar* (* get_string_at_offset) (
AtkText* text,
gint offset,
AtkTextGranularity granularity,
gint* start_offset,
gint* end_offset
);
gboolean (* scroll_substring_to) (
AtkText* text,
gint start_offset,
gint end_offset,
AtkScrollType type
);
gboolean (* scroll_substring_to_point) (
AtkText* text,
gint start_offset,
gint end_offset,
AtkCoordType coords,
gint x,
gint y
);
}
Interface members
parent |
|
No description available. | |
get_text |
|
No description available. | |
get_text_after_offset |
|
No description available. | |
get_text_at_offset |
|
No description available. | |
get_character_at_offset |
|
No description available. | |
get_text_before_offset |
|
No description available. | |
get_caret_offset |
|
No description available. | |
get_run_attributes |
|
No description available. | |
get_default_attributes |
|
No description available. | |
get_character_extents |
|
No description available. | |
get_character_count |
|
No description available. | |
get_offset_at_point |
|
No description available. | |
get_n_selections |
|
No description available. | |
get_selection |
|
No description available. | |
add_selection |
|
No description available. | |
remove_selection |
|
No description available. | |
set_selection |
|
No description available. | |
set_caret_offset |
|
No description available. | |
text_changed |
|
No description available. | |
text_caret_moved |
|
No description available. | |
text_selection_changed |
|
No description available. | |
text_attributes_changed |
|
No description available. | |
get_range_extents |
|
No description available. | |
get_bounded_ranges |
|
No description available. | |
get_string_at_offset |
|
No description available. | |
scroll_substring_to |
|
No description available. | |
scroll_substring_to_point |
|
No description available. |
Virtual methods
Atk.Text.add_selection
Adds a selection bounded by the specified offsets.
Atk.Text.get_bounded_ranges
Get the ranges of text in the specified bounding box.
Atk.Text.get_caret_offset
Gets the offset of the position of the caret (cursor).
Atk.Text.get_character_at_offset
Gets the specified text.
Atk.Text.get_character_count
Gets the character count.
Atk.Text.get_character_extents
If the extent can not be obtained (e.g. missing support), all of x, y, width, height are set to -1.
Atk.Text.get_default_attributes
Creates an AtkAttributeSet
which consists of the default values of
attributes for the text. See the enum AtkTextAttribute for types of text
attributes that can be returned. Note that other attributes may also be returned.
Atk.Text.get_n_selections
Gets the number of selected regions.
Atk.Text.get_offset_at_point
Gets the offset of the character located at coordinates x
and y
. x
and y
are interpreted as being relative to the screen or this widget’s window
depending on coords
.
Atk.Text.get_range_extents
Get the bounding box for text within the specified range.
Atk.Text.get_run_attributes
Creates an AtkAttributeSet
which consists of the attributes explicitly
set at the position offset
in the text. start_offset
and end_offset
are
set to the start and end of the range around offset
where the attributes are
invariant. Note that end_offset
is the offset of the first character
after the range. See the enum AtkTextAttribute for types of text
attributes that can be returned. Note that other attributes may also be returned.
Atk.Text.get_selection
Gets the text from the specified selection.
Atk.Text.get_string_at_offset
Gets a portion of the text exposed through an AtkText
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.
Atk.Text.get_text
Gets the specified text.
Atk.Text.remove_selection
Removes the specified selection.
Atk.Text.scroll_substring_to
Makes a substring of text
visible on the screen by scrolling all necessary parents.
Atk.Text.scroll_substring_to_point
Move the top-left of a substring of text
to a given position of the screen
by scrolling all necessary parents.
Atk.Text.set_caret_offset
Sets the caret (cursor) position to the specified offset
.
Atk.Text.set_selection
Changes the start and end offset of the specified selection.