Spec-Zone.ru › GTK 4.0

GtkTextIter

GtkTextIter — Итератор буфера текста

Функции

GtkTextBuffer * gtk_text_iter_get_buffer ()
GtkTextIter * gtk_text_iter_copy ()
void gtk_text_iter_assign ()
void gtk_text_iter_free ()
int gtk_text_iter_get_offset ()
int gtk_text_iter_get_line ()
int gtk_text_iter_get_line_offset ()
int gtk_text_iter_get_line_index ()
int gtk_text_iter_get_visible_line_index ()
int gtk_text_iter_get_visible_line_offset ()
gunichar gtk_text_iter_get_char ()
char * gtk_text_iter_get_slice ()
char * gtk_text_iter_get_text ()
char * gtk_text_iter_get_visible_slice ()
char * gtk_text_iter_get_visible_text ()
GdkPaintable * gtk_text_iter_get_paintable ()
GSList * gtk_text_iter_get_marks ()
GSList * gtk_text_iter_get_toggled_tags ()
GtkTextChildAnchor * gtk_text_iter_get_child_anchor ()
gboolean gtk_text_iter_starts_tag ()
gboolean gtk_text_iter_ends_tag ()
gboolean gtk_text_iter_toggles_tag ()
gboolean gtk_text_iter_has_tag ()
GSList * gtk_text_iter_get_tags ()
gboolean gtk_text_iter_editable ()
gboolean gtk_text_iter_can_insert ()
gboolean gtk_text_iter_starts_word ()
gboolean gtk_text_iter_ends_word ()
gboolean gtk_text_iter_inside_word ()
gboolean gtk_text_iter_starts_line ()
gboolean gtk_text_iter_ends_line ()
gboolean gtk_text_iter_starts_sentence ()
gboolean gtk_text_iter_ends_sentence ()
gboolean gtk_text_iter_inside_sentence ()
gboolean gtk_text_iter_is_cursor_position ()
int gtk_text_iter_get_chars_in_line ()
int gtk_text_iter_get_bytes_in_line ()
PangoLanguage * gtk_text_iter_get_language ()
gboolean gtk_text_iter_is_end ()
gboolean gtk_text_iter_is_start ()
gboolean gtk_text_iter_forward_char ()
gboolean gtk_text_iter_backward_char ()
gboolean gtk_text_iter_forward_chars ()
gboolean gtk_text_iter_backward-chars ()
gboolean gtk_text_iter_forward_line ()
gboolean gtk_text_iter_backward_line ()
gboolean gtk_text_iter_forward_lines ()
gboolean gtk_text_iter_backward-lines ()
gboolean gtk_text_iter_forward_word_ends ()
gboolean gtk_text_iter_backward_word_starts ()
gboolean gtk_text_iter_forward_word_end ()
gboolean gtk_text_iter_backward_word_start ()
gboolean gtk_text_iter_forward_cursor_position ()
gboolean gtk_text_iter_backward_cursor_position ()
gboolean gtk_text_iter_forward_cursor_positions ()
gboolean gtk_text_iter_backward_cursor_positions ()
gboolean gtk_text_iter_backward_sentence_start ()
gboolean gtk_text_iter_backward_sentence_starts ()
gboolean gtk_text_iter_forward_sentence_end ()
gboolean gtk_text_iter_forward_sentence_ends ()
gboolean gtk_text_iter_forward_visible_word_ends ()
gboolean gtk_text_iter_backward_visible_word_starts ()
gboolean gtk_text_iter_forward_visible_word_end ()
gboolean gtk_text_iter_backward_visible_word_start ()
gboolean gtk_text_iter_forward_visible_cursor_position ()
gboolean gtk_text_iter_backward_visible_cursor_position ()
gboolean gtk_text_iter_forward_visible_cursor_positions ()
gboolean gtk_text_iter_backward_visible_cursor_positions ()
gboolean gtk_text_iter_forward_visible_line ()
gboolean gtk_text_iter_backward_visible_line ()
gboolean gtk_text_iter_forward_visible_lines ()
gboolean gtk_text_iter_backward_visible_lines ()
void gtk_text_iter_set_offset ()
void gtk_text_iter_set_line ()
void gtk_text_iter_set_line_offset ()
void gtk_text_iter_set_line_index ()
void gtk_text_iter_set_visible_line_index ()
void gtk_text_iter_set_visible_line_offset ()
void gtk_text_iter_forward_to_end ()
gboolean gtk_text_iter_forward_to_line_end ()
gboolean gtk_text_iter_forward_to_tag_toggle ()
gboolean gtk_text_iter_backward_to_tag_toggle ()
gboolean (*GtkTextCharPredicate) ()
gboolean gtk_text_iter_forward_find_char ()
gboolean gtk_text_iter_backward_find_char ()
gboolean gtk_text_iter_forward_search ()
gboolean gtk_text_iter_backward_search ()
gboolean gtk_text_iter_equal ()
int gtk_text_iter_compare ()
gboolean gtk_text_iter_in_range ()
void gtk_text_iter_order ()

Типы и значения

GtkTextIter
перечисление GtkTextSearchFlags

Иерархия объектов

    GBoxed
    ╰── GtkTextIter

Включаемые файлы

#include <gtk/gtk.h>

Описание

Возможно, вам следует начать с прочтения обзорной концепции виджета текста, которая даёт общее представление обо всех объектах и типах данных, связанных с виджетом текста, и о том, как они взаимодействуют.

Функции

gtk_text_iter_get_buffer ()

GtkTextBuffer *
gtk_text_iter_get_buffer (const GtkTextIter *iter);

Возвращает GtkTextBuffer, с которым связан этот итератор.

Параметры

iter

итератор

Возвращает

буфер.

[transfer none]

gtk_text_iter_copy ()

GtkTextIter *
gtk_text_iter_copy (const GtkTextIter *iter);

Создаёт динамически выделенную копию итератора. Эта функция бесполезна в приложениях, так как итераторы можно копировать простым присваиванием (GtkTextIter i = j;). Функция используется языковыми бинд ингами.

Параметры

iter

итератор

Возвращает

копию iter, освобождаемую с помощью gtk_text_iter_free()

gtk_text_iter_assign ()

void
gtk_text_iter_assign (GtkTextIter *iter,
                      const GtkTextIter *other);

Присваивает значение other переменной iter. Эта функция бесполезна в приложениях, так как итераторы можно присваивать с помощью GtkTextIter i = j;. Функция используется языковыми бинд ингами.

Параметры

iter

a GtkTextIter

other

another GtkTextIter

gtk_text_iter_free ()

void
gtk_text_iter_free (GtkTextIter *iter);

Освобождает итератор, выделенный в куче. Эта функция предназначена для использования языковыми бинд ингами и не особенно полезна для приложений, так как итераторы можно просто выделить на стеке.

Параметры

iter

динамически выделенный итератор

gtk_text_iter_get_offset ()

int
gtk_text_iter_get_offset (const GtkTextIter *iter);

Возвращает смещение символа итератора. Каждый символ в GtkTextBuffer имеет смещение, начиная с 0 для первого символа в буфере. Используйте gtk_text_buffer_get_iter_at_offset(), чтобы преобразовать смещение обратно в итератор.

Параметры

iter

итератор

Возвращает

смещение символа

gtk_text_iter_get_line ()

int
gtk_text_iter_get_line (const GtkTextIter *iter);

Возвращает номер строки, содержащей итератор. Строки в GtkTextBuffer нумеруются, начиная с 0 для первой строки в буфере.

Параметры

iter

итератор

Возвращает

номер строки

gtk_text_iter_get_line_offset ()

int
gtk_text_iter_get_line_offset (const GtkTextIter *iter);

Возвращает смещение символа итератора, считая от начала строки, завершающейся символом новой строки. Первый символ в строке имеет смещение 0.

Параметры

iter

итератор

Возвращает

смещение от начала строки

gtk_text_iter_get_line_index ()

int
gtk_text_iter_get_line_index (const GtkTextIter *iter);

Возвращает индекс байта итератора, считая от начала строки, завершающейся символом новой строки. Помните, что GtkTextBuffer кодирует текст в UTF-8, и что символы могут потребовать разное количество байтов для представления.

Параметры

iter

итератор

Возвращает

расстояние от начала строки в байтах

gtk_text_iter_get_visible_line_index ()

int
gtk_text_iter_get_visible_line_index (const GtkTextIter *iter);

Возвращает количество байтов от начала строки до указанного iter, не считая байтов, невидимых из-за тегов с установленным флагом «невидимый».

Параметры

iter

a GtkTextIter

Возвращает

индекс байта iter относительно начала строки

gtk_text_iter_get_visible_line_offset ()

int
gtk_text_iter_get_visible_line_offset (const GtkTextIter *iter);

Возвращает смещение в символах от начала строки до данного iter, не считая символов, которые невидимы из-за тегов с включённым флагом «невидимый».

Параметры

iter

a GtkTextIter

Возвращает

смещение в видимых символах от начала строки

gtk_text_iter_get_char ()

gunichar
gtk_text_iter_get_char (const GtkTextIter *iter);

Возвращает символ Юникод в данной точке итератора. (Эквивалентно оператору * для C++ итератора.) Если элемент в данной точке итератора является элементом, не являющимся символом, например, изображение, встроенное в буфер, возвращается символ Юникод «неизвестный» 0xFFFC. Если вызывается на конечном итераторе, возвращается ноль; ноль не является допустимым символом Юникод. Таким образом, вы можете написать цикл, который завершается, когда gtk_text_iter_get_char() возвращает 0.

Параметры

iter

итератор

Возвращает

символ Юникод или 0, если iter нельзя разыменовать

gtk_text_iter_get_slice ()

char *
gtk_text_iter_get_slice (const GtkTextIter *start,
                         const GtkTextIter *end);

Возвращает текст в заданном диапазоне. «Срез» — это массив символов, закодированных в формате UTF-8, включая символ Юникод «неизвестный» 0xFFFC для элементов, не являющихся символами, которые можно итерировать в буфере, таких как изображения. Поскольку изображения закодированы в срезе, байтовые и символьные смещения в возвращаемом массиве будут соответствовать байтовым смещениям в текстовом буфере. Обратите внимание, что 0xFFFC может встречаться и в обычном тексте, поэтому это не надёжный индикатор того, что в буфере находится изображение или виджет.

Параметры

start

итератор в начале диапазона

end

итератор в конце диапазона

Возвращает

срез текста из буфера.

[transfer full]

gtk_text_iter_get_text ()

char *
gtk_text_iter_get_text (const GtkTextIter *start,
                        const GtkTextIter *end);

Возвращает текст в заданном диапазоне. Если диапазон содержит элементы, не являющиеся текстом, такие как изображения, смещения символов и байтов в возвращаемой строке не будут соответствовать смещениям символов и байтов в буфере. Если вам нужны смещения, которые соответствуют, см. gtk_text_iter_get_slice().

Параметры

start

итератор в начале диапазона

end

итератор в конце диапазона

Возвращает

массив символов из буфера.

[transfer full]

gtk_text_iter_get_visible_slice ()

char *
gtk_text_iter_get_visible_slice (const GtkTextIter *start,
                                 const GtkTextIter *end);

Аналогично gtk_text_iter_get_slice(), но невидимый текст не включается. Невидимый текст обычно невидим, потому что к нему применён тег GtkTextTag с включённым атрибутом “invisible”.

Параметры

start

итератор в начале диапазона

end

итератор в конце диапазона

Возвращаемое значение

фрагмент текста из буфера.

[transfer full]

gtk_text_iter_get_visible_text ()

char *
gtk_text_iter_get_visible_text (const GtkTextIter *start,
                                const GtkTextIter *end);

Аналогично gtk_text_iter_get_text(), но невидимый текст не включается. Невидимый текст обычно невидим, потому что к нему применён тег GtkTextTag с включённым атрибутом “invisible”.

Параметры

start

итератор в начале диапазона

end

итератор в конце диапазона

Возвращаемое значение

строка, содержащая видимый текст в диапазоне.

[transfer full]

gtk_text_iter_get_paintable ()

GdkPaintable *
gtk_text_iter_get_paintable (const GtkTextIter *iter);

Если элемент в iter является paintable, возвращается paintable (без добавления нового счётчика ссылок). В противном случае возвращается NULL.

Параметры

iter

итератор

Возвращаемое значение

paintable в iter .

[transfer none]

gtk_text_iter_get_marks ()

GSList *
gtk_text_iter_get_marks (const GtkTextIter *iter);

Возвращает список всех GtkTextMark в этом месте. Поскольку метки не являются итерируемыми (они не занимают никакого "пространства" в буфере, это просто метки между итерируемыми местоположениями), несколько меток могут существовать в одном и том же месте. Возвращаемый список не имеет какого-либо осмысленного порядка.

Параметры

iter

итератор

Возвращаемое значение

