Spec-Zone.ru › GTK 3.22

GtkTextView

GtkTextView — Виджет, отображающий GtkTextBuffer

Функции

GtkWidget * gtk_text_view_new ()
GtkWidget * gtk_text_view_new_with_buffer ()
void gtk_text_view_set_buffer ()
GtkTextBuffer * gtk_text_view_get_buffer ()
GtkAdjustment * gtk_text_view_get_hadjustment ()
GtkAdjustment * gtk_text_view_get_vadjustment ()
void gtk_text_view_scroll_to_mark ()
gboolean gtk_text_view_scroll_to_iter ()
void gtk_text_view_scroll_mark_onscreen ()
gboolean gtk_text_view_move_mark_onscreen ()
gboolean gtk_text_view_place_cursor_onscreen ()
void gtk_text_view_get_visible_rect ()
void gtk_text_view_get_iter_location ()
void gtk_text_view_get_cursor_locations ()
void gtk_text_view_get_line_at_y ()
void gtk_text_view_get_line_yrange ()
gboolean gtk_text_view_get_iter_at_location ()
gboolean gtk_text_view_get_iter_at_position ()
void gtk_text_view_buffer_to_window_coords ()
void gtk_text_view_window_to_buffer_coords ()
GdkWindow * gtk_text_view_get_window ()
GtkTextWindowType gtk_text_view_get_window_type ()
void gtk_text_view_set_border_window_size ()
gint gtk_text_view_get_border_window_size ()
gboolean gtk_text_view_forward_display_line ()
gboolean gtk_text_view_backward_display_line ()
gboolean gtk_text_view_forward_display_line_end ()
gboolean gtk_text_view_backward_display_line_start ()
gboolean gtk_text_view_starts_display_line ()
gboolean gtk_text_view_move_visually ()
void gtk_text_view_add_child_at_anchor ()
GtkTextChildAnchor * gtk_text_child_anchor_new ()
GList * gtk_text_child_anchor_get_widgets ()
gboolean gtk_text_child_anchor_get_deleted ()
void gtk_text_view_add_child_in_window ()
void gtk_text_view_move_child ()
void gtk_text_view_set_wrap_mode ()
GtkWrapMode gtk_text_view_get_wrap_mode ()
void gtk_text_view_set_editable ()
gboolean gtk_text_view_get_editable ()
void gtk_text_view_set_cursor_visible ()
gboolean gtk_text_view_get_cursor_visible ()
void gtk_text_view_reset_cursor_blink ()
void gtk_text_view_set_overwrite ()
gboolean gtk_text_view_get_overwrite ()
void gtk_text_view_set_pixels_above_lines ()
gint gtk_text_view_get_pixels_above_lines ()
void gtk_text_view_set_pixels_below_lines ()
gint gtk_text_view_get_pixels_below_lines ()
void gtk_text_view_set_pixels_inside_wrap ()
gint gtk_text_view_get_pixels_inside_wrap ()
void gtk_text_view_set_justification ()
GtkJustification gtk_text_view_get_justification ()
void gtk_text_view_set_left_margin ()
gint gtk_text_view_get_left_margin ()
void gtk_text_view_set_right_margin ()
gint gtk_text_view_get_right_margin ()
void gtk_text_view_set_top_margin ()
gint gtk_text_view_get_top_margin ()
void gtk_text_view_set_bottom_margin ()
gint gtk_text_view_get_bottom_margin ()
void gtk_text_view_set_indent ()
gint gtk_text_view_get_indent ()
void gtk_text_view_set_tabs ()
PangoTabArray * gtk_text_view_get_tabs ()
void gtk_text_view_set_accepts_tab ()
gboolean gtk_text_view_get_accepts_tab ()
GtkTextAttributes * gtk_text_view_get_default_attributes ()
gboolean gtk_text_view_im_context_filter_keypress ()
void gtk_text_view_reset_im_context ()
void gtk_text_view_set_input_purpose ()
GtkInputPurpose gtk_text_view_get_input_purpose ()
void gtk_text_view_set_input_hints ()
GtkInputHints gtk_text_view_get_input_hints ()
void gtk_text_view_set_monospace ()
gboolean gtk_text_view_get_monospace ()

Свойства

gboolean accepts-tab Чтение / Запись
gint bottom-margin Чтение / Запись
GtkTextBuffer * buffer Чтение / Запись
gboolean cursor-visible Чтение / Запись
gboolean editable Чтение / Запись
gchar * im-module Чтение / Запись
gint indent Чтение / Запись
GtkInputHints input-hints Чтение / Запись
GtkInputPurpose input-purpose Чтение / Запись
GtkJustification justification Чтение / Запись
gint left-margin Чтение / Запись
gboolean monospace Чтение / Запись
gboolean overwrite Чтение / Запись
gint pixels-above-lines Чтение / Запись
gint pixels-below-lines Чтение / Запись
gint pixels-inside-wrap Чтение / Запись
gboolean populate-all Чтение / Запись
gint right-margin Чтение / Запись
PangoTabArray * tabs Чтение / Запись
gint top-margin Чтение / Запись
GtkWrapMode wrap-mode Чтение / Запись

Стилизованные свойства

GdkColor * error-underline-color Чтение

Сигналы

void backspace Действие
void copy-clipboard Действие
void cut-clipboard Действие
void delete-from-cursor Действие
gboolean extend-selection Выполнить последним
void insert-at-cursor Действие
void move-cursor Действие
void move-viewport Действие
void paste-clipboard Действие
void populate-popup Выполнить последним
void preedit-changed Действие
void select-all Действие
void set-anchor Действие
void toggle-cursor-visible Действие
void toggle-overwrite Действие

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

struct GtkTextView
struct GtkTextViewClass
enum GtkTextViewLayer
enum GtkTextWindowType
enum GtkTextExtendSelection
enum GtkWrapMode
struct GtkTextChildAnchor
#define GTK_TEXT_VIEW_PRIORITY_VALIDATE

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

    GObject
    ├── GInitiallyUnowned
    │   ╰── GtkWidget
    │       ╰── GtkContainer
    │           ╰── GtkTextView
    ╰── GtkTextChildAnchor

Реализованные интерфейсы

GtkTextView реализует AtkImplementorIface, GtkBuildable и GtkScrollable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

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

Узлы CSS

GtkTextView имеет основной узел CSS с именем textview и классом стиля .view, а также подузлы для каждого из окон границы и основной области текста соответственно с именами border и text. Узлы border получают один из стилей классов .left, .right, .top или .bottom.

Узел, представляющий выделение, будет отображаться под узлом text.

Если контекстное меню открыто, узел окна будет отображаться как поддерево основного узла.

Функции

gtk_text_view_new ()

GtkWidget *
gtk_text_view_new (void);

Создаёт новый GtkTextView. Если вы не вызовете gtk_text_view_set_buffer() перед использованием текстового поля, для вас будет создан пустой буфер по умолчанию. Получите буфер с помощью gtk_text_view_get_buffer(). Если вы хотите указать свой собственный буфер, воспользуйтесь gtk_text_view_new_with_buffer().

Возвращает

новый GtkTextView

