The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description

GtkTextIter

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

Краткое описание

#include <gtk/gtk.h>


            GtkTextIter;
GtkTextBuffer* gtk_text_iter_get_buffer     (const GtkTextIter *iter);
GtkTextIter* gtk_text_iter_copy             (const GtkTextIter *iter);
void        gtk_text_iter_free              (GtkTextIter *iter);

gint        gtk_text_iter_get_offset        (const GtkTextIter *iter);
gint        gtk_text_iter_get_line          (const GtkTextIter *iter);
gint        gtk_text_iter_get_line_offset   (const GtkTextIter *iter);

gint        gtk_text_iter_get_line_index    (const GtkTextIter *iter);
gint        gtk_text_iter_get_visible_line_index
                                            (const GtkTextIter *iter);

gint        gtk_text_iter_get_visible_line_offset
                                            (const GtkTextIter *iter);
gunichar    gtk_text_iter_get_char          (const GtkTextIter *iter);

gchar*      gtk_text_iter_get_slice         (const GtkTextIter *start,
                                             const GtkTextIter *end);
gchar*      gtk_text_iter_get_text          (const GtkTextIter *start,
                                             const GtkTextIter *end);

gchar*      gtk_text_iter_get_visible_slice (const GtkTextIter *start,
                                             const GtkTextIter *end);
gchar*      gtk_text_iter_get_visible_text  (const GtkTextIter *start,
                                             const GtkTextIter *end);

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

GtkTextChildAnchor* gtk_text_iter_get_child_anchor
                                            (const GtkTextIter *iter);
gboolean    gtk_text_iter_begins_tag        (const GtkTextIter *iter,
                                             GtkTextTag *tag);

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

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

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

gboolean    gtk_text_iter_starts_word       (const GtkTextIter *iter);
gboolean    gtk_text_iter_ends_word         (const GtkTextIter *iter);
gboolean    gtk_text_iter_inside_word       (const GtkTextIter *iter);

gboolean    gtk_text_iter_starts_line       (const GtkTextIter *iter);
gboolean    gtk_text_iter_ends_line         (const GtkTextIter *iter);
gboolean    gtk_text_iter_starts_sentence   (const GtkTextIter *iter);

gboolean    gtk_text_iter_ends_sentence     (const GtkTextIter *iter);
gboolean    gtk_text_iter_inside_sentence   (const GtkTextIter *iter);
gboolean    gtk_text_iter_is_cursor_position

                                            (const GtkTextIter *iter);
gint        gtk_text_iter_get_chars_in_line (const GtkTextIter *iter);
gint        gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter);

gboolean    gtk_text_iter_get_attributes    (const GtkTextIter *iter,
                                             GtkTextAttributes *values);
PangoLanguage* gtk_text_iter_get_language   (const GtkTextIter *iter);