список GtkTextMark.

[element-type GtkTextMark][transfer container]

gtk_text_iter_get_toggled_tags ()

GSList *
gtk_text_iter_get_toggled_tags (const GtkTextIter *iter,
                                gboolean toggled_on);

Возвращает список GtkTextTag, которые включены или выключены в этой точке. (Если toggled_on равно TRUE, список содержит теги, которые включены.) Если тег включен в iter, то некоторый непустой диапазон символов после iter имеет этот тег. Если тег выключен, то некоторый непустой диапазон после iter не имеет этого тега.

Параметры

iter

итератор

toggled_on

TRUE для получения включенных тегов

Возвращаемое значение

теги, переключаемые в этой точке.

[element-type GtkTextTag][transfer container]

gtk_text_iter_get_child_anchor ()

GtkTextChildAnchor *
gtk_text_iter_get_child_anchor (const GtkTextIter *iter);

Если местоположение в iter содержит дочерний якорь, возвращается якорь (без добавления нового счётчика ссылок). В противном случае возвращается NULL.

Параметры

iter

итератор

Возвращаемое значение

якорь в iter .

[transfer none]

gtk_text_iter_starts_tag ()

gboolean
gtk_text_iter_starts_tag (const GtkTextIter *iter,
                          GtkTextTag *tag);

Возвращает TRUE, если tag включен именно в этой точке. Если tag равно NULL, возвращает TRUE, если какой-либо тег включен в этой точке.

Обратите внимание, что если gtk_text_iter_starts_tag() возвращает TRUE, это означает, что iter находится в начале помеченного диапазона, и что символ в iter находится внутри помеченного диапазона. Другими словами, в отличие от gtk_text_iter_ends_tag(), если gtk_text_iter_starts_tag() возвращает TRUE, gtk_text_iter_has_tag() также вернёт TRUE для тех же параметров.

Параметры

iter

итератор

tag

a GtkTextTag, или NULL.

[nullable]

Возвращаемое значение

является ли iter началом диапазона, помеченного tag

gtk_text_iter_ends_tag ()

gboolean
gtk_text_iter_ends_tag (const GtkTextIter *iter,
                        GtkTextTag *tag);

Возвращает TRUE, если tag выключен именно в этой точке. Если tag равно NULL, возвращает TRUE, если какой-либо тег выключен в этой точке.

Обратите внимание, что если gtk_text_iter_ends_tag() возвращает TRUE, это означает, что iter находится в конце помеченного диапазона, но что символ в iter находится вне помеченного диапазона. Другими словами, в отличие от gtk_text_iter_starts_tag(), если gtk_text_iter_ends_tag() возвращает TRUE, gtk_text_iter_has_tag() вернёт FALSE для тех же параметров.

Параметры

iter

итератор

tag

a GtkTextTag, или NULL.

[allow-none]

Возвращаемое значение

является ли iter концом диапазона, помеченного tag

gtk_text_iter_toggles_tag ()

gboolean
gtk_text_iter_toggles_tag (const GtkTextIter *iter,
                           GtkTextTag *tag);

Это эквивалентно (gtk_text_iter_starts_tag() || gtk_text_iter_ends_tag()), то есть, это говорит вам, начинается или заканчивается диапазон с примененным к нему tag в iter.

Параметры

iter

итератор

tag

a GtkTextTag, или NULL.

[allow-none]

Возвращаемое значение

является ли tag включенным или выключенным в iter

gtk_text_iter_has_tag ()

gboolean
gtk_text_iter_has_tag (const GtkTextIter *iter,
                       GtkTextTag *tag);

Возвращает TRUE, если iter указывает на символ, который является частью диапазона, помеченного tag. См. также gtk_text_iter_starts_tag() и gtk_text_iter_ends_tag().

Параметры

iter

итератор

tag

a GtkTextTag

Возвращаемое значение

помечен ли iter с помощью tag

gtk_text_iter_get_tags ()

GSList *
gtk_text_iter_get_tags (const GtkTextIter *iter);

Возвращает список тегов, которые применяются к iter, в порядке возрастания приоритета (теги с наивысшим приоритетом находятся в конце). К GtkTextTag в списке не добавляется ссылка, но сам список нужно освободить.

Параметры

iter

a GtkTextIter

Возвращаемое значение

список GtkTextTag.

[element-type GtkTextTag][transfer container]

gtk_text_iter_editable ()

gboolean
gtk_text_iter_editable (const GtkTextIter *iter,
                        gboolean default_setting);

Возвращает, находится ли символ в iter внутри редактируемой области текста.

Неизменяемый текст «заблокирован» и не может быть изменен пользователем через GtkTextView. Если ни один из тегов, примененных к этому тексту, не влияет на редактируемость, будет возвращено default_setting.

Не следует использовать эту функцию для определения того, можно ли вставить текст в iter, поскольку для вставки вам не нужно знать, находится ли символ в iter внутри редактируемого диапазона, вам нужно знать, будет ли новый символ, вставленный в iter, внутри редактируемого диапазона. Используйте gtk_text_iter_can_insert() для обработки этого случая.

Параметры

iter

итератор

default_setting

TRUE если текст редактируется по умолчанию

Возвращаемое значение

находится ли iter внутри редактируемого диапазона

gtk_text_iter_can_insert ()

gboolean
gtk_text_iter_can_insert (const GtkTextIter *iter,
                          gboolean default_editability);

Учитывая редактируемость буфера по умолчанию и теги, влияющие на редактируемость, определяет, будет ли текст, вставленный в iter, редактируемым. Если текст, вставленный в iter, будет редактируемым, то пользователю должно быть разрешено вставлять текст в iter. gtk_text_buffer_insert_interactive() использует эту функцию, чтобы определить, разрешены ли вставки в заданной позиции.

Параметры

iter

итератор

default_editability

TRUE если текст редактируется по умолчанию

Возвращаемое значение

будет ли текст, вставленный в iter, редактируемым

gtk_text_iter_starts_word ()

gboolean
gtk_text_iter_starts_word (const GtkTextIter *iter);