gtk_text_view_new_with_buffer ()

GtkWidget *
gtk_text_view_new_with_buffer (GtkTextBuffer *buffer);

Создаёт новый виджет GtkTextView, отображающий буфер buffer . Один буфер может быть совместно использован многими виджетами. buffer может быть NULL для создания буфера по умолчанию, в этом случае функция эквивалентна gtk_text_view_new(). Текстовое поле добавляет свою собственную ссылку на счётчик буфера; оно не перехватывает существующую ссылку.

Параметры

buffer

a GtkTextBuffer

Возвращает

новый GtkTextView.

gtk_text_view_set_buffer ()

void
gtk_text_view_set_buffer (GtkTextView *text_view,
                          GtkTextBuffer *buffer);

Устанавливает buffer в качестве буфера, отображаемого text_view . Предыдущий буфер, отображаемый текстовым полем, освобождается, и добавляется ссылка на buffer . Если вы владели ссылкой на buffer до передачи её в эту функцию, вы должны удалить эту ссылку самостоятельно; GtkTextView не будет её «усыновлять».

Параметры

text_view

a GtkTextView

buffer

a GtkTextBuffer.

[allow-none]

gtk_text_view_get_buffer ()

GtkTextBuffer *
gtk_text_view_get_buffer (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

Возвращает

a GtkTextBuffer.

[transfer none]

gtk_text_view_get_hadjustment ()

GtkAdjustment *
gtk_text_view_get_hadjustment (GtkTextView *text_view);

gtk_text_view_get_hadjustment устарело начиная с версии 3.0 и не должно использоваться в новом коде.

Используйте gtk_scrollable_get_hadjustment()

Получает горизонтальную настройка прокрутки GtkAdjustment.

Параметры

text_view

a GtkTextView

Возвращает

указатель на горизонтальную настройку прокрутки GtkAdjustment.

[transfer none]

С: 2.22

gtk_text-view_get-vadjustment ()

GtkAdjustment *
gtk_text_view_get_vadjustment (GtkTextView *text_view);

gtk_text_view_get_vadjustment устарело начиная с версии 3.0 и не должно использоваться в новом коде.

Используйте gtk_scrollable_get_vadjustment()

Получает вертикальную настройку прокрутки GtkAdjustment.

Параметры

text_view

a GtkTextView

Возвращает

указатель на вертикальную настройку прокрутки GtkAdjustment.

[transfer none]

С: 2.22

gtk_text_view_scroll_to_mark ()

void
gtk_text_view_scroll_to_mark (GtkTextView *text_view,
                              GtkTextMark *mark,
                              gdouble within_margin,
                              gboolean use_align,
                              gdouble xalign,
                              gdouble yalign);

Прокручивает text_view так, чтобы mark находился на экране в позиции, указанной xalign и yalign . Выравнивание 0.0 соответствует левому или верхнему краю, 1.0 — правому или нижнему, 0.5 — центру. Если use_align равно FALSE, текст прокручивается на минимальное расстояние для отображения метки, возможно, совсем не прокручивается. Эффективный экран для целей этой функции уменьшен на отступ размером within_margin .

Параметры

text_view

a GtkTextView

mark

a GtkTextMark

within_margin

отступ как дробная часть (0.0, 0.5) размера экрана

use_align

использовать ли аргументы выравнивания (если FALSE, просто получить метку на экране)

xalign

горизонтальное выравнивание метки в области видимости

yalign

вертикальное выравнивание метки в области видимости

gtk_text_view_scroll_to_iter ()

gboolean
gtk_text_view_scroll_to_iter (GtkTextView *text_view,
                              GtkTextIter *iter,
                              gdouble within_margin,
                              gboolean use_align,
                              gdouble xalign,
                              gdouble yalign);

Прокручивает text_view так, чтобы iter находился на экране в позиции, указанной xalign и yalign . Выравнивание 0.0 соответствует левому или верхнему краю, 1.0 — правому или нижнему, 0.5 — центру. Если use_align равно FALSE, текст прокручивается на минимальное расстояние, необходимое для отображения метки на экране, возможно, вообще не прокручивается. Эффективный экран для целей этой функции уменьшается на величину, заданную within_margin .

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

within_margin

отступ как дробь [0.0,0.5) от размера экрана

use_align

использовать ли аргументы выравнивания (если FALSE, просто поместить метку на экран)

xalign

горизонтальное выравнивание метки в пределах видимой области

yalign

вертикальное выравнивание метки в пределах видимой области

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

TRUE, если прокрутка произошла

gtk_text_view_scroll_mark_onscreen ()

void
gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view,
                                    GtkTextMark *mark);

Прокручивает text_view на минимальное расстояние, чтобы mark находилось в пределах видимой области виджета.

Параметры

text_view

a GtkTextView

mark

метка в буфере для text_view

gtk_text_view_move_mark_onscreen ()

gboolean
gtk_text_view_move_mark_onscreen (GtkTextView *text_view,
                                  GtkTextMark *mark);

Перемещает метку в буфере так, чтобы она располагалась в текущей видимой области текста.

Параметры

text_view

a GtkTextView

mark

a GtkTextMark

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

TRUE, если метка была перемещена (не была уже на экране)

gtk_text_view_place_cursor_onscreen ()

gboolean
gtk_text_view_place_cursor_onscreen (GtkTextView *text_view);

Перемещает курсор в текущую видимую область буфера, если он там ещё не находится.

Параметры

text_view

a GtkTextView

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

TRUE, если курсор нужно было переместить.

gtk_text_view_get_visible_rect ()

void
gtk_text_view_get_visible_rect (GtkTextView *text_view,
                                GdkRectangle *visible_rect);

Заполняет visible_rect текущей видимой областью буфера в координатах буфера. Преобразуйте в координаты окна с помощью gtk_text_view_buffer_to_window_coords().

Параметры

text_view

a GtkTextView

visible_rect

прямоугольник для заполнения.

[out]

gtk_text_view_get_iter_location ()

void
gtk_text_view_get_iter_location (GtkTextView *text_view,
                                 const GtkTextIter *iter,
                                 GdkRectangle *location);

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

location

пределы символа в позиции iter .

[out]

gtk_text_view_get_cursor_locations ()

void
gtk_text_view_get_cursor_locations (GtkTextView *text_view,
                                    const GtkTextIter *iter,
                                    GdkRectangle *strong,
                                    GdkRectangle *weak);

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

Если iter равен NULL, используется фактическая позиция курсора.

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

Позиция прямоугольника указана в координатах буфера; используйте gtk_text_view_buffer_to_window_coords() для преобразования этих координат в координаты одного из окон в представлении текста.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter.

[allow-none]

strong

место для хранения позиции сильного курсора (может быть NULL).

[out][allow-none]

weak

место для хранения позиции слабого курсора (может быть NULL).

[out][allow-none]

Since: 3.0

gtk_text_view_get_line_at_y ()

void
gtk_text_view_get_line_at_y (GtkTextView *text_view,
                             GtkTextIter *target_iter,
                             gint y,
                             gint *line_top);

Получает GtkTextIter в начале строки, содержащей координату y . y указана в координатах буфера, преобразуйте из координат окна с помощью gtk_text_view_window_to_buffer_coords(). Если не NULL, line_top будет заполнен координатой верхней границы строки.

Параметры

text_view

a GtkTextView

target_iter

a GtkTextIter.

[out]

y

координата y

line_top

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

[out]

gtk_text_view_get_line_yrange ()

void
gtk_text_view_get_line_yrange (GtkTextView *text_view,
                               const GtkTextIter *iter,
                               gint *y,
                               gint *height);

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

y

место возврата для координаты y.

[out]

height

место возврата для высоты.

[out]

gtk_text_view_get_iter_at_location ()

gboolean
gtk_text_view_get_iter_at_location (GtkTextView *text_view,
                                    GtkTextIter *iter,
                                    gint x,
                                    gint y);

Извлекает итератор по координатам буфера x и y . Координаты буфера — это координаты для всего буфера, а не только для отображаемой в данный момент части. Если у вас есть координаты из события, вам нужно преобразовать их в координаты буфера с помощью gtk_text_view_window_to_buffer_coords().

Параметры

text_view

a GtkTextView

iter

a GtkTextIter.

[out]

x

координата x, в координатах буфера

y

координата y, в координатах буфера

Возвращает

TRUE если позиция находится над текстом

gtk_text_view_get_iter_at_position ()

gboolean
gtk_text_view_get_iter_at_position (GtkTextView *text_view,
                                    GtkTextIter *iter,
                                    gint *trailing,
                                    gint x,
                                    gint y);

Возвращает итератор, указывающий на символ в координатах буфера x и y . Координаты буфера — это координаты всего буфера, а не только отображаемой в данный момент части. Если у вас есть координаты из события, вы должны преобразовать их в координаты буфера с помощью gtk_text_view_window_to_buffer_coords().

Обратите внимание, что это отличается от gtk_text_view_get_iter_at_location(), которое возвращает позиции курсора, т. е. позиции между символами.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter.

[out]

trailing

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

[out][allow-none]

x

позиция по оси x в координатах буфера

y

позиция по оси y в координатах буфера

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

TRUE если позиция расположена над текстом

Since: 2.6

gtk_text_view_buffer_to_window_coords ()

void
gtk_text_view_buffer_to_window_coords (GtkTextView *text_view,
                                       GtkTextWindowType win,
                                       gint buffer_x,
                                       gint buffer_y,
                                       gint *window_x,
                                       gint *window_y);

Преобразует координаты (buffer_x , buffer_y ) в координаты окна win и сохраняет результат в (window_x , window_y ).

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

Параметры

text_view

a GtkTextView

win

a GtkTextWindowType кроме GTK_TEXT_WINDOW_PRIVATE

buffer_x

координата x в буфере

buffer_y

координата y в буфере

window_x

место для возврата координаты x окна или NULL.

[out][allow-none]

window_y

место для возврата координаты y окна или NULL.

[out][allow-none]

gtk_text_view_window_to_buffer_coords ()

void
gtk_text_view_window_to_buffer_coords (GtkTextView *text_view,
                                       GtkTextWindowType win,
                                       gint window_x,
                                       gint window_y,
                                       gint *buffer_x,
                                       gint *buffer_y);

Преобразует координаты на окне, указанном win, в координаты буфера, сохраняя результат в (buffer_x ,buffer_y ).

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

Параметры

text_view

a GtkTextView

win

a GtkTextWindowType кроме GTK_TEXT_WINDOW_PRIVATE

window_x

координата x окна

window_y

координата y окна

buffer_x

место для возврата координаты x буфера или NULL .

[out][allow-none]

buffer_y

место для возврата координаты y буфера или NULL .

[out][allow-none]

gtk_text_view_get_window ()

GdkWindow *
gtk_text_view_get_window (GtkTextView *text_view,
                          GtkTextWindowType win);

Возвращает GdkWindow, соответствующий области текстового поля; возможные окна включают общее окно виджета, дочерние окна слева, справа, сверху, снизу и окно, отображающее буфер текста. Окна NULL и не существуют, если их ширина или высота равна 0, и не существуют до визуализации виджета.

Параметры

text_view

a GtkTextView

win

окно для получения

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

GdkWindow или NULL.

[nullable][transfer none]

gtk_text_view_get_window_type ()

GtkTextWindowType
gtk_text_view_get_window_type (GtkTextView *text_view,
                               GdkWindow *window);

Обычно используется для определения, к какому окну относится событие. Если вы подключаетесь к сигналу события на text_view , эта функция должна быть вызвана на event->window для определения окна.

Параметры

text_view

a GtkTextView

window

тип окна

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

тип окна.

gtk_text_view_set_border_window_size ()

void
gtk_text_view_set_border_window_size (GtkTextView *text_view,
                                      GtkTextWindowType type,
                                      gint size);

Задает ширину GTK_TEXT_WINDOW_LEFT или GTK_TEXT_WINDOW_RIGHT, или высоту GTK_TEXT_WINDOW_TOP или GTK_TEXT_WINDOW_BOTTOM. Автоматически уничтожает соответствующее окно, если размер установлен в 0, и создает окно, если размер установлен в ненулевое значение. Эта функция может использоваться только для «пограничных окон», она не работает с GTK_TEXT_WINDOW_WIDGET, GTK_TEXT_WINDOW_TEXT или GTK_TEXT_WINDOW_PRIVATE.

Параметры

text_view

a GtkTextView

type

окно для воздействия

size

ширина или высота окна

gtk_text_view_get_border_window_size ()

gint
gtk_text_view_get_border_window_size (GtkTextView *text_view,
                                      GtkTextWindowType type);

Получает ширину указанного пограничного окна. Смотрите gtk_text_view_set_border_window_size().

Параметры

text_view

a GtkTextView

type

окно, из которого нужно вернуть размер

Возвращает

ширина окна

gtk_text_view_forward_display_line ()

gboolean
gtk_text_view_forward_display_line (GtkTextView *text_view,
                                    GtkTextIter *iter);

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

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

gtk_text_view_backward_display_line ()

gboolean
gtk_text_view_backward_display_line (GtkTextView *text_view,
                                     GtkTextIter *iter);

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

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

gtk_text_view_forward_display_line_end ()

gboolean
gtk_text_view_forward_display_line_end
                               (GtkTextView *text_view,
                                GtkTextIter *iter);

Перемещает заданный iter вперед до конца следующей строки отображения. Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путем переноса абзаца. Если перенос отключен, строки отображения и абзацы будут одинаковыми. Строки отображения разделяются по-разному для каждого представления, поскольку они зависят от ширины представления; абзацы одинаковы во всех представлениях, поскольку они зависят от содержимого GtkTextBuffer.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

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

gtk_text_view_backward_display_line_start ()

gboolean
gtk_text_view_backward_display_line_start
                               (GtkTextView *text_view,
                                GtkTextIter *iter);

Перемещает заданный iter назад до начала следующей строки отображения. Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путем переноса абзаца. Если перенос отключен, строки отображения и абзацы будут одинаковыми. Строки отображения разделяются по-разному для каждого представления, поскольку они зависят от ширины представления; абзацы одинаковы во всех представлениях, поскольку они зависят от содержимого GtkTextBuffer.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

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

