Spec-Zone.ru › GTK 3.24

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 Чтение / Запись
int bottom-margin Чтение / Запись
GtkTextBuffer * buffer Чтение / Запись
gboolean cursor-visible Чтение / Запись
gboolean editable Чтение / Запись
char * im-module Чтение / Запись
int indent Чтение / Запись
GtkInputHints input-hints Чтение / Запись
GtkInputPurpose input-purpose Чтение / Запись
GtkJustification justification Чтение / Запись
int left-margin Чтение / Запись
gboolean monospace Чтение / Запись
gboolean overwrite Чтение / Запись
int pixels-above-lines Чтение / Запись
int pixels-below-lines Чтение / Запись
int pixels-inside-wrap Чтение / Запись
gboolean populate-all Чтение / Запись
int right-margin Чтение / Запись
PangoTabArray * tabs Чтение / Запись
int 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 insert-emoji Действие
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 Тип окна текста
enum GtkTextExtendSelection
enum Режим перевода строк
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]

Since: 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]

Since: 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 если позиция находится над текстом

С: 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

возвращаемое окно

Возвращает

a 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

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

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

a GtkTextView

setting

режим редактирования

gtk_text_view_get_editable ()

gboolean
gtk_text_view_get_editable (GtkTextView *text_view);

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

Параметры

text_view

a 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

a GtkTextView

setting

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

gtk_text_view_get_cursor_visible ()

gboolean
gtk_text_view_get_cursor_visible (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

Возвращает

видимость указателя вставки

gtk_text_view_reset_cursor_blink ()

void
gtk_text_view_reset_cursor_blink (GtkTextView *text_view);

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

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

Параметры

text_view

a GtkTextView

Since: 3.20

gtk_text_view_set_overwrite ()

void
gtk_text_view_set_overwrite (GtkTextView *text_view,
                             gboolean overwrite);

Изменяет режим переписывания для GtkTextView.

Параметры

text_view

a GtkTextView

overwrite

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

Since: 2.4

gtk_text_view_get_overwrite ()

gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

Возвращает

находится ли text_view в режиме переписывания или нет.

Since: 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

a 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

a 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

a 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

a 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

a 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

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

Since: 3.18

gtk_text_view_get_bottom_margin ()

gint
gtk_text_view_get_bottom_margin (GtkTextView *text_view);

Получает нижнюю границу для текста в text_view.

Параметры

text_view

a GtkTextView

Возвращает

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

Since: 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

назначение

С: 3.6

gtk_text_view_get_input_purpose ()

GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

С: 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

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

struct GtkTextView

struct GtkTextView;

struct 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);
  void (* insert_emoji)          (GtkTextView      *text_view);
};

Члены

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 вызывается для создания GtkTextBuffer для текстового представления. По умолчанию вызывается gtk_text_buffer_new(). С: 3.10

draw_layer ()

Метод draw_layer вызывается до и после отрисовки текстового представления приложения. Приложения могут переопределить этот метод в подклассе, чтобы нарисовать пользовательский контент под или над текстом. В слоях 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

insert_emoji ()

enum GtkTextViewLayer

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

Члены

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

enum GtkTextWindowType

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

Члены

GTK_TEXT_WINDOW_PRIVATE

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

GTK_TEXT_WINDOW_WIDGET

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

GTK_TEXT_WINDOW_TEXT

Прокручиваемое текстовое окно.

GTK_TEXT_WINDOW_LEFT

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

GTK_TEXT_WINDOW_RIGHT

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

GTK_TEXT_WINDOW_TOP

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

GTK_TEXT_WINDOW_BOTTOM

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

enum 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;

GtkTextChildAnchor — это точка в буфере, где могут быть «привязаны» дочерние виджеты (вставлены в строку, как если бы они были символами). К якорю можно привязать несколько виджетов, чтобы обеспечить несколько представлений.

GTK_TEXT_VIEW_PRIORITY_VALIDATE

#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)

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

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

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

  “accepts-tab”              gboolean

Определяет, приведет ли ввод клавиши Tab к вводу символа табуляции.

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

  “bottom-margin”            int

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

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

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

С версии: 3.18

Свойство “buffer”

  “buffer”                   GtkTextBuffer *

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

  “cursor-visible”           gboolean

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

Свойство “editable”

  “editable”                 gboolean

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

  “im-module”                char *

Модуль IM (метода ввода), который следует использовать для этого виджета GtkTextView. См. GtkIMContext.

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

С версии: 2.16

Свойство “indent”

  “indent”                   int

Значение отступа абзаца в пикселях.

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

  “input-hints”              GtkInputHints

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

Владелец: GtkTextView

Флаги: Чтение / Запись

С версии: 3.6

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

  “input-purpose”            GtkInputPurpose

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

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

С версии: 3.6

Свойство “justification”

  “justification”            GtkJustification

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

  “left-margin”              int

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

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

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

Свойство “monospace”

  “monospace”                gboolean

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

Свойство “overwrite”

  “overwrite”                gboolean

Записывать ли вводимый текст поверх существующего.

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

  “pixels-above-lines”       int

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

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

  “pixels-below-lines”       int

Количество пикселей пустого места под абзацами.

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

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

  “pixels-inside-wrap”       int

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

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

  “populate-all”             gboolean

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

С версии: 3.8

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

  “right-margin”             int

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

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

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

Свойство “tabs”

  “tabs”                     PangoTabArray *

Пользовательские отступы для данного текста.

Владелец: GtkTextView

Флаги: Чтение / Запись

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

  “top-margin”               int

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

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

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

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

С версии: 3.18

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

  “wrap-mode”                GtkWrapMode

Режим обрезки строк: никогда, по границам слов или по границам символов.

Владелец: GtkTextView

Флаги: Чтение / Запись

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

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

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

  “error-underline-color”    GdkColor *

Цвет подчёркивания ошибки.

Владелец: GtkTextView

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

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

Сигнал “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,
               int           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,
               char        *string,
               gpointer     user_data)

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

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

Параметры

text_view

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

string

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

user_data

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

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

Сигнал “insert-emoji”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

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

Параметры

text_view

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

user_data

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

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

С версии: 3.22.27

Сигнал “move-cursor”

void
user_function (GtkTextView    *text_view,
               GtkMovementStep step,
               int             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,
               int           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,
               char        *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.24/GtkTextView.html

Spec-Zone.ru

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