gboolean    gtk_text_iter_is_end            (const GtkTextIter *iter);
gboolean    gtk_text_iter_is_start          (const GtkTextIter *iter);
gboolean    gtk_text_iter_forward_char      (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_char     (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_chars     (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_chars    (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_line      (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_line     (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_lines     (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_lines    (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_word_ends (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_word_starts
                                            (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_word_end  (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_word_start
                                            (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_cursor_position
                                            (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_cursor_position
                                            (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_backward_sentence_start
                                            (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_sentence_starts
                                            (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_sentence_end
                                            (GtkTextIter *iter);

gboolean    gtk_text_iter_forward_sentence_ends
                                            (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_visible_word_ends
                                            (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_visible_word_starts
                                            (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_visible_word_end
                                            (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_visible_word_start
                                            (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_visible_cursor_position
                                            (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_visible_cursor_position
                                            (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_visible_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_visible_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);
gboolean    gtk_text_iter_forward_visible_line
                                            (GtkTextIter *iter);

gboolean    gtk_text_iter_backward_visible_line
                                            (GtkTextIter *iter);
gboolean    gtk_text_iter_forward_visible_lines
                                            (GtkTextIter *iter,
                                             gint count);

gboolean    gtk_text_iter_backward_visible_lines
                                            (GtkTextIter *iter,
                                             gint count);
void        gtk_text_iter_set_offset        (GtkTextIter *iter,
                                             gint char_offset);
void        gtk_text_iter_set_line          (GtkTextIter *iter,
                                             gint line_number);
void        gtk_text_iter_set_line_offset   (GtkTextIter *iter,
                                             gint char_on_line);
void        gtk_text_iter_set_line_index    (GtkTextIter *iter,
                                             gint byte_on_line);
void        gtk_text_iter_set_visible_line_index

                                            (GtkTextIter *iter,
                                             gint byte_on_line);
void        gtk_text_iter_set_visible_line_offset
                                            (GtkTextIter *iter,
                                             gint char_on_line);
void        gtk_text_iter_forward_to_end    (GtkTextIter *iter);

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

gboolean    gtk_text_iter_backward_to_tag_toggle
                                            (GtkTextIter *iter,
                                             GtkTextTag *tag);
gboolean    (*GtkTextCharPredicate)         (gunichar ch,
                                             gpointer user_data);

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

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

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

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

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

gboolean    gtk_text_iter_in_range          (const GtkTextIter *iter,
                                             const GtkTextIter *start,
                                             const GtkTextIter *end);
void        gtk_text_iter_order             (GtkTextIter *first,
                                             GtkTextIter *second);

Описание

Для начала вы можете прочесть text widget conceptual overview который даёт краткий обзор обо всех объектах и типах данных связанных с текстовыми виджетами и как они взаимодействуют.

Детали

GtkTextIter

typedef struct {
  /* GtkTextIter это непрозрачный datatype; все эти поля игнорируются.
   * Инициализируется итер с помощью gtk_text_buffer_get_iter_*
   * функции
   */
} GtkTextIter;

gtk_text_iter_get_buffer ()

GtkTextBuffer* gtk_text_iter_get_buffer     (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

буфер


gtk_text_iter_copy ()

GtkTextIter* gtk_text_iter_copy             (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

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


gtk_text_iter_free ()

void        gtk_text_iter_free              (GtkTextIter *iter);

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

iter :

динамически размещаемый итератор


gtk_text_iter_get_offset ()

gint        gtk_text_iter_get_offset        (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

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


gtk_text_iter_get_line ()

gint        gtk_text_iter_get_line          (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

номер строки


gtk_text_iter_get_line_offset ()

gint        gtk_text_iter_get_line_offset   (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

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


gtk_text_iter_get_line_index ()

gint        gtk_text_iter_get_line_index    (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

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


gtk_text_iter_get_visible_line_index ()

gint        gtk_text_iter_get_visible_line_index
                                            (const GtkTextIter *iter);

Возвращает число байт с начала строки до данного iter, не считая байт являющиеся невидимыми из-за тэгов с включенным флажком "invisible".

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_get_visible_line_offset ()

gint        gtk_text_iter_get_visible_line_offset
                                            (const GtkTextIter *iter);

Возвращает смещение в символах с начала строки до данного iter, не считая символы являющиеся невидимыми из-за тэгов с включенным флажком "invisible".

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_get_char ()

gunichar    gtk_text_iter_get_char          (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

Unicode символ, или 0 если iter не определяем


gtk_text_iter_get_slice ()

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

Возвращает текст из данного диапазона. "slice" это массив символов в кодировке UTF-8, включая Unicode "unknown" символ 0xFFFC для элемента итератора в буфере без символа, такой как изображение. Поскольку изображение закодировано в буфере, байты и символы смещения в возвращаемом массиве будут соответствовать байтам смещения в текстовом буфере. Помните, 0xFFFC может находиться также в обычном тексте, поэтому это не надёжный индикатор изображения или виджета в буфере.

start :

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

end :

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

Возвращает :

часть текста из буфера


gtk_text_iter_get_text ()

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

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

start :

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

end :

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

Возвращает :

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


gtk_text_iter_get_visible_slice ()

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

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

start :

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

end :

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

Возвращает :

часть текста из буфера


gtk_text_iter_get_visible_text ()

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

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

start :

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

end :

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

Возвращает :

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


gtk_text_iter_get_pixbuf ()

GdkPixbuf*  gtk_text_iter_get_pixbuf        (const GtkTextIter *iter);

Если элемент итератора iter изображение, возвращается изображение (без добавления новой ссылки). Иначе возвращается NULL.

iter :

итератор

Возвращает :

изображение iter


gtk_text_iter_get_marks ()

GSList*     gtk_text_iter_get_marks         (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

список GtkTextMark


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 для включения тэгов

Возвращает :

Тэги включаемые этим указателем


gtk_text_iter_get_child_anchor ()

GtkTextChildAnchor* gtk_text_iter_get_child_anchor
                                            (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

Якорь итератора iter


gtk_text_iter_begins_tag ()

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

Возвращает TRUE если tag включен в этой точке. Если tag равен NULL, возвращается TRUE если любой тэг включен в данном указателе. Помните что gtk_text_iter_begins_tag() возвращает TRUE если iter это начало диапазона тэгов; gtk_text_iter_has_tag() укажет вам входит ли итератор в диапазон тэгов.

iter :

итератор

tag :

GtkTextTag, или NULL

Возвращает :

Начинает ли 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 это конец диапазона тэгов; gtk_text_iter_has_tag() укажет вам входит ли итератор в диапазон тэгов.

iter :

итератор

tag :

GtkTextTag, или NULL

Возвращает :

Заканчивает ли iter диапазон тэгов с tag


gtk_text_iter_toggles_tag ()

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

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

iter :

итератор

tag :

GtkTextTag, или NULL

Возвращает :

Включен или выключен tag в iter


gtk_text_iter_has_tag ()

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

Возвращает TRUE если iter внутри диапазона tag.

iter :

итератор

tag :

GtkTextTag

Возвращает :

Скреплен ли iter с tag


gtk_text_iter_get_tags ()

GSList*     gtk_text_iter_get_tags          (const GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

список GtkTextTag


gtk_text_iter_editable ()

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

Возвращает является ли символ в iter в пределах редактируемой области текста. Не редактируемый текст "заблокирован" и не может изменяться пользователем через GtkTextView. Эта функция просто удобная оболочка для gtk_text_iter_get_attributes(). Если нет тэгов применяемых к этому редактируемому тексту, будет возвращен default_setting.

Вы не должны использовать эту функцию для определения будет ли текст вставлен в 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 :

GtkTextIter

Возвращает :

TRUE если iter часть слова


gtk_text_iter_ends_word ()

gboolean    gtk_text_iter_ends_word         (const GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

TRUE если iter часть слова


gtk_text_iter_inside_word ()

gboolean    gtk_text_iter_inside_word       (const GtkTextIter *iter);

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

iter :

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 указывает на начало параграфа разделяющими символами для строки (разделителями будут каждый символ новой строки, перевод каретки, перевод каретки следующий за символом новой строки, или Unicode символ разделителя параграфов). Помните что итератор указывающий на \n в паре \r\n не будет считаться концом строки, конец строки перед \r. Конечным итератором считается конец строки, даже если там нет символов завершения параграфа.

iter :

итератор

Возвращает :

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


gtk_text_iter_starts_sentence ()

gboolean    gtk_text_iter_starts_sentence   (const GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_ends_sentence ()

gboolean    gtk_text_iter_ends_sentence     (const GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

TRUE если iter конец предложения.


gtk_text_iter_inside_sentence ()

gboolean    gtk_text_iter_inside_sentence   (const GtkTextIter *iter);

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

iter :

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 :

GtkTextIter

Возвращает :

TRUE если курсор может быть помещён на iter


gtk_text_iter_get_chars_in_line ()

gint        gtk_text_iter_get_chars_in_line (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

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


gtk_text_iter_get_bytes_in_line ()

gint        gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter);

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

iter :

итератор

Возвращает :

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


gtk_text_iter_get_attributes ()

gboolean    gtk_text_iter_get_attributes    (const GtkTextIter *iter,
                                             GtkTextAttributes *values);

Вычисляет эффект от тэгов примененных к этому месту в тексте. Параметр values должен быть инициализирован значением установок по умолчанию используемых вами, если нет эффективных тэгов. Обычно значения по умолчанию определяются с помощью gtk_text_view_get_default_attributes().

gtk_text_iter_get_attributes() изменит values, применяя эффект к любым тэгам представленных в iter. Если какие нибудь тэги касаются values, функция вернет TRUE.

iter :

итератор

values :

GtkTextAttributes заполняющие поле

Возвращает :

TRUE если values было изменено


gtk_text_iter_get_language ()

PangoLanguage* gtk_text_iter_get_language   (const GtkTextIter *iter);

Удобная оболочка для gtk_text_iter_get_attributes(), которая возвращает действительный язык в iter. Если нет тэгов касающихся языка применённого к iter, значение идентично возвращаемому из gtk_get_default_language().

iter :

итератор

Возвращает :

Действительный язык в iter


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,
                                             gint count);

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

iter :

итератор

count :

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

Возвращает :

Перемещаем и перенесен ли iter


gtk_text_iter_backward_chars ()

gboolean    gtk_text_iter_backward_chars    (GtkTextIter *iter,
                                             gint count);

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

iter :

итератор

count :

Число символов для перемещения

Возвращает :

Перемещаем и перенесен ли iter


gtk_text_iter_forward_line ()

gboolean    gtk_text_iter_forward_line      (GtkTextIter *iter);

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

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,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

Перемещаем и перемещен ли iter


gtk_text_iter_backward_lines ()

gboolean    gtk_text_iter_backward_lines    (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

Перемещаем и перемещен ли iter


gtk_text_iter_forward_word_ends ()

gboolean    gtk_text_iter_forward_word_ends (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

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


gtk_text_iter_backward_word_starts ()

gboolean    gtk_text_iter_backward_word_starts
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

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


gtk_text_iter_forward_word_end ()

gboolean    gtk_text_iter_forward_word_end  (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_backward_word_start ()

gboolean    gtk_text_iter_backward_word_start
                                            (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_forward_cursor_position ()

gboolean    gtk_text_iter_forward_cursor_position
                                            (GtkTextIter *iter);

Перемещает iter вперёд на одну позицию курсора. Возможно странно, но не может быть позицией курсора между любыми символами. Самым обычным примером для Европейских языков был бы перевод каретки/символ новой строки предложения. Для некоторых символов Unicode, эквивалент скажем строчной "a" с отметкой ударения будет представлен как два символа, сначала прописная потом "combining mark" которая представляет ударение; таким образом курсор не может находится между двумя этими символами. Смотрите также структуру PangoLogAttr и pango_break() функцию.

iter :

GtkTextIter

Возвращает :

TRUE если перемещен и новая позиция переносима


gtk_text_iter_backward_cursor_position ()

gboolean    gtk_text_iter_backward_cursor_position
                                            (GtkTextIter *iter);

Как gtk_text_iter_forward_cursor_position(), но перемещение назад.

iter :

GtkTextIter

Возвращает :

TRUE если перемещен


gtk_text_iter_forward_cursor_positions ()

gboolean    gtk_text_iter_forward_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

TRUE если перемещен и новая позиция переносима


gtk_text_iter_backward_cursor_positions ()

gboolean    gtk_text_iter_backward_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

TRUE если перемещен и новая позиция переносима


gtk_text_iter_backward_sentence_start ()

gboolean    gtk_text_iter_backward_sentence_start
                                            (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_backward_sentence_starts ()

gboolean    gtk_text_iter_backward_sentence_starts
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

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


gtk_text_iter_forward_sentence_end ()

gboolean    gtk_text_iter_forward_sentence_end
                                            (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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


gtk_text_iter_forward_sentence_ends ()

gboolean    gtk_text_iter_forward_sentence_ends
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

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


gtk_text_iter_forward_visible_word_ends ()

gboolean    gtk_text_iter_forward_visible_word_ends
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

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

Начиная с версии 2.4


gtk_text_iter_backward_visible_word_starts ()

gboolean    gtk_text_iter_backward_visible_word_starts
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

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

Начиная с версии 2.4


gtk_text_iter_forward_visible_word_end ()

gboolean    gtk_text_iter_forward_visible_word_end
                                            (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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

Начиная с версии 2.4


gtk_text_iter_backward_visible_word_start ()

gboolean    gtk_text_iter_backward_visible_word_start
                                            (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

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

Начиная с версии 2.4


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 :

GtkTextIter

Возвращает :

TRUE если перемещен и новая позиция переносима

Начиная с версии 2.4


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 :

GtkTextIter

Возвращает :

TRUE если перемещен и новая позиция переносима

Начиная с версии 2.4


gtk_text_iter_forward_visible_cursor_positions ()

gboolean    gtk_text_iter_forward_visible_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

TRUE если перемещен и новая позиция переносима

Начиная с версии 2.4


gtk_text_iter_backward_visible_cursor_positions ()

gboolean    gtk_text_iter_backward_visible_cursor_positions
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

TRUE если перемещен и новая позиция переносима

Начиная с версии 2.4


gtk_text_iter_forward_visible_line ()

gboolean    gtk_text_iter_forward_visible_line
                                            (GtkTextIter *iter);

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

iter :

итератор

Возвращает :

Переносим ли iter

Начиная с версии 2.8


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

Начиная с версии 2.8


gtk_text_iter_forward_visible_lines ()

gboolean    gtk_text_iter_forward_visible_lines
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

Перемещаем и перемещен ли iter

Начиная с версии 2.8


gtk_text_iter_backward_visible_lines ()

gboolean    gtk_text_iter_backward_visible_lines
                                            (GtkTextIter *iter,
                                             gint count);

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

iter :

GtkTextIter

count :

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

Возвращает :

Перемещаем и перемещен ли iter

Начиная с версии 2.8


gtk_text_iter_set_offset ()

void        gtk_text_iter_set_offset        (GtkTextIter *iter,
                                             gint char_offset);

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

iter :

GtkTextIter

char_offset :

число символов


gtk_text_iter_set_line ()

void        gtk_text_iter_set_line          (GtkTextIter *iter,
                                             gint line_number);

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

iter :

GtkTextIter

line_number :

Число строк (начиная с 0)


gtk_text_iter_set_line_offset ()

void        gtk_text_iter_set_line_offset   (GtkTextIter *iter,
                                             gint char_on_line);

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

iter :

GtkTextIter

char_on_line :

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


gtk_text_iter_set_line_index ()

void        gtk_text_iter_set_line_index    (GtkTextIter *iter,
                                             gint byte_on_line);

Тоже самое как gtk_text_iter_set_line_offset(), но работа с байтами. Начало данного индекса байт должно быть символом, оно не может быть в середине символа UTF-8.

iter :

GtkTextIter

byte_on_line :

Индекс байт относительно начала текущемй строки iter's


gtk_text_iter_set_visible_line_index ()

void        gtk_text_iter_set_visible_line_index
                                            (GtkTextIter *iter,
                                             gint byte_on_line);

Как gtk_text_iter_set_line_index(), но индекс видимых байт, то есть текст с тэгами невидимости не попадает в индекс.

iter :

GtkTextIter

byte_on_line :

Индекс байт


gtk_text_iter_set_visible_line_offset ()

void        gtk_text_iter_set_visible_line_offset
                                            (GtkTextIter *iter,
                                             gint char_on_line);

Как gtk_text_iter_set_line_offset(), но смещение в видимых символах, то есть текст с тэгами невидимости не попадает в смещение.

iter :

GtkTextIter

char_on_line :

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


gtk_text_iter_forward_to_end ()

void        gtk_text_iter_forward_to_end    (GtkTextIter *iter);

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

iter :

GtkTextIter


gtk_text_iter_forward_to_line_end ()

gboolean    gtk_text_iter_forward_to_line_end
                                            (GtkTextIter *iter);

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

iter :

GtkTextIter

Возвращает :

TRUE если перемещен и новое размещение не конечный итератор


gtk_text_iter_forward_to_tag_toggle ()

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

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

iter :

GtkTextIter

tag :

GtkTextTag, или NULL

Возвращает :

Найден ли флаг тэга после iter


gtk_text_iter_backward_to_tag_toggle ()

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

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

iter :

GtkTextIter

tag :

GtkTextTag, or NULL

Возвращает :

Найден ли флаг тэга перед iter


GtkTextCharPredicate ()

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

ch :

user_data :

Возвращает :


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 :

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

user_data :

Пользовательские данные для pred

limit :

Лимит поиска, или NULL

Возвращает :

Найдено ли соответствие


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 :

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

user_data :

Пользовательские данные для pred

limit :

Лимит поиска, или NULL

Возвращает :

Найдено ли соответствие


enum GtkTextSearchFlags

typedef enum {
  GTK_TEXT_SEARCH_VISIBLE_ONLY = 1 << 0,
  GTK_TEXT_SEARCH_TEXT_ONLY    = 1 << 1
  /* Возможные планы на будущее: SEARCH_CASE_INSENSITIVE, SEARCH_REGEXP */
} GtkTextSearchFlags;

gtk_text_iter_forward_search ()

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

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

Если GTK_TEXT_SEARCH_VISIBLE_ONLY флаг установлен, соответствие может вставить невидимый текст в промежутки str. То есть str будет подпоследовательностью возможно не смежных соответствий диапазона. Точно так же, если вы определите GTK_TEXT_SEARCH_TEXT_ONLY, соответствие может перемешаться с изображениями или дочерними виджетами внутри диапазона соответствий. Если эти флаги не получены, соответствие должно быть точным; специальный символ 0xFFFC в str будет соответствовать включению изображения или дочерних виджетов.

iter :

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

str :

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

flags :

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

match_start :

Место для хранения возвращаемого значения начала соответствия, или NULL

match_end :

Место для хранения возвращаемого значения конца соответствия, или NULL

limit :

Граница поиска, или NULL для границы буфера

Возвращает :

Найдены ли соответствия


gtk_text_iter_backward_search ()

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

Также как gtk_text_iter_forward_search(), но перемещение назад.

iter :

GtkTextIter где начинается поиск

str :

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

flags :

Битовая маска флажков влияющих на поиск

match_start :

Место для хранения возвращаемого значения начала соответствия, или NULL

match_end :

Место для хранения возвращаемого значения конца соответствия, или NULL

limit :

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

Возвращает :

Найдены ли соответствия


gtk_text_iter_equal ()

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

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

lhs :

GtkTextIter

rhs :

другой GtkTextIter

Возвращает :

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


gtk_text_iter_compare ()

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

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

lhs :

GtkTextIter

rhs :

другой 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 :

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 :

GtkTextIter

second :

другой GtkTextIter






Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру