Spec-Zone.ru › GTK 4.0

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 ()
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 ()
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 ()
void gtk_text_view_remove ()
GtkTextChildAnchor * gtk_text_child_anchor_new ()
GtkWidget ** gtk_text_child_anchor_get_widgets ()
gboolean gtk_text_child_anchor_get_deleted ()
GtkWidget * gtk_text_view_get_gutter ()
void gtk_text_view_set_gutter ()
void gtk_text_view_add_overlay ()
void gtk_text_view_move_overlay ()
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 ()
int gtk_text_view_get_pixels_above_lines ()
void gtk_text_view_set_pixels_below_lines ()
int gtk_text_view_get_pixels_below_lines ()
void gtk_text_view_set_pixels_inside_wrap ()
int 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 ()
int gtk_text_view_get_left_margin ()
void gtk_text_view_set_right_margin ()
int gtk_text_view_get_right_margin ()
void gtk_text_view_set_top_margin ()
int gtk_text_view_get_top_margin ()
void gtk_text_view_set_bottom_margin ()
int gtk_text_view_get_bottom_margin ()
void gtk_text_view_set_indent ()
int 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 ()
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 ()
void gtk_text_view_set_extra_menu ()
GMenuModel * gtk_text_view_get_extra_menu ()

Свойства

gboolean accepts-tab Чтение / Запись
int bottom-margin Чтение / Запись
GtkTextBuffer * buffer Чтение / Запись
gboolean cursor-visible Чтение / Запись
gboolean editable Чтение / Запись
GMenuModel * extra-menu Чтение / Запись
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 Чтение / Запись
int right-margin Чтение / Запись
PangoTabArray * tabs Чтение / Запись
int top-margin Чтение / Запись
GtkWrapMode wrap-mode Чтение / Запись

Сигналы

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 preedit-changed Действие
void select-all Действие
void set-anchor Действие
void toggle-cursor-visible Действие
void toggle-overwrite Действие

Действия

menu.popup
text.redo
text.undo
misc.insert-emoji
selection.select-all
selection.delete
clipboard.paste
clipboard.copy
clipboard.cut

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

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

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

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

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

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

Файлы заголовочных

#include <gtk/gtk.h>

Описание

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

Узлы CSS

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

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

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

Доступность

GtkTextView использует роль GTK_ACCESSIBLE_ROLE_TEXT_BOX.

Функции

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_scroll_to_mark ()

void
gtk_text_view_scroll_to_mark (GtkTextView *text_view,
                              GtkTextMark *mark,
                              double within_margin,
                              gboolean use_align,
                              double xalign,
                              double 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,
                              double within_margin,
                              gboolean use_align,
                              double xalign,
                              double 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]

gtk_text_view_get_line_at_y ()

void
gtk_text_view_get_line_at_y (GtkTextView *text_view,
                             GtkTextIter *target_iter,
                             int y,
                             int *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,
                               int *y,
                               int *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,
                                    int x,
                                    int 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,
                                    int *trailing,
                                    int x,
                                    int 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 если позиция находится над текстом

gtk_text_view_buffer_to_window_coords ()

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

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

Параметры

text_view

a GtkTextView

win

a GtkTextWindowType

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,
                                       int window_x,
                                       int window_y,
                                       int *buffer_x,
                                       int *buffer_y);

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

Параметры

text_view

a GtkTextView

win

a GtkTextWindowType

window_x

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

window_y

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

buffer_x

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

[out][allow-none]

buffer_y

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

[out][allow-none]

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,
                             int 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_view_remove ()

void
gtk_text_view_remove (GtkTextView *text_view,
                      GtkWidget *child);

Удаляет дочерний виджет из text_view.

Параметры

text_view

a GtkTextView

child

удаляемый дочерний элемент

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 ()

GtkWidget **
gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor,
                                   guint *out_len);

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

Порядок возврата виджетов не определён.

Параметры

anchor

a GtkTextChildAnchor

out_len

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

[out]

Возвращает

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

[array length=out_len][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_get_gutter ()

GtkWidget *
gtk_text_view_get_gutter (GtkTextView *text_view,
                          GtkTextWindowType win);

Получает GtkWidget, ранее установленный с помощью gtk_text_view_set_gutter().

win должно быть одним из GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP или GTK_TEXT_WINDOW_BOTTOM.

Параметры

text_view

a GtkTextView

win

a GtkTextWindowType

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

a GtkWidget или NULL.

[transfer none][nullable]

gtk_text_view_set_gutter ()

void
gtk_text_view_set_gutter (GtkTextView *text_view,
                          GtkTextWindowType win,
                          GtkWidget *widget);

Размещает widget в колонке, указанной win.

win должно быть одним из GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP или GTK_TEXT_WINDOW_BOTTOM.

Параметры

text_view

a GtkTextView

win

a GtkTextWindowType

widget

a GtkWidget или NULL.

[nullable]

gtk_text_view_add_overlay ()

void
gtk_text_view_add_overlay (GtkTextView *text_view,
                           GtkWidget *child,
                           int xpos,
                           int ypos);

Добавляет child в фиксированной координате в текстовом окне GtkTextView. xpos и ypos должны быть в координатах буфера (см. gtk_text_view_get_iter_location() для преобразования в координаты буфера).

child будет прокручиваться вместе с текстовым представлением.

Если вам нужно виджет, который не будет перемещаться вместе с содержимым GtkTextView, см. GtkOverlay.

Параметры

text_view

a GtkTextView

child

a GtkWidget

xpos

Положение X виджета в координатах окна

ypos

Положение Y виджета в координатах окна

gtk_text_view_move_overlay ()

void
gtk_text_view_move_overlay (GtkTextView *text_view,
                            GtkWidget *child,
                            int xpos,
                            int ypos);

Обновляет положение дочернего элемента, как в gtk_text_view_add_overlay().

Параметры

text_view

a GtkTextView

child

виджет, уже добавленный с помощью gtk_text_view_add_overlay()

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-keynav-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);

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

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