gtk_text_view_starts_display_line ()

gboolean
gtk_text_view_starts_display_line (GtkTextView *text_view,
                                   const GtkTextIter *iter);

Определяет, находится ли iter в начале строки отображения. Смотрите gtk_text_view_forward_display_line() для объяснения строк отображения по сравнению с абзацами.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

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

gtk_text_view_move_visually ()

gboolean
gtk_text_view_move_visually (GtkTextView *text_view,
                             GtkTextIter *iter,
                             gint count);

Перемещает итератор на заданное количество символов визуально, рассматривая его как сильную позицию курсора. Если count положительно, то новая сильная позиция курсора будет на count позиции правее старой позиции курсора. Если count отрицательно, то новая сильная позиция курсора будет на count позициях левее старой позиции курсора.

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

count

количество символов для перемещения (отрицательное значение перемещает влево, положительное - вправо)

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

TRUE, если iter был перемещен и не находится на конечной итерации

gtk_text_view_add_child_at_anchor ()

void
gtk_text_view_add_child_at_anchor (GtkTextView *text_view,
                                   GtkWidget *child,
                                   GtkTextChildAnchor *anchor);

Добавляет дочерний виджет в буфер текста по указанному anchor.

Параметры

text_view

a GtkTextView

child

a GtkWidget

anchor

a GtkTextChildAnchor в GtkTextBuffer для text_view

gtk_text_child_anchor_new ()

GtkTextChildAnchor *
gtk_text_child_anchor_new (void);

Создаёт новый GtkTextChildAnchor. Обычно его нужно вставить в GtkTextBuffer с помощью gtk_text_buffer_insert_child_anchor(). Для создания и вставки в один шаг используйте удобную функцию gtk_text_buffer_create_child_anchor().

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

новый GtkTextChildAnchor

gtk_text_child_anchor_get_widgets ()

GList *
gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor);

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

Параметры

anchor

a GtkTextChildAnchor

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

список виджетов, закреплённых в anchor .

[element-type GtkWidget][transfer container]

gtk_text_child_anchor_get_deleted ()

gboolean
gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);

Определяет, был ли дочерний якорь удалён из буфера. Имейте в виду, что дочерний якорь будет освобожден при удалении из буфера, поэтому вам необходимо сохранить свою ссылку (с помощью g_object_ref()), если вы планируете использовать эту функцию — в противном случае все удалённые дочерние якоря также будут завершены.

Параметры

anchor

a GtkTextChildAnchor

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

TRUE, если дочерний якорь был удален из буфера

gtk_text_view_add_child_in_window ()

void
gtk_text_view_add_child_in_window (GtkTextView *text_view,
                                   GtkWidget *child,
                                   GtkTextWindowType which_window,
                                   gint xpos,
                                   gint ypos);

Добавляет дочерний элемент в фиксированных координатах в одном из окон виджета текста.

Окно должно иметь ненулевой размер (см. gtk_text_view_set_border_window_size()). Обратите внимание, что координаты дочернего элемента задаются относительно прокрутки. При размещении дочернего элемента в GTK_TEXT_WINDOW_WIDGET прокрутка не имеет значения, дочерний элемент находится над всеми прокручиваемыми областями. Но при размещении дочернего элемента в одном из прокручиваемых окон (граничных окон или окна текста) он будет перемещаться вместе с прокруткой по мере необходимости.

Параметры

text_view

a GtkTextView

child

a GtkWidget

which_window

в котором окне должен отображаться дочерний элемент

xpos

координата X дочернего элемента в координатах окна

ypos

координата Y дочернего элемента в координатах окна

gtk_text_view_move_child ()

void
gtk_text_view_move_child (GtkTextView *text_view,
                          GtkWidget *child,
                          gint xpos,
                          gint ypos);

Обновляет позицию дочернего элемента, как и в gtk_text_view_add_child_in_window().

Параметры

text_view

a GtkTextView

child

виджет дочернего элемента, уже добавленный в виджет TextView

xpos

новая координата X в координатах окна

ypos

новая координата Y в координатах окна

gtk_text_view_set_wrap_mode ()

void
gtk_text_view_set_wrap_mode (GtkTextView *text_view,
                             GtkWrapMode wrap_mode);

Устанавливает режим переноса строк для области просмотра.

Параметры

text_view

a GtkTextView

wrap_mode

a GtkWrapMode

gtk_text_view_get_wrap_mode ()

GtkWrapMode
gtk_text_view_get_wrap_mode (GtkTextView *text_view);

Получает режим переноса строк для области просмотра.

Параметры

text_view

a GtkTextView

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

установленное значение режима переноса строк

gtk_text_view_set_editable ()

void
gtk_text_view_set_editable (GtkTextView *text_view,
                            gboolean setting);

Устанавливает значение по умолчанию для редактируемости GtkTextView. Это значение можно переопределить с помощью тегов в буфере, используя атрибут “editable” тегов.

Параметры

text_view

объект GtkTextView

setting

редактируемость

gtk_text_view_get_editable ()

gboolean
gtk_text_view_get_editable (GtkTextView *text_view);

Возвращает значение по умолчанию для редактируемости GtkTextView. Теги в буфере могут переопределить это значение для некоторых диапазонов текста.

Параметры

text_view

объект GtkTextView

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

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

gtk_text_view_set_cursor_visible ()

void
gtk_text_view_set_cursor_visible (GtkTextView *text_view,
                                  gboolean setting);

Включает или выключает отображение курсора вставки. Буфер без редактируемого текста, скорее всего, не должен иметь видимый курсор, поэтому вы можете его отключить.

Обратите внимание, что это свойство может быть переопределено настройками “gtk-keynave-use-caret”.

Параметры

text_view

объект GtkTextView

setting

отображение курсора вставки

gtk_text_view_get_cursor_visible ()

gboolean
gtk_text_view_get_cursor_visible (GtkTextView *text_view);

Определяет, должен ли отображаться курсор.

Параметры

text_view

объект GtkTextView

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

отображение маркера вставки

gtk_text_view_reset_cursor_blink ()

void
gtk_text_view_reset_cursor_blink (GtkTextView *text_view);

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

Эта функция должна вызываться в ответ на пользовательский ввод (например, производными классами, которые переопределяют обработчик события “key-press-event” textview).

Параметры

text_view

объект GtkTextView

С: 3.20

gtk_text-view_set_overwrite ()

void
gtk_text_view_set_overwrite (GtkTextView *text_view,
                             gboolean overwrite);

Изменяет режим вставки в GtkTextView.

Параметры

text_view

объект GtkTextView

overwrite

TRUE для включения режима вставки, FALSE для выключения

С: 2.4

gtk_text_view_get_overwrite ()

gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view);

Возвращает, находится ли GtkTextView в режиме вставки или нет.

Параметры

text_view

объект GtkTextView

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

режим вставки.

С: 2.4

gtk_text_view_set_pixels_above_lines ()

void
gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,
                                      gint pixels_above_lines);

