GtkTextView
GtkTextView — Виджет, отображающий GtkTextBuffer
Функции
Свойства
| 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 |
Возвращает
новый 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 | ||
buffer | [allow-none] |
gtk_text_view_get_buffer ()
GtkTextBuffer *
gtk_text_view_get_buffer (GtkTextView *text_view); Возвращает GtkTextBuffer, отображаемый этим текстовым полем. Счётчик ссылок на буфер не увеличивается; вызывающий функцию не получит новой ссылки.
Параметры
text_view |
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 | ||
mark | ||
within_margin | отступ в виде дроби [0.0,0.5) от размера экрана | |
use_align | использовать ли параметры выравнивания (если | |
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 | ||
iter | ||
within_margin | отступ в виде дроби [0.0,0.5) от размера экрана | |
use_align | использовать ли параметры выравнивания (если | |
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 | ||
mark | метка в буфере для |
gtk_text_view_move_mark_onscreen ()
gboolean gtk_text_view_move_mark_onscreen (GtkTextView *text_view,GtkTextMark *mark);
Перемещает метку в буфере, так чтобы она находилась в текущей видимой области текста.
Параметры
text_view | ||
mark |
Возвращает
TRUE если метка была перемещена (не была уже на экране)
gtk_text_view_place_cursor_onscreen ()
gboolean
gtk_text_view_place_cursor_onscreen (GtkTextView *text_view); Перемещает курсор в текущую видимую область буфера, если он там ещё не находится.
Параметры
text_view |
Возвращает
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 | ||
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 | ||
iter | ||
location | границы символа по адресу | [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 | ||
iter | a GtkTextIter. | [allow-none] |
strong | место для хранения позиции сильного курсора (может быть | [out][allow-none] |
weak | место для хранения позиции слабого курсора (может быть | [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 | ||
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 | ||
iter | ||
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 | ||
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 | ||
iter | a GtkTextIter. | [out] |
trailing | если не | [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 | ||
win | ||
buffer_x | координата x буфера | |
buffer_y | координата y буфера | |
window_x | координата x окна. место возврата или | [out][allow-none] |
window_y | координата y окна. место возврата или | [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 | ||
win | ||
window_x | координата x окна | |
window_y | координата y окна | |
buffer_x | координата x буфера. место возврата или | [out][allow-none] |
buffer_y | координата y буфера. место возврата или | [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 | ||
iter |
Возвращаемое значение
TRUE если iter была перемещена и не находится в конце итератора
gtk_text_view_backward_display_line ()
gboolean gtk_text_view_backward_display_line (GtkTextView *text_view,GtkTextIter *iter);
Перемещает заданный iter назад на одну строку отображения (с переходом на предыдущую). Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путём перевода абзацев на новую строку. Если перенос отключён, строки отображения и абзацы будут одинаковыми. Строки отображения делятся по-разному для каждого представления, так как зависят от ширины представления; абзацы одинаковы во всех представлениях, так как зависят от содержимого GtkTextBuffer.
Параметры
text_view | ||
iter |
Возвращаемое значение
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 | ||
iter |
Возвращает
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 | ||
iter |
Возвращает
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 | ||
iter |
Возвращает
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 | ||
iter | ||
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 | ||
child | ||
anchor | a GtkTextChildAnchor в GtkTextBuffer для |
gtk_text_view_remove ()
void gtk_text_view_remove (GtkTextView *text_view,GtkWidget *child);
Удаляет дочерний виджет из text_view.
Параметры
text_view | ||
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 | ||
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 |
Возвращает
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 | ||
win |
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 | ||
win | ||
widget | a GtkWidget или | [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 | ||
child | ||
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 | ||
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 | ||
wrap_mode |
gtk_text_view_get_wrap_mode ()
GtkWrapMode
gtk_text_view_get_wrap_mode (GtkTextView *text_view); Получает режим перевода строк для представления.
Параметры
text_view |
Возвращаемое значение
Настройка перевода строк
gtk_text_view_set_editable ()
void gtk_text_view_set_editable (GtkTextView *text_view,gboolean setting);
Устанавливает режим редактирования по умолчанию для GtkTextView. Этот режим можно переопределить с помощью тегов в буфере, используя атрибут «editable» тегов.
Параметры
text_view | ||
setting | режим редактирования |
gtk_text_view_get_editable ()
gboolean
gtk_text_view_get_editable (GtkTextView *text_view); Возвращает режим редактирования по умолчанию для GtkTextView. Теги в буфере могут переопределить этот режим для некоторых диапазонов текста.
Параметры
text_view |
Возвращаемое значение
режим редактирования по умолчанию
gtk_text_view_set_cursor_visible ()
void gtk_text_view_set_cursor_visible (GtkTextView *text_view,gboolean setting);
Включает/выключает отображение курсора вставки. Буфер без редактируемого текста, скорее всего, не должен иметь видимый курсор, поэтому вы можете его отключить.
Обратите внимание, что это свойство может быть переопределено настройками “gtk-keynav-use-caret”.
Параметры
text_view | ||
setting | отображать ли курсор вставки |
gtk_text_view_get_cursor_visible ()
gboolean
gtk_text_view_get_cursor_visible (GtkTextView *text_view); Определяет, должен ли отображаться курсор.
Параметры
text_view |
Возвращаемое значение
видимость курсора вставки
gtk_text_view_reset_cursor_blink ()
void
gtk_text_view_reset_cursor_blink (GtkTextView *text_view); Обеспечивает, что курсор отображается (т.е. не находится в интервале мигания «выключено») и сбрасывает время, которое он будет мигать (или отображаться, в случае если мигание отключено).
Эта функция должна вызываться в ответ на ввод пользователя (например, из производных классов, которые переопределяют обработчики событий текстового поля).
Параметры
text_view |
gtk_text_view_set_overwrite ()
void gtk_text_view_set_overwrite (GtkTextView *text_view,gboolean overwrite);
Изменяет режим перезаписи для GtkTextView.
Параметры
text_view | ||
overwrite |
|
gtk_text_view_get_overwrite ()
gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view); Возвращает, находится ли GtkTextView в режиме перезаписи или нет.
Параметры
text_view |
Возвращает
является ли 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 | ||
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 |
Возвращает
значение по умолчанию для числа пикселей над абзацами
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 | ||
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 |
Возвращает
значение по умолчанию для числа пикселей под абзацами
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 | ||
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 |
Возвращает
значение по умолчанию для числа пикселей между упакованными строками
gtk_text_view_set_justification ()
void gtk_text_view_set_justification (GtkTextView *text_view,GtkJustification justification);
Устанавливает значение по умолчанию для выравнивания текста в text_view. Теги в буфере могут переопределять значение по умолчанию.
Параметры
text_view | ||
justification | выравнивание |
gtk_text_view_get_justification ()
GtkJustification
gtk_text_view_get_justification (GtkTextView *text_view); Получает значение по умолчанию для выравнивания абзацев в text_view. Теги в буфере могут переопределять значение по умолчанию.
Параметры
text_view |
Возвращает
значение по умолчанию для выравнивания
gtk_text_view_set_left_margin ()
void gtk_text_view_set_left_margin (GtkTextView *text_view,int left_margin);
Устанавливает значение по умолчанию для левой границы текста в text_view. Теги в буфере могут переопределять значение по умолчанию.
Обратите внимание, что эта функция имеет неудачное имя. С точки зрения CSS, задаваемое значение — это отступ.
Параметры
text_view | ||
left_margin | левая граница в пикселях |
gtk_text_view_get_left_margin ()
int
gtk_text_view_get_left_margin (GtkTextView *text_view); Возвращает значение по умолчанию для левой границы абзацев в text_view. Теги в буфере могут переопределять значение по умолчанию.
Параметры
text_view |
Возвращает
значение левой границы в пикселях
gtk_text_view_set_right_margin ()
void gtk_text_view_set_right_margin (GtkTextView *text_view,int right_margin);
Устанавливает значение по умолчанию для правой границы текста в текстовом поле. Теги в буфере могут переопределять значение по умолчанию.
Обратите внимание, что эта функция имеет неудачное имя. В терминах CSS, это значение — отступ.
Параметры
text_view | ||
right_margin | правая граница в пикселях |
gtk_text_view_get_right_margin ()
int
gtk_text_view_get_right_margin (GtkTextView *text_view); Получает значение правого отступа по умолчанию для текста в text_view. Теги в буфере могут переопределять значение по умолчанию.
Параметры
text_view |
Возвращаемое значение
правый отступ в пикселях
gtk_text_view_set_top_margin ()
void gtk_text_view_set_top_margin (GtkTextView *text_view,int top_margin);
Устанавливает верхний отступ для текста в text_view.
Обратите внимание, что это функция с немного запутанным названием. В терминах CSS, устанавливаемое здесь значение является отступом.
Параметры
text_view | ||
top_margin | верхний отступ в пикселях |
gtk_text_view_get_top_margin ()
int
gtk_text_view_get_top_margin (GtkTextView *text_view); Получает верхний отступ для текста в text_view.
Параметры
text_view |
Возвращаемое значение
верхний отступ в пикселях
gtk_text_view_set_bottom_margin ()
void gtk_text_view_set_bottom_margin (GtkTextView *text_view,int bottom_margin);
Устанавливает нижний отступ для текста в text_view.
Обратите внимание, что эта функция имеет запутанное имя. В терминах CSS, здесь задается отступ.
Параметры
text_view | ||
bottom_margin | нижний отступ в пикселях |
gtk_text_view_get_bottom_margin ()
int
gtk_text_view_get_bottom_margin (GtkTextView *text_view); Получает нижний отступ для текста в text_view.
Параметры
text_view |
Возвращаемое значение
нижний отступ в пикселях
gtk_text_view_set_indent ()
void gtk_text_view_set_indent (GtkTextView *text_view,int indent);
Устанавливает отступ по умолчанию для абзацев в text_view. Теги в буфере могут переопределять значение по умолчанию.
Параметры
text_view | ||
indent | отступ в пикселях |
gtk_text_view_get_indent ()
int
gtk_text_view_get_indent (GtkTextView *text_view); Получает отступ по умолчанию для абзацев в text_view. Теги в буфере могут переопределять значение по умолчанию. Отступ может быть отрицательным.
Параметры
text_view |
Возвращаемое значение
число пикселей отступа
gtk_text_view_set_tabs ()
void gtk_text_view_set_tabs (GtkTextView *text_view,PangoTabArray *tabs);
Устанавливает отметки табуляции по умолчанию для абзацев в text_view. Теги в буфере могут переопределять значение по умолчанию.
Параметры
text_view | ||
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 |
Возвращаемое значение
копия массива значений табуляции по умолчанию, или 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 | ||
accepts_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 |
Возвращаемое значение
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 | ||
event | событие нажатия клавиши |
Возвращаемое значение
TRUE если метод ввода обработает событие нажатия клавиши.
gtk_text_view_reset_im_context ()
void
gtk_text_view_reset_im_context (GtkTextView *text_view); Сбросьте контекст метода ввода текста, если это необходимо.
Это может потребоваться в случае, когда изменение буфера может сбить поведение текущего метода ввода.
Параметры
text_view |
gtk_text_view_set_input_purpose ()
void gtk_text_view_set_input_purpose (GtkTextView *text_view,GtkInputPurpose purpose);
Устанавливает свойство “input-purpose”, которое может использоваться экранными клавиатурами и другими методами ввода для изменения их поведения.
Параметры
text_view | ||
purpose | назначение |
gtk_text_view_get_input_purpose ()
GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view); Получает значение свойства “input-purpose”.
Параметры
text_view |
gtk_text_view_set_input_hints ()
void gtk_text_view_set_input_hints (GtkTextView *text_view,GtkInputHints hints);
Устанавливает свойство “input-hints”, что позволяет методам ввода уточнить своё поведение.
Параметры
text_view | ||
hints | подсказки |
gtk_text_view_get_input_hints ()
GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view); Получает значение свойства “input-hints”.
Параметры
text_view |
gtk_text_view_set_monospace ()
void gtk_text_view_set_monospace (GtkTextView *text_view,gboolean monospace);
Устанавливает свойство “monospace”, которое указывает, что виджет должен использовать шрифты с фиксированной шириной.
Параметры
text_view | ||
monospace |
|
gtk_text_view_get_monospace ()
gboolean
gtk_text_view_get_monospace (GtkTextView *text_view); Получает значение свойства “monospace”.
Возвращает: TRUE если требуются шрифты с фиксированной шириной
Параметры
text_view |
gtk_text_view_set_extra_menu ()
void gtk_text_view_set_extra_menu (GtkTextView *text_view,GMenuModel *model);
Устанавливает модель меню для добавления при построении контекстного меню для text_view. Вы можете передать NULL для удаления ранее установленного дополнительного меню.
Параметры
text_view | ||
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 |
Возвращает
модель меню.
[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”. | |
| Обработчик класса для сигнала привязки клавиш “set-anchor”. | |
| Обработчик класса для сигнала привязки клавиш “insert-at-cursor”. | |
| Обработчик класса для сигнала привязки клавиш “delete-from-cursor”. | |
| Обработчик класса для сигнала привязки клавиш “backspace”. | |
| Обработчик класса для сигнала привязки клавиш “cut-clipboard”. | |
| Обработчик класса для сигнала привязки клавиш “copy-clipboard”. | |
| Обработчик класса для сигнала привязки клавиш “paste-clipboard”. | |
| Обработчик класса для сигнала привязки клавиш “toggle-overwrite”. | |
| Метод create_buffer vfunc вызывается для создания GtkTextBuffer для текстового представления. Стандартная реализация просто вызывает | |
| Метод snapshot_layer vfunc вызывается перед и после отрисовки текстовым представлением собственного текста. Приложения могут переопределить этот vfunc в подклассе для отрисовки настраиваемого содержимого под или над текстом. В слоях | |
| Обработчик класса для сигнала “extend-selection”. | |
| Обработчик класса для сигнала “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 | переносить текст, разбивая строки в любой точке, где может появиться курсор (обычно между символами — если хотите быть технически точными, между графемами, см. | |
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 | количество единиц | |
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 | количество единиц | |
extend_selection |
| |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “move-viewport”
void user_function (GtkTextView *text_view, GtkScrollStep step, int count, gpointer user_data)
Сигнал ::move-viewport — это сигнал для привязки сочетаний клавиш, который позволяет пользователю перемещать область просмотра, то есть изменять видимую часть текста в содержащем его окне прокрутки.
По умолчанию для этого сигнала нет привязок.
Параметры
text_view | объект, получивший сигнал | |
step | шаг перемещения, как GtkScrollStep | |
count | количество единиц | |
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 |
| |
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”
Копирует содержимое в буфер обмена и удаляет его из виджета.
См. также
© 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