Параметры

text_view

a GtkTextView

gtk_text_view_set_overwrite ()

void
gtk_text_view_set_overwrite (GtkTextView *text_view,
                             gboolean overwrite);

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

Параметры

text_view

a GtkTextView

overwrite

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

gtk_text_view_get_overwrite ()

gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

Возвращает

является ли text_view в режиме перезаписи или нет.

gtk_text_view_set_pixels_above_lines ()

void
gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,
                                      int pixels_above_lines);

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

Параметры

text_view

a GtkTextView

pixels_above_lines

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

gtk_text_view_get_pixels_above_lines ()

int
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,
                                      int pixels_below_lines);

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

Параметры

text_view

a GtkTextView

pixels_below_lines

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

gtk_text_view_get_pixels_below_lines ()

int
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,
                                      int pixels_inside_wrap);

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

Параметры

text_view

a GtkTextView

pixels_inside_wrap

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

gtk_text-view-get-pixels-inside-wrap ()

int
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,
                               int left_margin);

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

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

Параметры

text_view

a GtkTextView

left_margin

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

gtk_text_view_get_left_margin ()

int
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,
                                int right_margin);

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

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

Параметры

text_view

a GtkTextView

right_margin

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

gtk_text_view_get_right_margin ()

int
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,
                              int top_margin);

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

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

Параметры

text_view

a GtkTextView

top_margin

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

gtk_text_view_get_top_margin ()