Устанавливает количество пикселей по умолчанию между абзацами в text_view. Теги в буфере для text_view могут переопределить значения по умолчанию.

Параметры

text_view

объект GtkTextView

pixels_above_lines

пиксели над абзацами

gtk_text_view_get_pixels-above-lines ()

gint
gtk_text_view_get_pixels_above_lines (GtkTextView *text_view);

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

Параметры

text_view

объект GtkTextView

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

количество пикселей по умолчанию над абзацами

gtk_text_view_set_pixels_below_lines ()

void
gtk_text_view_set_pixels_below_lines (GtkTextView *text_view,
                                      gint pixels_below_lines);

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

Параметры

text_view

объект GtkTextView

pixels_below_lines

пиксели под абзацами

gtk_text_view_get_pixels_below_lines ()

gint
gtk_text_view_get_pixels_below_lines (GtkTextView *text_view);

Возвращает значение, установленное функцией gtk_text_view_set_pixels_below_lines().

Интервал строк равен сумме значения, возвращаемого этой функцией, и значения, возвращаемого функцией gtk_text_view_get_pixels_above_lines().

Параметры

text_view

объект GtkTextView

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

количество пикселей по умолчанию под абзацами

gtk_text_view_set_pixels_inside_wrap ()

void
gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view,
                                      gint pixels_inside_wrap);

Устанавливает количество пикселей по умолчанию для пустого пространства между отображаемыми/переносимыми строками внутри абзаца. Может быть переопределено тегами в буфере text_view.

Параметры

text_view

объект GtkTextView

pixels_inside_wrap

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

gtk_text_view_get_pixels_inside_wrap ()

gint
gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view);

Получает значение, заданное функцией gtk_text_view_set_pixels_inside_wrap().

Параметры

text_view

a GtkTextView

Возвращает

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

gtk_text_view_set_justification ()

void
gtk_text_view_set_justification (GtkTextView *text_view,
                                 GtkJustification justification);

Устанавливает стандартное выравнивание текста в text_view. Теги в буфере представления могут переопределить значение по умолчанию.

Параметры

text_view

a GtkTextView

justification

выравнивание

gtk_text_view_get_justification ()

GtkJustification
gtk_text_view_get_justification (GtkTextView *text_view);

Получает стандартное выравнивание абзацев в text_view. Теги в буфере могут переопределить значение по умолчанию.

Параметры

text_view

a GtkTextView

Возвращает

стандартное выравнивание

gtk_text_view_set_left_margin ()

void
gtk_text_view_set_left_margin (GtkTextView *text_view,
                               gint left_margin);

Устанавливает стандартную левую границу для текста в text_view. Теги в буфере могут переопределить значение по умолчанию.

Обратите внимание, что функция имеет запутанное имя. В терминах CSS заданное здесь значение — отступ.

Параметры

text_view

a GtkTextView

left_margin

левая граница в пикселях

gtk_text_view_get_left_margin ()

gint
gtk_text_view_get_left_margin (GtkTextView *text_view);

Получает размер стандартной левой границы абзацев в text_view. Теги в буфере могут переопределить значение по умолчанию.

Параметры

text_view

a GtkTextView

Возвращает

левая граница в пикселях

gtk_text_view_set_right_margin ()

void
gtk_text_view_set_right_margin (GtkTextView *text_view,
                                gint right_margin);

Устанавливает стандартную правую границу для текста в представлении текста. Теги в буфере могут переопределить значение по умолчанию.

Обратите внимание, что функция имеет запутанное имя. В терминах CSS заданное здесь значение — отступ.

Параметры

text_view

a GtkTextView

right_margin

правая граница в пикселях

gtk_text_view_get_right_margin ()

gint
gtk_text_view_get_right_margin (GtkTextView *text_view);

Получает стандартную правую границу текста в text_view. Теги в буфере могут переопределить значение по умолчанию.

Параметры

text_view

a GtkTextView

Возвращает

правая граница в пикселях

gtk_text_view_set_top_margin ()

void
gtk_text_view_set_top_margin (GtkTextView *text_view,
                              gint top_margin);

Устанавливает верхний отступ для текста в text_view.

Обратите внимание, что функция имеет запутанное имя. В терминах CSS заданное здесь значение — отступ.

Параметры

text_view

a GtkTextView

top_margin

верхний отступ в пикселях

С: 3.18

gtk_text_view_get_top_margin ()

gint
gtk_text_view_get_top_margin (GtkTextView *text_view);

Получает верхний отступ текста в text_view.

Параметры

text_view

a GtkTextView

Возвращает

верхний отступ в пикселях

С: 3.18

gtk_text_view_set_bottom_margin ()

void
gtk_text_view_set_bottom_margin (GtkTextView *text_view,
                                 gint bottom_margin);

Устанавливает нижний отступ для текста в text_view.

Обратите внимание, что функция имеет запутанное имя. В терминах CSS заданное здесь значение — отступ.

Параметры

text_view

a GtkTextView

bottom_margin

нижний отступ в пикселях

С: 3.18

gtk_text_view_get_bottom_margin ()

gint
gtk_text_view_get_bottom_margin (GtkTextView *text_view);

Получает нижний отступ текста в text_view.

Параметры

text_view

a GtkTextView

Возвращает

нижний отступ в пикселях

С: 3.18

gtk_text_view_set_indent ()

void
gtk_text_view_set_indent (GtkTextView *text_view,
                          gint indent);

Устанавливает стандартный отступ для абзацев в text_view. Теги в буфере могут переопределить значение по умолчанию.

Параметры

text_view

a GtkTextView

indent

отступ в пикселях

gtk_text_view_get_indent ()

gint
gtk_text_view_get_indent (GtkTextView *text_view);

Получает стандартный отступ абзацев в text_view. Теги в буфере представления могут переопределить значение по умолчанию. Отступ может быть отрицательным.

Параметры

text_view

a GtkTextView

Возвращает

количество пикселей отступа

gtk_text_view_set_tabs ()

void
gtk_text_view_set_tabs (GtkTextView *text_view,
                        PangoTabArray *tabs);

Устанавливает стандартные отступы для абзацев в text_view. Теги в буфере могут переопределить стандартные значения.

Параметры

text_view

a GtkTextView

tabs

табуляции в виде PangoTabArray

gtk_text_view_get_tabs ()

PangoTabArray *
gtk_text_view_get_tabs (GtkTextView *text_view);

Получает стандартные табуляции для text_view. Теги в буфере могут переопределить стандартные значения. Возвращаемый массив будет NULL, если используются стандартные (8-пробельные) табуляции. Освободите возвращаемое значение с помощью pango_tab_array_free().

Параметры

text_view

a GtkTextView

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

копия массива стандартных табуляций, или NULL, если используются «стандартные» табуляции; должна быть освобождена с помощью pango_tab_array_free().

[nullable][transfer full]

gtk_text_view_set_accepts_tab ()

void
gtk_text_view_set_accepts_tab (GtkTextView *text_view,
                               gboolean accepts_tab);