Определяет, начинается ли iter со слова на естественном языке. Разрывы слов определяются Pango и должны быть корректными практически для любого языка (если нет, правильное исправление будет заключаться в алгоритмах разрыва слов Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter находится в начале слова

gtk_text_iter_ends_word ()

gboolean
gtk_text_iter_ends_word (const GtkTextIter *iter);

Определяет, заканчивается ли iter словом на естественном языке. Разрывы слов определяются Pango и должны быть корректными практически для любого языка (если нет, правильное исправление будет заключаться в алгоритмах разрыва слов Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter находится в конце слова

gtk_text_iter_inside_word ()

gboolean
gtk_text_iter_inside_word (const GtkTextIter *iter);

Определяет, является ли символ, на который указывает iter, частью слова на естественном языке (в отличие, например, от пробела). Разрывы слов определяются Pango и должны быть корректными практически для любого языка (если нет, правильное исправление будет заключаться в алгоритмах разрыва слов Pango).

Обратите внимание, что если gtk_text_iter_starts_word() возвращает TRUE, то эта функция также возвращает TRUE, так как iter указывает на первый символ слова.

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter находится внутри слова

gtk_text_iter_starts_line ()

gboolean
gtk_text_iter_starts_line (const GtkTextIter *iter);

Возвращает TRUE, если iter начинается с абзаца, то есть, если gtk_text_iter_get_line_offset() вернет 0. Однако эта функция потенциально более эффективна, чем gtk_text_iter_get_line_offset(), поскольку ей не нужно вычислять смещение, ей просто нужно проверить, равно ли оно 0.

Параметры

iter

итератор

Возвращаемое значение

начинается ли iter со строки

gtk_text_iter_ends_line ()

gboolean
gtk_text_iter_ends_line (const GtkTextIter *iter);

Возвращает TRUE, если iter указывает на начало разделителей абзаца для строки (разделители — это перевод строки, возврат каретки, возврат каретки, за которым следует перевод строки, или символ разделителя абзаца Юникода). Обратите внимание, что итератор, указывающий на \n пары \r\n, не будет считаться концом строки, конец строки находится перед \r. Конечный итератор считается находящимся в конце строки, даже если там нет символов разделителя абзаца.

Параметры

iter

итератор

Возвращает

является ли iter концом строки

gtk_text_iter_starts_sentence ()

gboolean
gtk_text_iter_starts_sentence (const GtkTextIter *iter);

Определяет, начинается ли iter предложение. Границы предложений определяются Pango и должны быть корректными для почти любого языка (если нет, то правильное исправление будет в алгоритмах разграничения текста Pango).

Параметры

iter

a GtkTextIter

Возвращает

TRUE, если iter находится в начале предложения.

gtk_text-iter_ends_sentence ()

gboolean
gtk_text_iter_ends_sentence (const GtkTextIter *iter);

Определяет, заканчивается ли iter предложение. Границы предложений определяются Pango и должны быть корректными для почти любого языка (если нет, то правильное исправление будет в алгоритмах разграничения текста Pango).

Параметры

iter

a GtkTextIter

Возвращает

TRUE, если iter находится в конце предложения.

gtk_text_iter_inside_sentence ()

gboolean
gtk_text_iter_inside_sentence (const GtkTextIter *iter);

Определяет, находится ли iter внутри предложения (в отличие от пространства между двумя предложениями, например, после точки и перед первой буквой следующего предложения). Границы предложений определяются Pango и должны быть корректными для почти любого языка (если нет, то правильное исправление будет в алгоритмах разграничения текста Pango).

Параметры

iter

a GtkTextIter

Возвращает

TRUE, если iter находится внутри предложения.

gtk_text_iter_is_cursor_position ()

gboolean
gtk_text_iter_is_cursor_position (const GtkTextIter *iter);

См. gtk_text_iter_forward_cursor_position() или PangoLogAttr или pango_break() для получения подробной информации о том, что такое позиция курсора.

Параметры

iter

a GtkTextIter

Возвращает

TRUE, если курсор можно разместить в позиции iter

gtk_text_iter_get_chars_in_line ()

int
gtk_text_iter_get_chars_in_line (const GtkTextIter *iter);

Возвращает количество символов в строке, содержащей iter, включая разделители абзаца.

Параметры

iter

итератор

Возвращает

количество символов в строке

gtk_text_iter_get_bytes_in_line ()

int
gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter);

Возвращает количество байтов в строке, содержащей iter, включая разделители абзаца.

Параметры

iter

итератор

Возвращает

количество байтов в строке

gtk_text_iter_get_language ()

PangoLanguage *
gtk_text_iter_get_language (const GtkTextIter *iter);

Возвращает язык, действующий в позиции iter.

Если к iter не применяются теги, влияющие на язык, возвращаемое значение идентично значению gtk_get_default_language().

Параметры

iter

итератор

Возвращает

язык, действующий в позиции iter.

[transfer full]

gtk_text_iter_is_end ()

gboolean
gtk_text_iter_is_end (const GtkTextIter *iter);

Возвращает TRUE, если iter является конечным итератором, т. е. итератором, следующим за последним обработаемым итератором в буфере. gtk_text_iter_is_end() — это наиболее эффективный способ проверки того, является ли итератор конечным.

Параметры

iter

итератор

Возвращает

является ли iter конечным итератором

gtk_text_iter_is_start ()

gboolean
gtk_text_iter_is_start (const GtkTextIter *iter);

Возвращает TRUE, если iter — первый итератор в буфере, то есть если у iter смещение символа равно 0.

Параметры

iter

итератор

Возвращает

является ли iter первым в буфере

gtk_text_iter_forward_char ()

gboolean
gtk_text_iter_forward_char (GtkTextIter *iter);

Перемещает iter вперёд на одно смещение символа. Обратите внимание, что изображения, встроенные в буфер, занимают 1 слот символа, поэтому gtk_text_iter_forward_char() может фактически переместиться на изображение вместо символа, если в вашем буфере есть изображения. Если iter является конечным итератором или символом перед ним, iter теперь указывает на конечный итератор, и gtk_text_iter_forward_char() возвращает FALSE для удобства при написании циклов.

Параметры

iter

итератор

Возвращает

был ли iter перемещён и доступен для обращения

gtk_text_iter_backward_char ()

gboolean
gtk_text_iter_backward_char (GtkTextIter *iter);

Перемещает назад на одно смещение символа. Возвращает TRUE, если перемещение было возможным; если iter был первым в буфере (смещение символа 0), gtk_text_iter_backward_char() возвращает FALSE для удобства при написании циклов.

Параметры

iter

итератор

Возвращает

возможно ли было перемещение

gtk_text_iter_forward_chars ()

gboolean
gtk_text_iter_forward_chars (GtkTextIter *iter,
                             int count);

Перемещает count символов, если возможно (если count переместит итератор за начало или конец буфера, перемещается к началу или концу буфера). Значение возврата указывает, отличается ли новое положение iter от его исходного положения и доступно ли для обращений (последняя итератор в буфере недоступна для обращений). Если count равно 0, функция ничего не делает и возвращает FALSE.

Параметры

iter

итератор

count

количество символов для перемещения, может быть отрицательным

Возвращает

перемещен ли iter и доступен ли для обращений

gtk_text_iter_backward_chars ()

gboolean
gtk_text_iter_backward_chars (GtkTextIter *iter,
                              int count);

Перемещает count символов назад, если возможно (если count переместит итератор за начало или конец буфера, перемещается к началу или концу буфера). Значение возврата указывает, переместился ли итератор в позицию, доступную для обращений; если итератор не переместился или переместился к конечному итератору, возвращается FALSE. Если count равно 0, функция ничего не делает и возвращает FALSE.

Параметры

iter

итератор

count

количество символов для перемещения

Возвращает

переместился ли iter и доступен ли для обращений

gtk_text_iter_forward_line ()

gboolean
gtk_text_iter_forward_line (GtkTextIter *iter);

Перемещает iter к началу следующей строки. Если итератор уже находится на последней строке буфера, перемещает итератор к концу текущей строки. Если после операции итератор находится в конце буфера и не доступен для обращений, возвращает FALSE. В противном случае возвращает TRUE.

Параметры

iter

итератор

Возвращает

доступен ли iter для обращений

gtk_text_iter_backward_line ()

gboolean
gtk_text_iter_backward_line (GtkTextIter *iter);

Перемещает iter к началу предыдущей строки. Возвращает TRUE если iter можно было переместить; т.е. если iter был в позиции символа 0, эта функция возвращает FALSE. Поэтому, если iter уже находился на строке 0, но не в начале строки, iter перемещается в начало строки, и функция возвращает TRUE. (Обратите внимание, что это означает, что в цикле, вызывающем эту функцию, номер строки может не меняться на каждой итерации, если ваша первая итерация находится на строке 0.)

Параметры

iter

итератор

Возвращает

переместился ли iter

gtk_text_iter_forward_lines ()

gboolean
gtk_text_iter_forward_lines (GtkTextIter *iter,
                             int count);

Перемещает count строк вперед, если возможно (если count переместит итератор за начало или конец буфера, перемещается к началу или концу буфера). Значение возврата указывает, переместился ли итератор в позицию, доступную для обращений; если итератор не переместился или переместился к конечному итератору, возвращается FALSE. Если count равно 0, функция ничего не делает и возвращает FALSE. Если count отрицательное, перемещается назад на 0 - count строк.

Параметры

iter

a GtkTextIter

count

количество строк для перемещения вперед

Возвращает

переместился ли iter и доступен ли для обращений

gtk_text_iter_backward_lines ()

gboolean
gtk_text_iter_backward_lines (GtkTextIter *iter,
                              int count);

Перемещает count строк назад, если возможно (если count переместит итератор за начало или конец буфера, перемещается к началу или концу буфера). Значение возврата указывает, переместился ли итератор в позицию, доступную для обращений; если итератор не переместился или переместился к конечному итератору, возвращается FALSE. Если count равно 0, функция ничего не делает и возвращает FALSE. Если count отрицательное, перемещается вперед на 0 - count строк.

Параметры

iter

a GtkTextIter

count

количество строк для перемещения назад

Возвращает

переместился ли iter и доступен ли для обращений

gtk_text_iter_forward_word_ends ()

gboolean
gtk_text_iter_forward_word_ends (GtkTextIter *iter,
                                 int count);

Вызывает gtk_text_iter_forward_word_end() до count раз.

Параметры

iter

a GtkTextIter

count

количество перемещений

Возвращает

TRUE если iter переместился и не является конечным итератором

gtk_text_iter_backward_word_starts ()

gboolean
gtk_text_iter_backward_word_starts (GtkTextIter *iter,
                                    int count);

Вызывает gtk_text_iter_backward_word_start() до count раз.

Параметры

iter

a GtkTextIter

count

количество перемещений

Возвращает

TRUE если iter переместился и не является конечным итератором

gtk_text_iter_forward_word_end ()

gboolean
gtk_text_iter_forward_word_end (GtkTextIter *iter);

Перемещает вперед к следующему концу слова. (Если iter находится в настоящее время на конце слова, перемещает вперед к следующему за ним.) Разрывы слов определяются Pango и должны быть корректны для почти всех языков (если нет, корректировка должна быть внесена в алгоритмы разбиения слов Pango).

Параметры

iter

a GtkTextIter

Возвращает

TRUE если iter переместился и не является конечным итератором

gtk_text_iter_backward_word_start ()

gboolean
gtk_text_iter_backward_word_start (GtkTextIter *iter);

Перемещает указатель назад к началу предыдущего слова. (Если iter находится в начале слова, перемещает его назад к следующему началу слова после него.) Разделители слов определяются Pango и должны быть корректными для почти любого языка (если нет, то исправление необходимо в алгоритмах разбиения слов Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_forward_cursor_position ()

gboolean
gtk_text_iter_forward_cursor_position (GtkTextIter *iter);

Перемещает iter вперёд на одну позицию курсора. Позиции курсора — это, ожидаемо, позиции, где может находиться курсор. Возможно, неожиданно, что между всеми символами может не быть позиции курсора. Наиболее распространённый пример для европейских языков — последовательность возврата каретки/перевода строки. Для некоторых символов Юникода, например, буквы «a» с диакритическим знаком, будет представлена как два символа: сначала буква, а затем «комбинирующий знак», который отображает диакритический знак; поэтому курсор не может находиться между этими двумя символами. См. также PangoLogAttr и pango_break() функцию.

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если мы переместились и новая позиция доступна для чтения

gtk_text_iter_backward_cursor_position ()

gboolean
gtk_text_iter_backward_cursor_position
                               (GtkTextIter *iter);

Аналогично gtk_text_iter_forward_cursor_position(), но перемещает назад.

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если мы переместились

gtk_text_iter_forward_cursor_positions ()

gboolean
gtk_text_iter_forward_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Перемещает до count позиций курсора. См. gtk_text_iter_forward_cursor_position() для подробностей.

Параметры

iter

a GtkTextIter

count

количество позиций для перемещения

Возвращаемое значение

TRUE если мы переместились и новая позиция доступна для чтения

gtk_text_iter_backward_cursor_positions ()

gboolean
gtk_text_iter_backward_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Перемещает до count позиций курсора. См. gtk_text_iter_forward_cursor_position() для подробностей.

Параметры

iter

a GtkTextIter

count

количество позиций для перемещения

Возвращаемое значение

TRUE если мы переместились и новая позиция доступна для чтения

gtk_text_iter_backward_sentence_start ()

gboolean
gtk_text_iter_backward_sentence_start (GtkTextIter *iter);

Перемещает указатель назад к началу предыдущего предложения; если iter уже находится в начале предложения, перемещает его назад к следующему началу предложения. Границы предложений определяются Pango и должны быть корректными для почти любого языка (если нет, то исправление необходимо в алгоритмах определения границ предложений Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_backward_sentence_starts ()

gboolean
gtk_text_iter_backward_sentence_starts
                               (GtkTextIter *iter,
                                int count);

Вызывает gtk_text_iter_backward_sentence_start() до count раз или до возврата FALSE. Если count отрицательно, перемещается вперёд вместо назад.

Параметры

iter

a GtkTextIter

count

количество предложений для перемещения

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_forward_sentence_end ()

gboolean
gtk_text_iter_forward_sentence_end (GtkTextIter *iter);

Перемещает указатель вперёд к концу следующего предложения. (Если iter находится в конце предложения, перемещает его к следующему концу предложения.) Границы предложений определяются Pango и должны быть корректными для почти любого языка (если нет, то исправление необходимо в алгоритмах определения границ предложений Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_forward_sentence_ends ()

gboolean
gtk_text_iter_forward_sentence_ends (GtkTextIter *iter,
                                     int count);

Вызывает gtk_text_iter_forward_sentence_end() count раз (или до возврата gtk_text_iter_forward_sentence_end() значения FALSE). Если count отрицательно, перемещается назад вместо вперёд.

Параметры

iter

a GtkTextIter

count

количество предложений для перемещения

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_forward_visible_word_ends ()

gboolean
gtk_text_iter_forward_visible_word_ends
                               (GtkTextIter *iter,
                                int count);

Вызывает gtk_text_iter_forward_visible_word_end() до count раз.

Параметры

iter

a GtkTextIter

count

количество раз для перемещения

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_backward_visible_word_starts ()

gboolean
gtk_text_iter_backward_visible_word_starts
                               (GtkTextIter *iter,
                                int count);

Вызывает gtk_text_iter_backward_visible_word_start() до count раз.

Параметры

iter

a GtkTextIter

count

количество раз для перемещения

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_forward_visible_word_end ()

gboolean
gtk_text_iter_forward_visible_word_end
                               (GtkTextIter *iter);

Перемещает итератор вперёд до следующего видимого конца слова. (Если iter в данный момент находится на конце слова, перемещается вперёд к следующему после него.) Разбивка слов определяется Pango и должна быть корректной для почти всех языков (если нет, то нужно исправить алгоритмы разбиения слов Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_backward_visible_word_start ()

gboolean
gtk_text_iter_backward_visible_word_start
                               (GtkTextIter *iter);

Перемещает итератор назад к началу предыдущего видимого слова. (Если iter в данный момент находится на начале слова, перемещается назад к следующему после него.) Разбивка слов определяется Pango и должна быть корректной для почти всех языков (если нет, то нужно исправить алгоритмы разбиения слов Pango).

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если iter был перемещён и не является итератором конца

gtk_text_iter_forward_visible_cursor_position ()

gboolean
gtk_text_iter_forward_visible_cursor_position
                               (GtkTextIter *iter);

Перемещает iter вперёд к следующей видимой позиции курсора. Подробности см. в gtk_text_iter_forward_cursor_position().

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если мы переместились, и новая позиция доступна для обращения

gtk_text_iter_backward_visible_cursor_position ()

gboolean
gtk_text_iter_backward_visible_cursor_position
                               (GtkTextIter *iter);

Перемещает iter назад к предыдущей видимой позиции курсора. Подробности см. в gtk_text_iter_backward_cursor_position().

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если мы переместились, и новая позиция доступна для обращения

gtk_text_iter_forward_visible_cursor_positions ()

gboolean
gtk_text_iter_forward_visible_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Перемещает итератор вперёд на count видимых позиций курсора. Подробности см. в gtk_text_iter_forward_cursor_position().

Параметры

iter

a GtkTextIter

count

количество позиций для перемещения

Возвращаемое значение

TRUE если мы переместились, и новая позиция доступна для обращения

gtk_text_iter_backward_visible_cursor_positions ()

gboolean
gtk_text_iter_backward_visible_cursor_positions
                               (GtkTextIter *iter,
                                int count);

Перемещает итератор назад на count видимых позиций курсора. Подробности см. в gtk_text_iter_backward_cursor_position().

Параметры

iter

a GtkTextIter

count

количество позиций для перемещения

Возвращаемое значение

TRUE если мы переместились, и новая позиция доступна для обращения

gtk_text_iter_forward_visible_line ()

gboolean
gtk_text_iter_forward_visible_line (GtkTextIter *iter);

Перемещает iter к началу следующей видимой строки. Возвращает TRUE если следующая строка существует, и FALSE если iter просто перемещён в конец буфера и теперь недоступен для обращения, или если iter уже находился в конце буфера.

Параметры

iter

итератор

Возвращаемое значение

можно ли обратиться к iter

gtk_text_iter_backward_visible_line ()

gboolean
gtk_text_iter_backward_visible_line (GtkTextIter *iter);

Перемещает iter к началу предыдущей видимой строки. Возвращает TRUE если iter был перемещён; т.е. если iter был в начале символа 0, эта функция возвращает FALSE. Поэтому, если iter уже был на строке 0, но не в начале строки, iter устанавливается в начало строки, и функция возвращает TRUE. (Обратите внимание, что это подразумевает, что в цикле, вызывающем эту функцию, номер строки может не измениться на каждой итерации, если ваша первая итерация находится на строке 0.)

Параметры

iter

итератор

Возвращаемое значение

был ли перемещён iter

gtk_text_iter_forward_visible_lines ()

gboolean
gtk_text_iter_forward_visible_lines (GtkTextIter *iter,
                                     int count);

Перемещает count видимых строк вперёд, если возможно (если count переместится за пределы буфера, перемещается к началу или концу буфера). Значение возврата указывает, перемещён ли итератор на позицию, доступную для обращения; если итератор не перемещён или перемещён на конец итератора, возвращается FALSE. Если count равно 0, функция ничего не делает и возвращает FALSE. Если count отрицательно, перемещается назад на 0 - count строк.

Параметры

iter

a GtkTextIter

count

количество строк для перемещения вперёд

Возвращаемое значение

был ли перемещён iter и доступен для обращения

gtk_text_iter_backward_visible_lines ()

gboolean
gtk_text_iter_backward_visible_lines (GtkTextIter *iter,
                                      int count);

Перемещает count видимых строк назад, если возможно (если count переместится за пределы буфера, перемещается к началу или концу буфера). Значение возврата указывает, перемещён ли итератор на позицию, доступную для обращения; если итератор не перемещён или перемещён на конец итератора, возвращается FALSE. Если count равно 0, функция ничего не делает и возвращает FALSE. Если count отрицательно, перемещается вперёд на 0 - count строк.

Параметры

iter

a GtkTextIter

count

количество строк для перемещения назад

Возвращаемое значение

был ли перемещён iter и доступен для обращения

gtk_text_iter_set_offset ()

void
gtk_text_iter_set_offset (GtkTextIter *iter,
                          int char_offset);

Устанавливает iter для указания позиции char_offset . char_offset считает от начала всего буфера текста, начиная с 0.

Параметры

iter

a GtkTextIter

char_offset

номер символа

gtk_text_iter_set_line ()

void
gtk_text_iter_set_line (GtkTextIter *iter,
                        int line_number);

Перемещает итератор iter к началу строки line_number . Если line_number отрицательное или больше, чем количество строк в буфере, перемещает iter к началу последней строки в буфере.

Параметры

iter

a GtkTextIter

line_number

номер строки (считается с 0)

gtk_text-iter-set-line-offset ()

void
gtk_text_iter_set_line_offset (GtkTextIter *iter,
                               int char_on_line);

Перемещает iter внутри строки на новое смещение символа (а не байта). Указанное смещение символа должно быть меньше или равно количеству символов в строке; если оно равно, iter перемещается к началу следующей строки. См. gtk_text_iter_set_line_index(), если у вас есть индекс байта вместо смещения символа.

Параметры

iter

a GtkTextIter

char_on_line

смещение символов относительно начала текущей строки iter

gtk_text-iter-set-line-index ()

void
gtk_text_iter_set_line_index (GtkTextIter *iter,
                              int byte_on_line);

Аналогично gtk_text_iter_set_line_offset(), но работает с индексом байта. Указанный индекс байта должен находиться в начале символа, он не может быть посередине кодированного UTF-8 символа.

Параметры

iter

a GtkTextIter

byte_on_line

индекс байта, относительный к началу текущей строки iter

gtk_text_iter_set_visible_line_index ()

void
gtk_text_iter_set_visible_line_index (GtkTextIter *iter,
                                      int byte_on_line);

Как gtk_text_iter_set_line_index(), но индекс находится в видимых байтах, т.е. текст со скрывающим тегом не учитывается в индексе.

Параметры

iter

a GtkTextIter

byte_on_line

индекс байта

gtk_text_iter_set_visible-line-offset ()

void
gtk_text_iter_set_visible_line_offset (GtkTextIter *iter,
                                       int char_on_line);

Как gtk_text_iter_set_line_offset(), но смещение находится в видимых символах, т.е. текст со скрывающим тегом не учитывается в смещении.

Параметры

iter

a GtkTextIter

char_on_line

смещение символов

gtk_text_iter_forward_to_end ()

void
gtk_text_iter_forward_to_end (GtkTextIter *iter);

Перемещает iter вперёд до «итератора конца», который указывает на позицию после последнего допустимого символа в буфере. gtk_text_iter_get_char(), вызываемый на итераторе конца, возвращает 0, что удобно для написания циклов.

Параметры

iter

a GtkTextIter

gtk_text_iter_forward-to-line-end ()

gboolean
gtk_text_iter_forward_to_line_end (GtkTextIter *iter);

Перемещает итератор для указания символов разделителя абзаца, которые будут либо символом новой строки, символом возврата каретки, последовательностью возврата каретки/новой строки или символом разделителя абзацев Юникода. Если итератор уже находится на символах разделителя абзаца, перемещает к символам разделителя абзаца следующей строки. Если iter находится на последней строке в буфере, которая не заканчивается символами разделителя абзаца, перемещается к итератору конца (концу последней строки) и возвращает FALSE.

Параметры

iter

a GtkTextIter

Возвращаемое значение

TRUE если мы переместились и новое расположение не является итератором конца

gtk_text_iter_forward-to-tag-toggle ()

gboolean
gtk_text_iter_forward_to_tag_toggle (GtkTextIter *iter,
                                     GtkTextTag *tag);

Перемещает вперёд к следующему переключению (включению или выключению) тега GtkTextTag tag или к следующему переключению любого тега, если tag равно NULL. Если сопоставляющие переключения тегов не найдены, возвращает FALSE, в противном случае TRUE. Не возвращает переключения, расположенные в iter, а только переключения после iter. Устанавливает iter в местоположение переключения или в конец буфера, если переключение не найдено.

Параметры

iter

a GtkTextIter

tag

a GtkTextTag, или NULL.

[allow-none]

Возвращаемое значение

было ли найдено переключение тега после iter

gtk_text_iter_backward-to-tag-toggle ()

gboolean
gtk_text_iter_backward_to_tag_toggle (GtkTextIter *iter,
                                      GtkTextTag *tag);

Перемещает назад к следующему переключению (включению или выключению) тега GtkTextTag tag или к следующему переключению любого тега, если tag равно NULL. Если сопоставляющие переключения тегов не найдены, возвращает FALSE, в противном случае TRUE. Не возвращает переключения, расположенные в iter, а только переключения до iter. Устанавливает iter в местоположение переключения или в начало буфера, если переключение не найдено.

Параметры

iter

a GtkTextIter

tag

a GtkTextTag, или NULL.

[allow-none]

Возвращаемое значение

было ли найдено переключение тега до iter

GtkTextCharPredicate ()

gboolean
(*GtkTextCharPredicate) (gunichar ch,
                         gpointer user_data);

Функция-предикат, используемая gtk_text_iter_forward_find_char() и gtk_text_iter_backward_find_char().

Параметры

ch

кодовое значение Юникода

user_data

данные, передаваемые в обратный вызов

Возвращаемое значение

TRUE , если предикат удовлетворён и итерация должна быть остановлена, и FALSE в противном случае

gtk_text_iter_forward_find_char ()

gboolean
gtk_text_iter_forward_find_char (GtkTextIter *iter,
                                 GtkTextCharPredicate pred,
                                 gpointer user_data,
                                 const GtkTextIter *limit);

Перемещает iter, вызывая pred для каждого символа. Если pred возвращает TRUE, возвращает TRUE и прекращает сканирование. Если pred никогда не возвращает TRUE, iter устанавливается в limit, если limit не является NULL, иначе в итератор конца.

Параметры

iter

объект GtkTextIter

pred

функция, вызываемая для каждого символа.

[scope call]

user_data

данные пользователя для pred.

[closure]

limit

предел поиска, или NULL для отсутствия.

[allow-none]

Возвращаемое значение

было ли найдено совпадение

gtk_text_iter_backward_find_char ()

gboolean
gtk_text_iter_backward_find_char (GtkTextIter *iter,
                                  GtkTextCharPredicate pred,
                                  gpointer user_data,
                                  const GtkTextIter *limit);

Аналогично gtk_text_iter_forward_find_char(), но идёт назад от iter.

Параметры

iter

объект GtkTextIter

pred

функция, вызываемая для каждого символа.

[scope call]

user_data

данные пользователя для pred.

[closure]

limit

предел поиска, или NULL для отсутствия.

[allow-none]

Возвращаемое значение

было ли найдено совпадение

gtk_text_iter_forward_search ()

gboolean
gtk_text_iter_forward_search (const GtkTextIter *iter,
                              const char *str,
                              GtkTextSearchFlags flags,
                              GtkTextIter *match_start,
                              GtkTextIter *match_end,
                              const GtkTextIter *limit);

Ищет вперёд str. Любое совпадение возвращается, установив match_start на первый символ совпадения и match_end на первый символ после совпадения. Поиск не будет продолжаться после limit. Обратите внимание, что поиск — линейная операция O(n), поэтому, возможно, вам следует использовать limit, чтобы избежать блокировки пользовательского интерфейса при работе с большими буферами.

match_start никогда не будет установлена на GtkTextIter расположенную перед iter, даже если есть возможное match_end после или на iter.

Параметры

iter

начало поиска

str

строка поиска

flags

флаги, влияющие на то, как выполняется поиск

match_start

место возврата для начала совпадения, или NULL.

[out caller-allocates][allow-none]

match_end

место возврата для конца совпадения, или NULL.

[out caller-allocates][allow-none]

limit

место последнего возможного match_end, или NULL для конца буфера.

[allow-none]

Возвращаемое значение

было ли найдено совпадение

gtk_text_iter_backward_search ()

gboolean
gtk_text_iter_backward_search (const GtkTextIter *iter,
                               const char *str,
                               GtkTextSearchFlags flags,
                               GtkTextIter *match_start,
                               GtkTextIter *match_end,
                               const GtkTextIter *limit);

Аналогично gtk_text_iter_forward_search(), но перемещается назад.

match_end никогда не будет установлена на GtkTextIter расположенную после iter, даже если есть возможное match_start перед или на iter.

Параметры

iter

объект GtkTextIter, с которого начинается поиск

str

строка поиска

flags

битовая маска флагов, влияющих на поиск

match_start

место возврата для начала совпадения, или NULL.

[out caller-allocates][allow-none]

match_end

место возврата для конца совпадения, или NULL.

[out caller-allocates][allow-none]

limit

место последнего возможного match_start, или NULL для начала буфера.

[allow-none]

Возвращаемое значение

было ли найдено совпадение

gtk_text_iter_equal ()

gboolean
gtk_text_iter_equal (const GtkTextIter *lhs,
                     const GtkTextIter *rhs);

Проверяет, равны ли два итератора, используя максимально быстрый механизм. Эта функция очень быстрая; ожидается, что она будет работать лучше, чем, например, получение смещения символа для каждого итератора и сравнение самих смещений. Кроме того, она немного быстрее, чем gtk_text_iter_compare().

Параметры

lhs

a GtkTextIter

rhs

другой GtkTextIter

Возвращает

TRUE если итераторы указывают на одно и то же место в буфере

gtk_text_iter_compare ()

int
gtk_text_iter_compare (const GtkTextIter *lhs,
                       const GtkTextIter *rhs);

Функция в стиле qsort(), возвращающая отрицательное значение, если lhs меньше rhs, положительное, если lhs больше rhs, и 0, если они равны. Порядок сортировки — по смещению символа, то есть первый символ в буфере меньше, чем второй символ в буфере.

Параметры

lhs

a GtkTextIter

rhs

another GtkTextIter

Возвращает

-1, если lhs меньше rhs, 1, если lhs больше, 0, если они равны

gtk_text_iter_in_range ()

gboolean
gtk_text_iter_in_range (const GtkTextIter *iter,
                        const GtkTextIter *start,
                        const GtkTextIter *end);

Проверяет, попадает ли iter в диапазон [start, end). start и end должны быть в порядке возрастания.

Параметры

iter

a GtkTextIter

start

начало диапазона

end

конец диапазона

Возвращает

TRUE если iter находится в диапазоне

gtk_text_iter_order ()

void
gtk_text_iter_order (GtkTextIter *first,
                     GtkTextIter *second);

Меняет значения first и second, если second предшествует first в буфере. То есть гарантирует, что first и second находятся в последовательности. Большинство функций буфера текста, принимающих диапазон, автоматически вызывают это за вас, поэтому нет реальной причины вызывать его самим в этих случаях. Есть некоторые исключения, такие как gtk_text_iter_in_range(), которые ожидают предварительно отсортированный диапазон.

Параметры

first

a GtkTextIter

second

another GtkTextIter

Типы и значения

GtkTextIter

typedef struct {
  /* GtkTextIter is an opaque datatype; ignore all these fields.
   * Initialize the iter with gtk_text_buffer_get_iter_*
   * functions
   */
} GtkTextIter;

перечисление GtkTextSearchFlags

Флаги, влияющие на то, как выполняется поиск.

Если ни GTK_TEXT_SEARCH_VISIBLE_ONLY, ни GTK_TEXT_SEARCH_TEXT_ONLY не включены, соответствие должно быть точным; специальный символ 0xFFFC будет соответствовать встроенным paintables или дочерним виджетам.

Элементы

GTK_TEXT_SEARCH_VISIBLE_ONLY

Производить поиск только в видимых данных. Совпадение поиска может содержать скрытый текст.

GTK_TEXT_SEARCH_TEXT_ONLY

Производить поиск только по тексту. Совпадение может содержать paintables или дочерние виджеты, смешанные внутри сопоставленного диапазона.

GTK_TEXT_SEARCH_CASE_INSENSITIVE

Текст будет соответствовать независимо от регистра.

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkTextIter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API