int
gtk_text_view_get_top_margin (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

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

gtk_text_view_set_bottom_margin ()

void
gtk_text_view_set_bottom_margin (GtkTextView *text_view,
                                 int bottom_margin);

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

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

Параметры

text_view

a GtkTextView

bottom_margin

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

gtk_text_view_get_bottom_margin ()

int
gtk_text_view_get_bottom_margin (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

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

gtk_text_view_set_indent ()

void
gtk_text_view_set_indent (GtkTextView *text_view,
                          int indent);

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

Параметры

text_view

a GtkTextView

indent

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

gtk_text_view_get_indent ()

int
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 должно переместить фокус клавиатуры.

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 перемещает фокус клавиатуры.

gtk_text_view_im_context_filter_keypress ()

gboolean
gtk_text_view_im_context_filter_keypress
                               (GtkTextView *text_view,
                                GdkEvent *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 если метод ввода обработает событие нажатия клавиши.

gtk_text_view_reset_im_context ()

void
gtk_text_view_reset_im_context (GtkTextView *text_view);

Сбросьте контекст метода ввода текста, если это необходимо.

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

Параметры

text_view

a GtkTextView

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

назначение

gtk_text_view_get_input_purpose ()

GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

подсказки

gtk_text_view_get_input_hints ()

GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

gtk_text_view_set_monospace ()

void
gtk_text_view_set_monospace (GtkTextView *text_view,
                             gboolean monospace);

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

Параметры

text_view

a GtkTextView

monospace

TRUE для запроса стилизации с фиксированной шириной

gtk_text_view_get_monospace ()

gboolean
gtk_text_view_get_monospace (GtkTextView *text_view);

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

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

Параметры

text_view

a GtkTextView

gtk_text_view_set_extra_menu ()

void
gtk_text_view_set_extra_menu (GtkTextView *text_view,
                              GMenuModel *model);

Устанавливает модель меню для добавления при построении контекстного меню для text_view. Вы можете передать NULL для удаления ранее установленного дополнительного меню.

Параметры

text_view

a GtkTextView

model

a GMenuModel.

[allow-none]

gtk_text_view_get_extra_menu ()

GMenuModel *
gtk_text_view_get_extra_menu (GtkTextView *text_view);

Получает модель меню, установленную с помощью gtk_text_view_set_extra_menu(), или NULL если она не установлена.

Параметры

text_view

a GtkTextView

Возвращает

модель меню.

[transfer none]

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

struct GtkTextView

struct GtkTextView;

struct GtkTextViewClass

struct GtkTextViewClass {
  GtkWidgetClass parent_class;

  void (* move_cursor)           (GtkTextView      *text_view,
                                  GtkMovementStep   step,
                                  int               count,
                                  gboolean          extend_selection);
  void (* set_anchor)            (GtkTextView      *text_view);
  void (* insert_at_cursor)      (GtkTextView      *text_view,
                                  const char       *str);
  void (* delete_from_cursor)    (GtkTextView      *text_view,
                                  GtkDeleteType     type,
                                  int               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 (* snapshot_layer)        (GtkTextView      *text_view,
			          GtkTextViewLayer  layer,
			          GtkSnapshot      *snapshot);
  gboolean (* extend_selection)  (GtkTextView            *text_view,
                                  GtkTextExtendSelection  granularity,
                                  const GtkTextIter      *location,
                                  GtkTextIter            *start,
                                  GtkTextIter            *end);
  void (* insert_emoji)          (GtkTextView      *text_view);
};

Члены

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().

snapshot_layer ()

Метод snapshot_layer vfunc вызывается перед и после отрисовки текстовым представлением собственного текста. Приложения могут переопределить этот vfunc в подклассе для отрисовки настраиваемого содержимого под или над текстом. В слоях GTK_TEXT_VIEW_LAYER_BELOW_TEXT и GTK_TEXT_VIEW_LAYER_ABOVE_TEXT отрисовка выполняется в пространстве координат буфера.

extend_selection ()

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

insert_emoji ()

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

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

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

Члены

GTK_TEXT_VIEW_LAYER_BELOW_TEXT

Слой, отрисовываемый под текстом (но над фоном).

GTK_TEXT_VIEW_LAYER_ABOVE_TEXT

Слой, отрисовываемый над текстом.

перечисление 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

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

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

Описание типа переноса строк.

Члены

GTK_WRAP_NONE

не переносить строки; просто увеличить ширину текстовой области

GTK_WRAP_CHAR

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

GTK_WRAP_WORD

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

GTK_WRAP_WORD_CHAR

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

struct 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 вводить символ табуляции.

Владелец: GtkTextView

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

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

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

  “bottom-margin”            int

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

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

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

Владелец: GtkTextView

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

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

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

Свойство “buffer”

  “buffer”                   GtkTextBuffer *

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

Владелец: GtkTextView

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

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

  “cursor-visible”           gboolean

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

Владелец: GtkTextView

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

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

Свойство “editable”

  “editable”                 gboolean

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

Владелец: GtkTextView

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

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

Свойство “extra-menu”

  “extra-menu”               GMenuModel *

Модель меню, которое нужно добавить в контекстное меню.

Владелец: GtkTextView

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

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

  “im-module”                char *

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

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

Владелец: GtkTextView

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

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

Свойство “indent”

  “indent”                   int

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

Владелец: GtkTextView

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

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

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

  “input-hints”              GtkInputHints

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

Владелец: GtkTextView

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

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

  “input-purpose”            GtkInputPurpose

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

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

Владелец: GtkTextView

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

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

Свойство “justification”

  “justification”            GtkJustification

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

Владелец: GtkTextView

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

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

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

  “left-margin”              int

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

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

Владелец: GtkTextView

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

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

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

Свойство “monospace”

  “monospace”                gboolean

Если TRUE, установить класс стиля .monospace для текстового представления, чтобы указать, что требуется моноширинный шрифт.

Владелец: 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

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

  “right-margin”             int

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

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

Владелец: GtkTextView

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

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

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

Свойство “tabs”

  “tabs”                     PangoTabArray *

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

Владелец: GtkTextView

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

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

  “top-margin”               int

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

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

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

Владелец: GtkTextView

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

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

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

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

  “wrap-mode”                GtkWrapMode

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

Владелец: GtkTextView

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

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

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

Сигнал “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 для дальнейшей передачи события.

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

Сигнал “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

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

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

Сигнал “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 расширяет выделение, а вариант без модификатора 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

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

Флаги: Action

Сигнал “paste-clipboard”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

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

Параметры

text_view

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

user_data

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

Флаги: Action

Сигнал “preedit-changed”

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

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

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

Параметры

text_view

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

preedit

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

user_data

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

Флаги: Action

Сигнал “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

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

Флаги: Action

Сигнал “set-anchor”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

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

Параметры

text_view

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

user_data

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

Флаги: Action

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

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

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

Параметры

text_view

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

user_data

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

Флаги: Action

Сигнал “toggle-overwrite”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

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

Параметры

text_view

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

user_data

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

Флаги: Action

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

Действие “menu.popup”

Открывает контекстное меню.

Действие “text.redo”

Повторяет последнее изменение содержимого.

Действие “text.undo”

Отменяет последнее изменение содержимого.

Действие “misc.insert-emoji”

Открывает окно выбора эмодзи.

Действие “selection.select-all”

Выбирает все содержимое виджета.

Действие “selection.delete”

Удаляет текущий выделенный фрагмент.

Действие “clipboard.paste”

Вставляет содержимое буфера обмена в виджет.

Действие “clipboard.copy”

Копирует содержимое в буфер обмена.

Действие “clipboard.cut”

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

См. также

GtkTextBuffer, GtkTextIter

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

Spec-Zone.ru

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