Устанавливает поведение виджета текста при нажатии клавиши Tab. Если accepts_tab равно TRUE, вставляется символ табуляции. Если accepts_tab равно FALSE, фокус клавиатуры переносится на следующий виджет в цепочке фокуса.

Параметры

text_view

A GtkTextView

accepts_tab

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

Since: 2.4

gtk_text_view_get_accepts_tab ()

gboolean
gtk_text_view_get_accepts_tab (GtkTextView *text_view);

Возвращает, вставляет ли нажатие клавиши Tab символ табуляции. gtk_text_view_set_accepts_tab().

Параметры

text_view

A GtkTextView

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

TRUE, если при нажатии клавиши Tab вставляется символ табуляции, FALSE, если при нажатии клавиши Tab переносится фокус клавиатуры.

Since: 2.4

gtk_text_view_get_default_attributes ()

GtkTextAttributes *
gtk_text_view_get_default_attributes (GtkTextView *text_view);

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

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

Параметры

text_view

a GtkTextView

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

новый GtkTextAttributes

gtk_text_view_im_context_filter_keypress ()

gboolean
gtk_text_view_im_context_filter_keypress
                               (GtkTextView *text_view,
                                GdkEventKey *event);

Позволяет методу ввода GtkTextView обрабатывать события нажатия и отпускания клавиш. Если эта функция возвращает TRUE, то дальнейшая обработка этого события нажатия клавиши не должна выполняться. См. gtk_im_context_filter_keypress().

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

textview.view
├── border.top
├── border.left
├── text
│   ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]

Параметры

text_view

a GtkTextView

event

событие нажатия клавиши

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

TRUE, если метод ввода обработало событие нажатия клавиши.

Since: 2.22

gtk_text_view_reset_im_context ()

void
gtk_text_view_reset_im_context (GtkTextView *text_view);

Сбрасывает контекст метода ввода текстового представления при необходимости.

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

Параметры

text_view

a GtkTextView

Since: 2.22

gtk_text_view_set_input_purpose ()

void
gtk_text_view_set_input_purpose (GtkTextView *text_view,
                                 GtkInputPurpose purpose);

Устанавливает свойство “input-purpose”, которое может использоваться экранными клавиатурами и другими методами ввода для изменения их поведения.

Параметры

text_view

a GtkTextView

purpose

цель

Since: 3.6

gtk_text_view_get_input_purpose ()

GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view);

Получает значение свойства “input-purpose”.

Параметры

text_view

a GtkTextView

Since: 3.6

gtk_text_view_set_input_hints ()

void
gtk_text_view_set_input_hints (GtkTextView *text_view,
                               GtkInputHints hints);

Устанавливает свойство “input-hints”, что позволяет методам ввода уточнять своё поведение.

Параметры

text_view

a GtkTextView

hints

указанные подсказки

С момента: 3.6

gtk_text_view_get_input_hints ()

GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view);

Возвращает значение свойства “input-hints”.

Параметры

text_view

a GtkTextView

С момента: 3.6

gtk_text_view_set_monospace ()

void
gtk_text_view_set_monospace (GtkTextView *text_view,
                             gboolean monospace);

Устанавливает свойство “monospace”, которое указывает, что виджет текста должен использовать шрифты с фиксированной шириной.

Параметры

text_view

a GtkTextView

monospace

TRUE, чтобы запросить стилирование с фиксированной шириной

С момента: 3.16

gtk_text_view_get_monospace ()

gboolean
gtk_text_view_get_monospace (GtkTextView *text_view);

Возвращает значение свойства “monospace”.

Возвращаемое значение: TRUE, если требуются шрифты с фиксированной шириной

Параметры

text_view

a GtkTextView

С момента: 3.16

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

Структура GtkTextView

struct GtkTextView;

Структура GtkTextViewClass

struct GtkTextViewClass {
  GtkContainerClass parent_class;


  void (* populate_popup)        (GtkTextView      *text_view,
                                  GtkWidget        *popup);
  void (* move_cursor)           (GtkTextView      *text_view,
                                  GtkMovementStep   step,
                                  gint              count,
                                  gboolean          extend_selection);
  void (* set_anchor)            (GtkTextView      *text_view);
  void (* insert_at_cursor)      (GtkTextView      *text_view,
                                  const gchar      *str);
  void (* delete_from_cursor)    (GtkTextView      *text_view,
                                  GtkDeleteType     type,
                                  gint              count);
  void (* backspace)             (GtkTextView      *text_view);
  void (* cut_clipboard)         (GtkTextView      *text_view);
  void (* copy_clipboard)        (GtkTextView      *text_view);
  void (* paste_clipboard)       (GtkTextView      *text_view);
  void (* toggle_overwrite)      (GtkTextView      *text_view);
  GtkTextBuffer * (* create_buffer) (GtkTextView   *text_view);
  void (* draw_layer)            (GtkTextView      *text_view,
			          GtkTextViewLayer  layer,
			          cairo_t          *cr);
  gboolean (* extend_selection)  (GtkTextView            *text_view,
                                  GtkTextExtendSelection  granularity,
                                  const GtkTextIter      *location,
                                  GtkTextIter            *start,
                                  GtkTextIter            *end);
};

Члены

populate_popup ()

Обработчик класса для сигнала “populate-popup”.

move_cursor ()

Обработчик класса для сигнала переназначения клавиш “move-cursor”.

set_anchor ()

Обработчик класса для сигнала переназначения клавиш “set-anchor”.

insert_at_cursor ()

Обработчик класса для сигнала переназначения клавиш “insert-at-cursor”.

delete_from_cursor ()

Обработчик класса для сигнала переназначения клавиш “delete-from-cursor”.

backspace ()

Обработчик класса для сигнала переназначения клавиш “backspace”.

cut_clipboard ()

Обработчик класса для сигнала переназначения клавиш “cut-clipboard”

copy_clipboard ()

Обработчик класса для сигнала переназначения клавиш “copy-clipboard”.

paste_clipboard ()

Обработчик класса для сигнала “paste-clipboard”.

toggle_overwrite ()

Обработчик класса для сигнала переназначения клавиш “toggle-overwrite”.

create_buffer ()

Метод create_buffer vfunc вызывается для создания GtkTextBuffer для текстового представления. Реализация по умолчанию просто вызывает gtk_text_buffer_new(). С: 3.10

draw_layer ()

Метод draw_layer vfunc вызывается до и после отрисовки текстового представления. Приложения могут переопределить этот метод в подклассе, чтобы отрисовать пользовательское содержимое под или над текстом. В слоях GTK_TEXT_VIEW_LAYER_BELOW_TEXT и GTK_TEXT_VIEW_LAYER_ABOVE_TEXT отрисовка выполняется в пространстве координат буфера, но более старые (устаревшие) слои GTK_TEXT_VIEW_LAYER_BELOW и GTK_TEXT_VIEW_LAYER_ABOVE работают в координатах представления, что делает их нецелесообразными для использования. С: 3.14

extend_selection ()

Обработчик класса для сигнала “extend-selection”. С 3.16

Перечисление GtkTextViewLayer

Используется для ссылки на слои GtkTextView с целью кастомизированной отрисовки с помощью метода ::draw_layer vfunc.

