GtkTextView
GtkTextView — Виджет, отображающий GtkTextBuffer
Функции
Свойства
| gboolean | accepts-tab | Чтение / Запись |
| gint | bottom-margin | Чтение / Запись |
| GtkTextBuffer * | buffer | Чтение / Запись |
| gboolean | cursor-visible | Чтение / Запись |
| gboolean | editable | Чтение / Запись |
| gchar * | im-module | Чтение / Запись |
| gint | indent | Чтение / Запись |
| GtkInputHints | input-hints | Чтение / Запись |
| GtkInputPurpose | input-purpose | Чтение / Запись |
| GtkJustification | justification | Чтение / Запись |
| gint | left-margin | Чтение / Запись |
| gboolean | monospace | Чтение / Запись |
| gboolean | overwrite | Чтение / Запись |
| gint | pixels-above-lines | Чтение / Запись |
| gint | pixels-below-lines | Чтение / Запись |
| gint | pixels-inside-wrap | Чтение / Запись |
| gboolean | populate-all | Чтение / Запись |
| gint | right-margin | Чтение / Запись |
| PangoTabArray * | tabs | Чтение / Запись |
| gint | top-margin | Чтение / Запись |
| GtkWrapMode | wrap-mode | Чтение / Запись |
Стилизованные свойства
| GdkColor * | error-underline-color | Чтение |
Сигналы
| void | backspace | Действие |
| void | copy-clipboard | Действие |
| void | cut-clipboard | Действие |
| void | delete-from-cursor | Действие |
| gboolean | extend-selection | Выполнить последним |
| void | insert-at-cursor | Действие |
| void | move-cursor | Действие |
| void | move-viewport | Действие |
| void | paste-clipboard | Действие |
| void | populate-popup | Выполнить последним |
| void | preedit-changed | Действие |
| void | select-all | Действие |
| void | set-anchor | Действие |
| void | toggle-cursor-visible | Действие |
| void | toggle-overwrite | Действие |
Типы и значения
| struct | GtkTextView |
| struct | GtkTextViewClass |
| enum | GtkTextViewLayer |
| enum | GtkTextWindowType |
| enum | GtkTextExtendSelection |
| enum | GtkWrapMode |
| struct | GtkTextChildAnchor |
| #define | GTK_TEXT_VIEW_PRIORITY_VALIDATE |
Иерархия объектов
GObject ├── GInitiallyUnowned │ ╰── GtkWidget │ ╰── GtkContainer │ ╰── GtkTextView ╰── GtkTextChildAnchor
Реализованные интерфейсы
GtkTextView реализует AtkImplementorIface, GtkBuildable и GtkScrollable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
Рекомендуется начать с прочтения обзорной концепции виджета текста, которая предоставляет обзор всех объектов и типов данных, связанных с виджетом текста, и как они взаимодействуют.
Элементы CSS
GtkTextView имеет основной элемент CSS с именем textview и классом стиля .view, а также дочерние элементы для каждого из окон границы и основной области текста с именами border и text соответственно. Каждому элементу border присваивается один из стилей .left, .right, .top или .bottom.
Элемент, представляющий выделение, будет отображаться под элементом text.
Если контекстное меню открыто, элемент окна отобразится как дочерний элемент основного элемента.
Функции
gtk_text_view_new ()
GtkWidget *
gtk_text_view_new (void); Создаёт новый GtkTextView. Если вы не вызываете gtk_text_view_set_buffer() перед использованием текстового поля, для вас будет создан пустой буфер по умолчанию. Получите буфер с помощью gtk_text_view_get_buffer(). Если вы хотите указать свой собственный буфер, используйте gtk_text_view_new_with_buffer().
Возвращает
новый GtkTextView
gtk_text_view_new_with_buffer ()
GtkWidget *
gtk_text_view_new_with_buffer (GtkTextBuffer *buffer); Создаёт новый виджет GtkTextView, отображающий буфер buffer . Один буфер может быть совместно использован многими виджетами. buffer может быть NULL для создания буфера по умолчанию, в этом случае функция эквивалентна gtk_text_view_new(). Текстовое поле добавляет свой собственный счётчик ссылок на буфер; оно не принимает на себя существующую ссылку.
Параметры
buffer |
Возвращает
новый 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_get_hadjustment ()
GtkAdjustment *
gtk_text_view_get_hadjustment (GtkTextView *text_view); gtk_text_view_get_hadjustment устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_scrollable_get_hadjustment()
Возвращает горизонтальную прокрутку GtkAdjustment.
Параметры
text_view |
С: 2.22
gtk_text-view-get-vadjustment ()
GtkAdjustment *
gtk_text_view_get_vadjustment (GtkTextView *text_view); gtk_text_view_get_vadjustment устарело с версии 3.0 и не должно использоваться в новом коде.
Используйте gtk_scrollable_get_vadjustment()
Возвращает вертикальную прокрутку GtkAdjustment.
Параметры
text_view |
С: 2.22
gtk_text_view_scroll_to_mark ()
void gtk_text_view_scroll_to_mark (GtkTextView *text_view,GtkTextMark *mark,gdouble within_margin,gboolean use_align,gdouble xalign,gdouble yalign);
Прокручивает text_view таким образом, чтобы mark находилось на экране в позиции, указанной xalign и yalign . Значение выравнивания 0,0 соответствует левому или верхнему краю, 1,0 — правому или нижнему краю, 0,5 — центру. Если use_align равно FALSE, текст прокручивается на минимальное расстояние для вывода метки на экран, возможно, вообще не прокручивается. Эффективный экран для целей этой функции уменьшен на величину within_margin .
Параметры
text_view | ||
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,gdouble within_margin,gboolean use_align,gdouble xalign,gdouble yalign);
Прокручивает text_view так, чтобы iter находилась на экране в позиции, указанной xalign и yalign . Значение 0.0 соответствует левому или верхнему краю, 1.0 — правому или нижнему, 0.5 — центру. Если use_align равно FALSE, текст прокручивается минимально необходимое количество для отображения метки на экране, возможно, вообще не прокручиваясь. Эффективный экран для этой функции уменьшается на величину, определяемую within_margin .
Обратите внимание, что эта функция использует текущую вычисленную высоту строк в буфере текста. Высота строк вычисляется в обработчике бездействия; поэтому эта функция может не иметь желаемого эффекта, если вызвана до вычисления высоты. Чтобы избежать проблем, используйте gtk_text_view_scroll_to_mark(), который сохраняет точку для прокрутки после проверки строк.
Параметры
text_view | ||
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] |
С: 3.0
gtk_text_view_get_line_at_y ()
void gtk_text_view_get_line_at_y (GtkTextView *text_view,GtkTextIter *target_iter,gint y,gint *line_top);
Получает GtkTextIter в начале строки, содержащей координату y. y указана в координатах буфера, преобразуйте из координат окна с помощью gtk_text_view_window_to_buffer_coords(). Если не NULL, line_top будет заполнен координатой верхней границы строки.
Параметры
text_view | ||
target_iter | a GtkTextIter. | [out] |
y | координата y | |
line_top | место для возврата координаты верхней границы строки. | [out] |
gtk_text_view_get_line_yrange ()
void gtk_text_view_get_line_yrange (GtkTextView *text_view,const GtkTextIter *iter,gint *y,gint *height);
Получает координату y верхней границы строки, содержащей iter, и высоту строки. Координата указана в координатах буфера; преобразуйте в координаты окна с помощью gtk_text_view_buffer_to_window_coords().
Параметры
text_view | ||
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,gint x,gint 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,gint *trailing,gint x,gint 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, если позиция находится над текстом
С: 2.6
gtk_text_view_buffer_to_window_coords ()
void gtk_text_view_buffer_to_window_coords (GtkTextView *text_view,GtkTextWindowType win,gint buffer_x,gint buffer_y,gint *window_x,gint *window_y);
Преобразует координаты (buffer_x , buffer_y ) в координаты окна win и сохраняет результат в (window_x , window_y ).
Обратите внимание, что вы не можете преобразовать координаты для несуществующего окна (см. gtk_text_view_set_border_window_size()).
Параметры
text_view | ||
win | a GtkTextWindowType за исключением GTK_TEXT_WINDOW_PRIVATE | |
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,gint window_x,gint window_y,gint *buffer_x,gint *buffer_y);
Преобразует координаты на окне, определенном win, в координаты буфера, сохраняя результат в (buffer_x , buffer_y ).
Обратите внимание, что вы не можете преобразовать координаты для несуществующего окна (см. gtk_text_view_set_border_window_size()).
Параметры
text_view | ||
win | a GtkTextWindowType за исключением GTK_TEXT_WINDOW_PRIVATE | |
window_x | координата x окна | |
window_y | координата y окна | |
buffer_x | координата x буфера, место возврата, или | [out][allow-none] |
buffer_y | координата y буфера, место возврата, или | [out][allow-none] |
gtk_text_view_get_window ()
GdkWindow * gtk_text_view_get_window (GtkTextView *text_view,GtkTextWindowType win);
Возвращает GdkWindow, соответствующий области текстового представления; возможные окна включают общее окно виджета, дочерние окна слева, справа, сверху, снизу и окно, отображающее буфер текста. Окна NULL и не существуют, если их ширина или высота равна 0, и не существуют до того, как виджет будет реализован.
Параметры
text_view | ||
win | искомое окно |
gtk_text_view_get_window_type ()
GtkTextWindowType gtk_text_view_get_window_type (GtkTextView *text_view,GdkWindow *window);
Обычно используется для определения, к какому окну относится событие. Если вы подключаетесь к сигналу события на text_view, эта функция должна вызываться на event->window для определения, к какому окну оно относится.
Параметры
text_view | ||
window | тип окна |
Возвращаемое значение
тип окна.
gtk_text_view_set_border_window_size ()
void gtk_text_view_set_border_window_size (GtkTextView *text_view,GtkTextWindowType type,gint size);
Задает ширину GTK_TEXT_WINDOW_LEFT или GTK_TEXT_WINDOW_RIGHT, или высоту GTK_TEXT_WINDOW_TOP или GTK_TEXT_WINDOW_BOTTOM. Автоматически уничтожает соответствующее окно, если размер установлен в 0, и создает окно, если размер установлен в ненулевое значение. Эта функция может использоваться только для «пограничных окон», она не работает с GTK_TEXT_WINDOW_WIDGET, GTK_TEXT_WINDOW_TEXT или GTK_TEXT_WINDOW_PRIVATE.
Параметры
text_view | ||
type | окно для воздействия | |
size | ширина или высота окна |
gtk_text_view_get_border_window_size ()
gint gtk_text_view_get_border_window_size (GtkTextView *text_view,GtkTextWindowType type);
Получает ширину указанного пограничного окна. См. gtk_text_view_set_border_window_size().
Параметры
text_view | ||
type | окно, из которого нужно вернуть размер |
Возвращает
ширина окна
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,gint 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_child_anchor_new ()
GtkTextChildAnchor *
gtk_text_child_anchor_new (void); Создаёт новый GtkTextChildAnchor. Обычно вы затем вставляете его в GtkTextBuffer с помощью gtk_text_buffer_insert_child_anchor(). Для выполнения создания и вставки в один шаг используйте удобную функцию gtk_text_buffer_create_child_anchor().
Возвращаемое значение
новый GtkTextChildAnchor
gtk_text_child_anchor_get_widgets ()
GList *
gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor); Получает список всех виджетов, привязанных к этому дочернему якорю. Возвращаемый список необходимо освободить с помощью g_list_free().
Параметры
anchor |
Возвращаемое значение
список виджетов, привязанных к anchor .
[element-type GtkWidget][transfer container]
gtk_text_child_anchor_get_deleted ()
gboolean
gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor); Определяет, был ли дочерний якорь удалён из буфера. Имейте в виду, что дочерний якорь будет освобождён при удалении из буфера, поэтому вам нужно сохранить свою собственную ссылку (с помощью g_object_ref()), если вы планируете использовать эту функцию — в противном случае все удалённые дочерние якоря также будут завершены.
Параметры
anchor |
Возвращаемое значение
TRUE, если дочерний якорь был удален из своего буфера
gtk_text_view_add_child_in_window ()
void gtk_text_view_add_child_in_window (GtkTextView *text_view,GtkWidget *child,GtkTextWindowType which_window,gint xpos,gint ypos);
Добавляет дочерний элемент в фиксированных координатах в одном из окон виджета текста.
Окно должно иметь ненулевой размер (см. gtk_text_view_set_border_window_size()). Обратите внимание, что координаты дочернего элемента задаются относительно прокрутки. При размещении дочернего элемента в GTK_TEXT_WINDOW_WIDGET, прокрутка не имеет значения, дочерний элемент находится над всеми областями прокрутки. Но при размещении дочернего элемента в одном из окон прокрутки (окна границ или окна текста) он будет перемещаться вместе с прокруткой по мере необходимости.
Параметры
text_view | ||
child | ||
which_window | в какое окно должен появиться дочерний элемент | |
xpos | координата X дочернего элемента в координатах окна | |
ypos | координата Y дочернего элемента в координатах окна |
gtk_text_view_move_child ()
void gtk_text_view_move_child (GtkTextView *text_view,GtkWidget *child,gint xpos,gint ypos);
Обновляет положение дочернего элемента, как и для gtk_text_view_add_child_in_window().
Параметры
text_view | ||
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-keynave-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); Обеспечивает, что курсор показан (т.е. не в интервале мигания «выкл») и сбрасывает время, в течение которого он будет мигать (или видимым, если мигание отключено).
Эта функция должна вызываться в ответ на пользовательский ввод (например, от производных классов, которые переопределяют обработчик сигнала “key-press-event” виджета textview).
Параметры
text_view |
С момента: 3.20
gtk_text_view_set_overwrite ()
void gtk_text_view_set_overwrite (GtkTextView *text_view,gboolean overwrite);
Изменяет режим перекрытия GtkTextView.
С момента: 2.4
gtk_text_view_get_overwrite ()
gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view); Возвращает, находится ли GtkTextView в режиме перекрытия или нет.
Параметры
text_view |
Возвращаемое значение
находится ли text_view в режиме перекрытия или нет.
С момента: 2.4
gtk_text-view_set-pixels-above-lines ()
void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,gint pixels_above_lines);
Устанавливает количество пикселей по умолчанию, которые должны быть пустыми над абзацами в text_view. Теги в буфере для text_view могут переопределить значения по умолчанию.
Параметры
text_view | ||
pixels_above_lines | пиксели над абзацами |
gtk_text_view_get_pixels-above-lines ()
gint
gtk_text_view_get_pixels_above_lines (GtkTextView *text_view); Получает значение по умолчанию для количества пикселей, которые нужно поместить над абзацами.
Параметры
text_view |
Возвращаемое значение
значение по умолчанию количества пикселей над абзацами
gtk_text_view_set_pixels-below-lines ()
void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view,gint pixels_below_lines);
Устанавливает количество пикселей пустого пространства по умолчанию, которое необходимо поместить под абзацами в text_view. Может быть переопределено тегами, применёнными к буферу text_view.
Параметры
text_view | ||
pixels_below_lines | пиксели под абзацами |
gtk_text_view_get_pixels-below-lines ()
gint
gtk_text_view_get_pixels_below_lines (GtkTextView *text_view); Возвращает значение, установленное функцией gtk_text_view_set_pixels_below_lines().
Параметры
text_view |
Возвращаемое значение
значение по умолчанию для количества пикселей пустого пространства под абзацами
gtk_text_view_set_pixels-inside-wrap ()
void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view,gint pixels_inside_wrap);
Устанавливает значение по умолчанию для количества пикселей пустого пространства между отображаемыми/переносными строками в абзаце. Может быть переопределено тегами в буфере text_view.
Параметры
text_view | ||
pixels_inside_wrap | количество пикселей по умолчанию между переносами строк |
gtk_text_view_get_pixels-inside-wrap ()
gint
gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view); Получает значение, установленное функцией gtk_text_view_set_pixels_inside_wrap().
Параметры
text_view |
Возвращаемое значение
значение по умолчанию для количества пикселей пустого пространства между переносами строк
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,gint left_margin);
Устанавливает стандартный левый отступ для текста в text_view. Теги в буфере могут переопределить значение по умолчанию.
Обратите внимание, что функция имеет запутанное название. В терминах CSS, заданное здесь значение — отступ.
Параметры
text_view | ||
left_margin | левый отступ в пикселях |
gtk_text_view_get_left_margin ()
gint
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,gint right_margin);
Устанавливает стандартный правый отступ для текста в области текста. Теги в буфере могут переопределить значение по умолчанию.
Обратите внимание, что функция имеет запутанное название. В терминах CSS, заданное здесь значение — отступ.
Параметры
text_view | ||
right_margin | правый отступ в пикселях |
gtk_text_view_get_right_margin ()
gint
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,gint top_margin);
Устанавливает верхний отступ для текста в text_view.
Обратите внимание, что функция имеет запутанное название. В терминах CSS, заданное здесь значение — отступ.
Параметры
text_view | ||
top_margin | верхний отступ в пикселях |
С: 3.18
gtk_text_view_get_top_margin ()
gint
gtk_text_view_get_top_margin (GtkTextView *text_view); Возвращает верхний отступ для текста в text_view.
Параметры
text_view |
Возвращаемое значение
верхний отступ в пикселях
С: 3.18
gtk_text_view_set_bottom_margin ()
void gtk_text_view_set_bottom_margin (GtkTextView *text_view,gint bottom_margin);
Устанавливает нижний отступ для текста в text_view.
Обратите внимание, что функция имеет запутанное название. В терминах CSS, заданное здесь значение — отступ.
Параметры
text_view | ||
bottom_margin | нижний отступ в пикселях |
С: 3.18
gtk_text_view_get_bottom_margin ()
gint
gtk_text_view_get_bottom_margin (GtkTextView *text_view); Возвращает нижний отступ для текста в text_view.
Параметры
text_view |
Возвращаемое значение
нижний отступ в пикселях
С: 3.18
gtk_text_view_set_indent ()
void gtk_text_view_set_indent (GtkTextView *text_view,gint indent);
Устанавливает стандартный отступ для абзацев в text_view. Теги в буфере могут переопределить значение по умолчанию.
Параметры
text_view | ||
indent | отступ в пикселях |
gtk_text_view_get_indent ()
gint
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 | объект 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 | Объект GtkTextView | |
accepts_tab |
|
С: 2.4
gtk_text_view_get_accepts_tab ()
gboolean
gtk_text_view_get_accepts_tab (GtkTextView *text_view); Возвращает, вставляет ли нажатие клавиши Tab символы табуляции. gtk_text_view_set_accepts_tab().
Параметры
text_view | Объект GtkTextView |
Возвращает
TRUE, если при нажатии клавиши Tab вставляется символ табуляции, FALSE, если при нажатии клавиши Tab переключается фокус клавиатуры.
С: 2.4
gtk_text_view_get_default_attributes ()
GtkTextAttributes *
gtk_text_view_get_default_attributes (GtkTextView *text_view); Получает копию атрибутов по умолчанию для текста. Эти атрибуты используются для текста, если их не переопределяют теги. Как правило, вы передаете атрибуты по умолчанию в gtk_text_iter_get_attributes(), чтобы получить атрибуты, действующие в данной позиции текста.
Возвращаемое значение является копией, которой владеет вызывающий функцию, и должна быть освобождена с помощью gtk_text_attributes_unref().
Параметры
text_view | объект GtkTextView |
Возвращает
новый объект GtkTextAttributes
gtk_text_view_im_context_filter_keypress ()
gboolean gtk_text_view_im_context_filter_keypress (GtkTextView *text_view,GdkEventKey *event);
Разрешает методу ввода GtkTextView внутренне обрабатывать события нажатия и отпускания клавиш. Если эта функция возвращает TRUE, то для этого события нажатия клавиши больше не требуется дополнительная обработка. См. gtk_im_context_filter_keypress().
Обратите внимание, что от вас ожидается вызов этой функции из вашего обработчика при переопределении обработки событий нажатия клавиш. Это необходимо в том случае, если вам нужно вставить свою обработку клавиш между методом ввода и стандартной обработкой событий нажатия клавиш GtkTextView.
textview.view ├── border.top ├── border.left ├── text │ ╰── [selection] ├── border.right ├── border.bottom ╰── [window.popup]
Параметры
text_view | объект GtkTextView | |
event | событие нажатия клавиши |
Возвращает
TRUE, если метод ввода обработав событие нажатия клавиши.
С: 2.22
gtk_text_view_reset_im_context ()
void
gtk_text_view_reset_im_context (GtkTextView *text_view); Сбрасывает контекст метода ввода текстового поля, если это необходимо.
Это может потребоваться в случае, если изменение буфера может привести к неполадкам в поведении текущего метода ввода.
Параметры
text_view | объект GtkTextView |
С: 2.22
gtk_text_view_set_input_purpose ()
void gtk_text_view_set_input_purpose (GtkTextView *text_view,GtkInputPurpose purpose);
Устанавливает свойство “input-purpose”, которое может использоваться виртуальными клавиатурами и другими методами ввода для настройки их поведения.
Параметры
text_view | объект GtkTextView | |
purpose | назначение |
С: 3.6
gtk_text_view_get_input_purpose ()
GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view); Получает значение свойства “input-purpose”.
Параметры
text_view | объект GtkTextView |
С: 3.6
gtk_text_view_set_input_hints ()
void gtk_text_view_set_input_hints (GtkTextView *text_view,GtkInputHints hints);
Устанавливает свойство “input-hints”, которое позволяет методам ввода уточнить свое поведение.
Параметры
text_view | объект GtkTextView | |
hints | подсказки |
С: 3.6
gtk_text_view_get_input_hints ()
GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view); Получает значение свойства “input-hints”.
Параметры
text_view | объект GtkTextView |
С: 3.6
gtk_text_view_set_monospace ()
void gtk_text_view_set_monospace (GtkTextView *text_view,gboolean monospace);
Устанавливает свойство “monospace”, которое указывает, что виджет отображения текста должен использовать шрифты с фиксированной шириной.
Параметры
text_view | ||
monospace |
|
Since: 3.16
gtk_text_view_get_monospace ()
gboolean
gtk_text_view_get_monospace (GtkTextView *text_view); Получает значение свойства “monospace”.
Возвращаемое значение: TRUE, если желаются шрифты с фиксированной шириной
Параметры
text_view |
Since: 3.16
Типы и значения
struct GtkTextView
struct GtkTextView;
struct GtkTextViewClass
struct GtkTextViewClass {
GtkContainerClass parent_class;
/*< public */
void (* populate_popup) (GtkTextView *text_view,
GtkWidget *popup);
void (* move_cursor) (GtkTextView *text_view,
GtkMovementStep step,
gint count,
gboolean extend_selection);
void (* set_anchor) (GtkTextView *text_view);
void (* insert_at_cursor) (GtkTextView *text_view,
const gchar *str);
void (* delete_from_cursor) (GtkTextView *text_view,
GtkDeleteType type,
gint count);
void (* backspace) (GtkTextView *text_view);
void (* cut_clipboard) (GtkTextView *text_view);
void (* copy_clipboard) (GtkTextView *text_view);
void (* paste_clipboard) (GtkTextView *text_view);
void (* toggle_overwrite) (GtkTextView *text_view);
GtkTextBuffer * (* create_buffer) (GtkTextView *text_view);
void (* draw_layer) (GtkTextView *text_view,
GtkTextViewLayer layer,
cairo_t *cr);
gboolean (* extend_selection) (GtkTextView *text_view,
GtkTextExtendSelection granularity,
const GtkTextIter *location,
GtkTextIter *start,
GtkTextIter *end);
};
Члены
| Обработчик класса для сигнала “populate-popup”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “move-cursor”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “set-anchor”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “insert-at-cursor”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “delete-from-cursor”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “backspace”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “cut-clipboard”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “copy-clipboard”. | |
| Обработчик класса для сигнала “paste-clipboard”. | |
| Обработчик класса для сигнала управления клавиатурной комбинацией “toggle-overwrite”. | |
| Функция create_buffer вызывается для создания GtkTextBuffer для текстового представления. По умолчанию вызывается | |
| Функция draw_layer вызывается перед и после отрисовки текстового представления. Приложения могут переопределять эту функцию в подклассе, чтобы отрисовать настраиваемое содержимое под или над текстом. В | |
| Обработчик класса для сигнала “extend-selection”. С версии 3.16 |
Перечисление GtkTextViewLayer
Используется для ссылки на слои GtkTextView для целей настраиваемой отрисовки с помощью функции ::draw_layer.
Члены
GTK_TEXT_VIEW_LAYER_BELOW | Старый устаревший слой, используйте | |
GTK_TEXT_VIEW_LAYER_ABOVE | Старый устаревший слой, используйте | |
GTK_TEXT_VIEW_LAYER_BELOW_TEXT | Слой, отрисовываемый под текстом (но над фоном). С версии 3.20 | |
GTK_TEXT_VIEW_LAYER_ABOVE_TEXT | Слой, отрисовываемый над текстом. С версии 3.20 |
Перечисление GtkTextWindowType
Используется для ссылки на части GtkTextView.
Члены
GTK_TEXT_WINDOW_WIDGET | Окно, которое плавает над зонами прокрутки. | |
GTK_TEXT_WINDOW_TEXT | Прокручиваемое текстовое окно. | |
GTK_TEXT_WINDOW_LEFT | Окно левой грани. | |
GTK_TEXT_WINDOW_RIGHT | Окно правой грани. | |
GTK_TEXT_WINDOW_TOP | Окно верхней грани. | |
GTK_TEXT_WINDOW_BOTTOM | Окно нижней грани. |
Перечисление GtkTextExtendSelection
Типы гранул, расширяющие текстовый выделение. Используйте сигнал “extend-selection” для настройки выделения.
Члены
GTK_TEXT_EXTEND_SELECTION_WORD | Выделяет текущее слово. Например, срабатывает при двойном щелчке. | |
GTK_TEXT_EXTEND_SELECTION_LINE | Выделяет текущую строку. Например, срабатывает при тройном щелчке. |
С версии: 3.16
Перечисление GtkWrapMode
Описывает тип перевода строк.
Элементы
GTK_WRAP_NONE | не переносить строки; просто сделать текстовую область шире | |
GTK_WRAP_CHAR | переносить текст, разделяя строки в любом месте, где может появиться курсор (обычно между символами — если хотите быть точными, между графемами, см. | |
GTK_WRAP_WORD | переносить текст, разделяя строки между словами | |
GTK_WRAP_WORD_CHAR | переносить текст, разделяя строки между словами или, если этого недостаточно, также между графемами |
Структура GtkTextChildAnchor
struct GtkTextChildAnchor;
Объект GtkTextChildAnchor — это место в буфере, где дочерние виджеты могут быть «привязаны» (вставлены как символы). Анкер может иметь несколько привязанных виджетов, чтобы разрешить несколько представлений.
GTK_TEXT_VIEW_PRIORITY_VALIDATE
#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)
Приоритет, с которым текстовое представление проверяет строки на экране в фоновой задаче в режиме ожидания.
Подробное описание свойств
Свойство “accepts-tab”
“accepts-tab” gboolean
Определяет, приведет ли нажатие клавиши Tab к вводу символа табуляции.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “bottom-margin”
“bottom-margin” gint
Нижний отступ для текста в текстовом представлении.
Обратите внимание, что это свойство неудачно названо. В терминах CSS заданное здесь значение — это отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство с “отступ снизу”.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 3.18
Свойство “cursor-visible”
“cursor-visible” gboolean
Определяет, отображается ли курсор вставки.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “editable”
“editable” gboolean
Можно ли изменить текст пользователем.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “im-module”
“im-module” gchar *
Какой модуль ВМ (метода ввода) следует использовать для этого текстового представления. См. GtkIMContext.
Установка этого значения, отличного от NULL, переопределяет системное значение модуля ВМ. См. свойство GtkSettings “модуль ВМ gtk”.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 2.16
Свойство “indent”
“indent” gint
Величина отступа абзаца в пикселях.
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “input-hints”
“input-hints” GtkInputHints
Дополнительные подсказки (помимо “назначение ввода”), которые позволяют методам ввода уточнять своё поведение.
Флаги: Чтение / Запись
С версии: 3.6
Свойство “input-purpose”
“input-purpose” GtkInputPurpose
Назначение этого поля ввода.
Это свойство может быть использовано на-экранными клавиатурами и другими методами ввода для корректировки своего поведения.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_INPUT_PURPOSE_FREE_FORM
С версии: 3.6
Свойство “justification”
“justification” GtkJustification
Выравнивание по левому, правому или центру.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_JUSTIFY_LEFT
Свойство “left-margin”
“left-margin” gint
Стандартный левый отступ для текста в текстовом представлении. Теги в буфере могут переопределить значение по умолчанию.
Обратите внимание, что это свойство неудачно названо. В терминах CSS заданное здесь значение — это отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство с “отступ слева”.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “monospace”
“monospace” gboolean
Использовать ли моноширинный шрифт.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “overwrite”
“overwrite” gboolean
Заменять ли введённый текст существующим содержимым.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “pixels-above-lines”
“pixels-above-lines” gint
Пиксели пустого пространства над абзацами.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “pixels-below-lines”
“pixels-below-lines” gint
Пиксели пустого пространства под абзацами.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “pixels-inside-wrap”
“pixels-inside-wrap” gint
Пиксели пустого пространства между переносимыми строками в абзаце.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “populate-all”
“populate-all” gboolean
Если :populate-all — TRUE, то сигнал “populate-popup” также генерируется для всплывающих окон касания.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.8
Свойство “right-margin”
“right-margin” gint
Стандартный правый отступ для текста в текстовом представлении. Теги в буфере могут переопределить значение по умолчанию.
Обратите внимание, что это свойство неудачно названо. В терминах CSS заданное здесь значение — это отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство с “отступ справа”.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “tabs”
“tabs” PangoTabArray *
Настраиваемые табуляции для этого текста.
Флаги: Чтение / Запись
Свойство “top-margin”
“top-margin” gint
Верхний отступ для текста в текстовом представлении.
Обратите внимание, что это свойство неудачно названо. В терминах CSS заданное здесь значение — это отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство с “отступ сверху”.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 3.18
Свойство “wrap-mode”
“wrap-mode” GtkWrapMode
Переносить ли строки ни в коем случае, по границам слов или по границам символов.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_WRAP_NONE
Подробное описание свойств стиля
Свойство стиля “error-underline-color”
“error-underline-color” GdkColor *
Цвет подчёркивания, обозначающего ошибку.
Флаги: Чтение
Подробные сведения о сигналах
Сигнал “backspace”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::backspace — это сигнал управления сочетаниями клавиш, который генерируется при запросе пользователя.
По умолчанию для этого сигнала заданы сочетания клавиш Backspace и Shift-Backspace.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “copy-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::copy-clipboard — это сигнал управления сочетаниями клавиш, который генерируется для копирования выделенного фрагмента в буфер обмена.
По умолчанию для этого сигнала заданы сочетания клавиш Ctrl-c и Ctrl-Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “cut-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::cut-clipboard — это сигнал управления сочетаниями клавиш, который генерируется для вырезания выделенного фрагмента в буфер обмена.
По умолчанию для этого сигнала заданы сочетания клавиш Ctrl-x и Shift-Delete.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “delete-from-cursor”
void user_function (GtkTextView *text_view, GtkDeleteType type, gint count, gpointer user_data)
Сигнал ::delete-from-cursor — это сигнал управления сочетаниями клавиш, который генерируется при начале удаления текста пользователем.
Если type имеет значение GTK_DELETE_CHARS, GTK+ удаляет выделение, если оно есть, в противном случае удаляет запрошенное количество символов.
По умолчанию для этого сигнала заданы сочетания клавиш Delete (удаление символа), Ctrl-Delete (удаление слова) и Ctrl-Backspace (удаление слова назад).
Параметры
text_view | объект, получивший сигнал | |
type | тип гранулярности удаления, как GtkDeleteType | |
count | количество единиц | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “extend-selection”
gboolean user_function (GtkTextView *text_view, GtkTextExtendSelection granularity, GtkTextIter *location, GtkTextIter *start, GtkTextIter *end, gpointer user_data)
Сигнал ::extend-selection генерируется, когда выделение необходимо расширить в location.
Параметры
text_view | объект, получивший сигнал | |
granularity | тип гранулярности | |
location | позиция для расширения выделения | |
start | начало выделения | |
end | конец выделения | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Возвращаемое значение
GDK_EVENT_STOP для остановки вызова других обработчиков для события. GDK_EVENT_PROPAGATE для дальнейшей передачи события.
Флаги: Выполнять последним
С версии: 3.16
Сигнал “insert-at-cursor”
void user_function (GtkTextView *text_view, gchar *string, gpointer user_data)
Сигнал ::insert-at-cursor — это сигнал управления сочетаниями клавиш, который генерируется при начале вставки фиксированной строки в курсор.
Для этого сигнала по умолчанию нет назначенных сочетаний клавиш.
Параметры
text_view | объект, получивший сигнал | |
string | строка для вставки | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “move-cursor”
void user_function (GtkTextView *text_view, GtkMovementStep step, gint count, gboolean extend_selection, gpointer user_data)
Сигнал ::move-cursor — это сигнал управления сочетаниями клавиш, который генерируется при начале перемещения курсора. Если курсор не отображается в text_view, этот сигнал вызывает перемещение области просмотра вместо этого.
Приложения не должны подключаться к нему, но могут генерировать его с помощью g_signal_emit_by_name(), если нужно программно управлять курсором.
По умолчанию для этого сигнала заданы два варианта сочетаний клавиш: с модификатором Shift выделение расширяется, без него — нет. Перечисление всех сочетаний здесь невозможно из-за их большого количества.
Стрелки перемещают курсор на один символ/строку
Сочетания Ctrl-стрелка перемещают курсор на слово/абзац
Клавиши Home/End перемещают курсор в начало/конец буфера
Клавиши PageUp/PageDown перемещают курсор на страницу вверх/вниз
Сочетания Ctrl-PageUp/PageDown перемещают курсор горизонтально на страницу
Параметры
text_view | объект, получивший сигнал | |
step | тип гранулярности перемещения, как GtkMovementStep | |
count | количество единиц | |
extend_selection |
| |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “move-viewport”
void user_function (GtkTextView *text_view, GtkScrollStep step, gint count, gpointer user_data)
Сигнал ::move-viewport — это сигнал привязки к клавишам, который можно привязать к сочетаниям клавиш для перемещения области просмотра, то есть изменения части текста, видимой в содержащем его окне прокрутки.
По умолчанию для этого сигнала нет привязок.
Параметры
text_view | объект, получивший сигнал | |
step | размер перемещения, как GtkMovementStep | |
count | количество единиц | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “paste-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::paste-clipboard — это сигнал привязки к клавишам, который генерируется для вставки содержимого буфера обмена в текстовую область.
По умолчанию для этого сигнала привязаны Ctrl-v и Shift-Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “populate-popup”
void user_function (GtkTextView *text_view, GtkWidget *popup, gpointer user_data)
Сигнал ::populate-popup генерируется перед отображением контекстного меню текстовой области.
Если вам необходимо добавить элементы в контекстное меню, подключитесь к этому сигналу и добавьте свои элементы в popup, которое в данном случае будет GtkMenu.
Если “populate-all” имеет значение TRUE, этот сигнал также будет сгенерирован для заполнения всплывающих меню касанием. В этом случае popup будет другим контейнером, например, GtkToolbar.
Обработчик сигнала не должен делать предположений о типе widget, а вместо этого должен проверить, является ли popup GtkMenu, GtkToolbar или другим типом контейнера.
Параметры
text_view | Текстовая область, на которой генерируется сигнал | |
popup | контейнер, который заполняется | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
Сигнал “preedit-changed”
void user_function (GtkTextView *text_view, gchar *preedit, gpointer user_data)
Если используется метод ввода, набранный текст не будет сразу же сохранён в буфер. Поэтому, если вам нужен этот текст, подключитесь к этому сигналу.
Этот сигнал генерируется только в том случае, если текст в заданной позиции действительно редактируется.
Параметры
text_view | объект, получивший сигнал | |
preedit | текущая строка предварительного редактирования | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
С: 2.20
Сигнал “select-all”
void user_function (GtkTextView *text_view, gboolean select, gpointer user_data)
Сигнал ::select-all — это сигнал привязки к клавишам, который генерируется для выбора или отмены выбора всего содержимого текстовой области.
По умолчанию для этого сигнала привязаны Ctrl-a и Ctrl-/ для выбора и Shift-Ctrl-a и Ctrl-\ для отмены выбора.
Параметры
Флаги: Действие
Сигнал “set-anchor”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::set-anchor — это сигнал привязки к клавишам, который генерируется, когда пользователь начинает устанавливать метку «якорь». Метка «якорь» устанавливается в той же позиции, что и метка «вставка».
Для этого сигнала нет привязок по умолчанию.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “toggle-cursor-visible”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::toggle-cursor-visible — это сигнал привязки к клавишам, который генерируется для переключения свойства “cursor-visible”.
По умолчанию для этого сигнала привязана клавиша F7.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “toggle-overwrite”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::toggle-overwrite — это сигнал привязки к клавишам, который генерируется для переключения режима вставки в текстовой области.
По умолчанию для этого сигнала привязана клавиша Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkTextView.html