Члены

GTK_TEXT_VIEW_LAYER_BELOW

Устаревший слой, используйте GTK_TEXT_VIEW_LAYER_BELOW_TEXT вместо него

GTK_TEXT_VIEW_LAYER_ABOVE

Устаревший слой, используйте GTK_TEXT_VIEW_LAYER_ABOVE_TEXT вместо него

GTK_TEXT_VIEW_LAYER_BELOW_TEXT

Слой, отображаемый под текстом (но над фоном). С: 3.20

GTK_TEXT_VIEW_LAYER_ABOVE_TEXT

Слой, отображаемый над текстом. С: 3.20

Перечисление GtkTextWindowType

Используется для ссылки на части GtkTextView.

Члены

GTK_TEXT_WINDOW_WIDGET

Окно, плавающее над областями прокрутки.

GTK_TEXT_WINDOW_TEXT

Окно прокручиваемого текста.

GTK_TEXT_WINDOW_LEFT

Окно левой границы.

GTK_TEXT_WINDOW_RIGHT

Окно правой границы.

GTK_TEXT_WINDOW_TOP

Окно верхней границы.

GTK_TEXT_WINDOW_BOTTOM

Окно нижней границы.

Перечисление GtkTextExtendSelection

Типы гранул, которые расширяют выделение текста. Используйте сигнал “extend-selection” для настройки выделения.

Члены

GTK_TEXT_EXTEND_SELECTION_WORD

Выделяет текущее слово. Например, срабатывает при двойном щелчке.

GTK_TEXT_EXTEND_SELECTION_LINE

Выделяет текущую строку. Например, срабатывает при тройном щелчке.

С: 3.16

Перечисление GtkWrapMode

Описывает тип перевода строк.

Члены

GTK_WRAP_NONE

не переносить строки; просто сделать область текста шире

GTK_WRAP-CHAR

переносить текст, разделяя строки там, где может появиться курсор (обычно между символами - если быть точным, между графемами, см. pango_get_log_attrs())

GTK_WRAP_WORD

переносить текст, разделяя строки между словами

GTK_WRAP_WORD_CHAR

переносить текст, разделяя строки между словами, или, если этого недостаточно, также между графемами

Структура GtkTextChildAnchor

struct GtkTextChildAnchor;

A GtkTextChildAnchor is a spot in the buffer where child widgets can be “anchored” (inserted inline, as if they were characters). The anchor can have multiple widgets anchored, to allow for multiple views.

GTK_TEXT_VIEW_PRIORITY_VALIDATE

#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)

Приоритет, с которым текстовое представление проверяет строки на экране в работе в фоновом режиме.

Подробное описание свойств

Свойство “accepts-tab”

  “accepts-tab”              gboolean

Указывает, будет ли ввод Tab означать ввод символа табуляции.

Флаги: чтение/запись

Значение по умолчанию: TRUE

Свойство “bottom-margin”

  “bottom-margin”            gint

Нижний отступ для текста в текстовом представлении.

Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.

Не путайте это свойство с “margin-bottom”.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

С момента: 3.18

Свойство “buffer”

  “buffer”                   GtkTextBuffer *

Буфер, который отображается.

Флаги: чтение/запись

Свойство “cursor-visible”

  “cursor-visible”           gboolean

Отображается ли курсор вставки.

Флаги: чтение/запись

Значение по умолчанию: TRUE

Свойство “editable”

  “editable”                 gboolean

Можно ли изменять текст пользователем.

Флаги: чтение/запись

Значение по умолчанию: TRUE

Свойство “im-module”

  “im-module”                gchar *

Какой модуль Ввода (input method) должен использоваться для этого text_view. См. GtkIMContext.

Установка этого значения на отличное от NULL приводит к перезаписи настройки системного модуля Ввода. См. свойство GtkSettings “gtk-im-module”.

Флаги: чтение/запись

Значение по умолчанию: NULL

С момента: 2.16

Свойство “indent”

  “indent”                   gint

Размер отступа абзаца в пикселях.

Флаги: чтение/запись

Значение по умолчанию: 0

Свойство “input-hints”

  “input-hints”              GtkInputHints

Дополнительные подсказки (помимо “input-purpose”), которые позволяют методам ввода тонко настраивать свое поведение.

Флаги: чтение/запись

С момента: 3.6

Свойство “input-purpose”

  “input-purpose”            GtkInputPurpose

Назначение этого поля ввода.

Это свойство может использоваться виртуальными клавиатурами и другими методами ввода для корректировки их поведения.

Флаги: чтение/запись

Значение по умолчанию: GTK_INPUT_PURPOSE_FREE_FORM

С момента: 3.6

Свойство “justification”

  “justification”            GtkJustification

Выравнивание по левому, правому или центру.

Флаги: чтение/запись

Значение по умолчанию: GTK_JUSTIFY_LEFT

Свойство “left-margin”

  “left-margin”              gint

Стандартный левый отступ для текста в текстовом представлении. Теги в буфере могут переопределять значение по умолчанию.

Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.

Не путайте это свойство с “margin-left”.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

Свойство “monospace”

  “monospace”                gboolean

Использовать ли моноширинный шрифт.

Флаги: чтение/запись

Значение по умолчанию: FALSE

Свойство “overwrite”

  “overwrite”                gboolean

Заменяет ли вводимый текст существующее содержимое.

Флаги: чтение/запись

Значение по умолчанию: FALSE

Свойство “pixels-above-lines”

  “pixels-above-lines”       gint

Пиксели пустого места над абзацами.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

Свойство “pixels-below-lines”

  “pixels-below-lines”       gint

Пиксели пустого места под абзацами.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

Свойство “pixels-inside-wrap”

  “pixels-inside-wrap”       gint

Пиксели пустого места между переносимыми строками в абзаце.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

Свойство “populate-all”

  “populate-all”             gboolean

Если :populate-all равен TRUE, сигнал “populate-popup” также излучается для всплывающих окон касания.

Флаги: чтение/запись

Значение по умолчанию: FALSE

С момента: 3.8

Свойство “right-margin”

  “right-margin”             gint

Стандартный правый отступ для текста в текстовом представлении. Теги в буфере могут переопределять значение по умолчанию.

Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.

Не путайте это свойство с “margin-right”.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

Свойство “tabs”

  “tabs”                     PangoTabArray *

Пользовательские табуляции для этого текста.

Флаги: чтение/запись

Свойство “top-margin”

  “top-margin”               gint

Верхний отступ для текста в текстовом представлении.

Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.

Не путайте это свойство с “margin-top”.

Флаги: чтение/запись

Допустимые значения: >= 0

Значение по умолчанию: 0

С момента: 3.18

Свойство “wrap-mode”

  “wrap-mode”                GtkWrapMode

Переносить ли строки никогда, по границам слов или по границам символов.

Флаги: чтение/запись

Значение по умолчанию: GTK_WRAP_NONE

Подробное описание свойств стиля

Свойство стиля “error-underline-color”

  “error-underline-color”    GdkColor *

Цвет подчёркивания, указывающий на ошибку.

Флаги: чтение

Подробности сигналов

Сигнал “backspace”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::backspace — это сигнал привязки клавиш, который генерируется, когда пользователь запрашивает его.

По умолчанию для этого сигнала назначены сочетания клавиш Backspace и Shift-Backspace.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “copy-clipboard”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::copy-clipboard — это сигнал привязки клавиш, который генерируется для копирования выделенного текста в буфер обмена.

По умолчанию для этого сигнала назначены сочетания клавиш Ctrl-c и Ctrl-Insert.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “cut-clipboard”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::cut-clipboard — это сигнал привязки клавиш, который генерируется для вырезания выделенного текста в буфер обмена.

По умолчанию для этого сигнала назначены сочетания клавиш Ctrl-x и Shift-Delete.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “delete-from-cursor”

void
user_function (GtkTextView  *text_view,
               GtkDeleteType type,
               gint          count,
               gpointer      user_data)

Сигнал ::delete-from-cursor — это сигнал привязки клавиш, который генерируется при начале удаления текста.

Если type равен GTK_DELETE_CHARS, GTK+ удаляет выделение, если оно есть, в противном случае удаляется заданное количество символов.

По умолчанию для этого сигнала назначены сочетания клавиш Delete для удаления символа, Ctrl-Delete для удаления слова и Ctrl-Backspace для удаления слова назад.

Параметры

text_view

объект, получивший сигнал

type

тип детализации удаления, как GtkDeleteType

count

количество единиц type для удаления

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “extend-selection”

gboolean
user_function (GtkTextView           *text_view,
               GtkTextExtendSelection granularity,
               GtkTextIter           *location,
               GtkTextIter           *start,
               GtkTextIter           *end,
               gpointer               user_data)

Сигнал ::extend-selection генерируется при необходимости расширения выделения в location.

Параметры

text_view

объект, получивший сигнал

granularity

тип детализации

location

место расширения выделения

start

начало выделения

end

конец выделения

user_data

данные пользователя, установленные при подключении обработчика сигнала.

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

GDK_EVENT_STOP для остановки вызова других обработчиков для события. GDK_EVENT_PROPAGATE для распространения события дальше.

Флаги: Выполнить последним

С: 3.16

Сигнал “insert-at-cursor”

void
user_function (GtkTextView *text_view,
               gchar       *string,
               gpointer     user_data)

Сигнал ::insert-at-cursor — это сигнал привязки клавиш, который генерируется при вставке фиксированной строки в курсор.

По умолчанию для этого сигнала нет привязок клавиш.

Параметры

text_view

объект, получивший сигнал

string

строка для вставки

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “move-cursor”

void
user_function (GtkTextView    *text_view,
               GtkMovementStep step,
               gint            count,
               gboolean        extend_selection,
               gpointer        user_data)

Сигнал ::move-cursor — это сигнал привязки клавиш, который генерируется при перемещении курсора. Если курсор не виден в text_view, этот сигнал вызывает перемещение области просмотра вместо этого.

Приложениям не следует подключаться к нему, но они могут генерировать его с помощью g_signal_emit_by_name(), если им нужно программно управлять курсором.

По умолчанию для этого сигнала существуют две разновидности: с модификатором Shift — для расширения выделения, без него — без расширения. Перечисление всех сочетаний клавиш здесь невозможно.

  • Стрелки перемещают по отдельным символам/строкам

  • Сочетания Ctrl-стрелка перемещают по словам/абзацам

  • Клавиши Home/End перемещают к концам буфера

  • Клавиши PageUp/PageDown перемещают вертикально на страницы

  • Клавиши Ctrl-PageUp/PageDown перемещают горизонтально на страницы

Параметры

text_view

объект, получивший сигнал

step

тип детализации перемещения, как GtkMovementStep

count

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

extend_selection

TRUE, если перемещение должно расширять выделение

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “move-viewport”

void
user_function (GtkTextView  *text_view,
               GtkScrollStep step,
               gint          count,
               gpointer      user_data)

Сигнал ::move-viewport — это сигнал привязки клавиш, который можно привязать к комбинациям клавиш, чтобы позволить пользователю перемещать область просмотра, то есть изменять часть текста, видимую в содержащем прокручиваемом окне.

По умолчанию для этого сигнала нет привязок.

Параметры

text_view

объект, получивший сигнал

step

шаг перемещения, как GtkScrollStep

count

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

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “paste-clipboard”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::paste-clipboard — это сигнал привязки клавиш, который генерируется для вставки содержимого буфера обмена в представление текста.

По умолчанию для этого сигнала установлены привязки Ctrl-v и Shift-Insert.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “populate-popup”

void
user_function (GtkTextView *text_view,
               GtkWidget   *popup,
               gpointer     user_data)

Сигнал ::populate-popup генерируется перед отображением контекстного меню представления текста.

Если вам нужно добавить элементы в контекстное меню, подключитесь к этому сигналу и добавьте свои элементы в popup, который в этом случае будет GtkMenu.

Если свойство “populate-all” равно TRUE, этот сигнал также будет генерироваться для заполнения всплывающих меню для сенсорных устройств. В этом случае popup будет другим контейнером, например, GtkToolbar.

Обработчик сигнала не должен делать предположений о типе widget, а должен проверить, является ли popup GtkMenu, GtkToolbar или другим типом контейнера.

Параметры

text_view

Представление текста, на котором генерируется сигнал

popup

Контейнер, который заполняется

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Выполнить последним

Сигнал “preedit-changed”

void
user_function (GtkTextView *text_view,
               gchar       *preedit,
               gpointer     user_data)

Если используется метод ввода, набранный текст не будет сразу же добавлен в буфер. Поэтому если вам нужен этот текст, подключитесь к этому сигналу.

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

Параметры

text_view

объект, получивший сигнал

preedit

текущая строка предварительного редактирования

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

С версии 2.20

Сигнал “select-all”

void
user_function (GtkTextView *text_view,
               gboolean     select,
               gpointer     user_data)

Сигнал ::select-all — это сигнал привязки клавиш, который генерируется для выбора или отмены выбора всего содержимого представления текста.

По умолчанию для этого сигнала установлены привязки Ctrl-a и Ctrl-/ для выбора и Shift-Ctrl-a и Ctrl-\ для отмены выбора.

Параметры

text_view

объект, получивший сигнал

select

TRUE для выбора, FALSE для отмены выбора

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “set-anchor”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::set-anchor — это сигнал привязки клавиш, который генерируется при инициировании пользователем установки метки «якорь». Метка «якорь» устанавливается в той же позиции, что и метка «вставка».

По умолчанию для этого сигнала нет привязок.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “toggle-cursor-visible”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::toggle-cursor-visible — это сигнал привязки клавиш, который генерируется для переключения свойства “cursor-visible”.

По умолчанию для этого сигнала установлена привязка F7.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “toggle-overwrite”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::toggle-overwrite — это сигнал привязки клавиш, который генерируется для переключения режима вставки в представление текста.

По умолчанию для этого сигнала установлена привязка Insert.

Параметры

text_view

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

См. также

GtkTextBuffer, GtkTextIter

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkTextView.html

Spec-Zone.ru

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