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] |
Since: 3.0
gtk_text_view_get_line_at_y ()
void gtk_text_view_get_line_at_y (GtkTextView *text_view,GtkTextIter *target_iter,gint y,gint *line_top);
Получает GtkTextIter в начале строки, содержащей координату y . y указана в координатах буфера, преобразуйте из координат окна с помощью gtk_text_view_window_to_buffer_coords(). Если не NULL, line_top будет заполнен координатой верхней границы строки.
Параметры
text_view | ||
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 если позиция расположена над текстом
Since: 2.6
gtk_text_view_buffer_to_window_coords ()
void gtk_text_view_buffer_to_window_coords (GtkTextView *text_view,GtkTextWindowType win,gint buffer_x,gint buffer_y,gint *window_x,gint *window_y);
Преобразует координаты (buffer_x , buffer_y ) в координаты окна win и сохраняет результат в (window_x , window_y ).
Обратите внимание, что вы не можете преобразовать координаты для несуществующего окна (см. gtk_text_view_set_border_window_size()).
Параметры
text_view | ||
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 | виджет дочернего элемента, уже добавленный в виджет TextView | |
xpos | новая координата X в координатах окна | |
ypos | новая координата Y в координатах окна |
gtk_text_view_set_wrap_mode ()
void gtk_text_view_set_wrap_mode (GtkTextView *text_view,GtkWrapMode wrap_mode);
Устанавливает режим переноса строк для области просмотра.
Параметры
text_view | ||
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 | объект GtkTextView | |
setting | редактируемость |
gtk_text_view_get_editable ()
gboolean
gtk_text_view_get_editable (GtkTextView *text_view); Возвращает значение по умолчанию для редактируемости GtkTextView. Теги в буфере могут переопределить это значение для некоторых диапазонов текста.
Параметры
text_view | объект GtkTextView |
Возвращаемое значение
значение по умолчанию для редактируемости текста
gtk_text_view_set_cursor_visible ()
void gtk_text_view_set_cursor_visible (GtkTextView *text_view,gboolean setting);
Включает или выключает отображение курсора вставки. Буфер без редактируемого текста, скорее всего, не должен иметь видимый курсор, поэтому вы можете его отключить.
Обратите внимание, что это свойство может быть переопределено настройками “gtk-keynave-use-caret”.
Параметры
text_view | объект GtkTextView | |
setting | отображение курсора вставки |
gtk_text_view_get_cursor_visible ()
gboolean
gtk_text_view_get_cursor_visible (GtkTextView *text_view); Определяет, должен ли отображаться курсор.
Параметры
text_view | объект GtkTextView |
Возвращаемое значение
отображение маркера вставки
gtk_text_view_reset_cursor_blink ()
void
gtk_text_view_reset_cursor_blink (GtkTextView *text_view); Обеспечивает отображение курсора (то есть, он не находится в интервале мигания 'выключено') и сбрасывает время, в течение которого он будет мигать (или отображаться, если мигание отключено).
Эта функция должна вызываться в ответ на пользовательский ввод (например, производными классами, которые переопределяют обработчик события “key-press-event” textview).
Параметры
text_view | объект GtkTextView |
С: 3.20
gtk_text-view_set_overwrite ()
void gtk_text_view_set_overwrite (GtkTextView *text_view,gboolean overwrite);
Изменяет режим вставки в GtkTextView.
Параметры
text_view | объект GtkTextView | |
overwrite |
С: 2.4
gtk_text_view_get_overwrite ()
gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view); Возвращает, находится ли GtkTextView в режиме вставки или нет.
Параметры
text_view | объект GtkTextView |
Возвращаемое значение
режим вставки.
С: 2.4
gtk_text_view_set_pixels_above_lines ()
void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,gint pixels_above_lines);
Устанавливает количество пикселей по умолчанию между абзацами в text_view. Теги в буфере для text_view могут переопределить значения по умолчанию.
Параметры
text_view | объект GtkTextView | |
pixels_above_lines | пиксели над абзацами |
gtk_text_view_get_pixels-above-lines ()
gint
gtk_text_view_get_pixels_above_lines (GtkTextView *text_view); Получает количество пикселей по умолчанию, добавляемых над абзацами. Добавление этой функции с gtk_text_view_get_pixels_below_lines() равно интервалу строк между абзацами.
Параметры
text_view | объект GtkTextView |
Возвращаемое значение
количество пикселей по умолчанию над абзацами
gtk_text_view_set_pixels_below_lines ()
void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view,gint pixels_below_lines);
Устанавливает количество пикселей по умолчанию для пустого пространства под абзацами в text_view. Может быть переопределено тегами, применёнными к буферу text_view.
Параметры
text_view | объект GtkTextView | |
pixels_below_lines | пиксели под абзацами |
gtk_text_view_get_pixels_below_lines ()
gint
gtk_text_view_get_pixels_below_lines (GtkTextView *text_view); Возвращает значение, установленное функцией gtk_text_view_set_pixels_below_lines().
Интервал строк равен сумме значения, возвращаемого этой функцией, и значения, возвращаемого функцией gtk_text_view_get_pixels_above_lines().
Параметры
text_view | объект GtkTextView |
Возвращаемое значение
количество пикселей по умолчанию под абзацами
gtk_text_view_set_pixels_inside_wrap ()
void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view,gint pixels_inside_wrap);
Устанавливает количество пикселей по умолчанию для пустого пространства между отображаемыми/переносимыми строками внутри абзаца. Может быть переопределено тегами в буфере text_view.
Параметры
text_view | объект GtkTextView | |
pixels_inside_wrap | количество пикселей между переносимыми строками |
gtk_text_view_get_pixels_inside_wrap ()
gint
gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view); Получает значение, заданное функцией gtk_text_view_set_pixels_inside_wrap().
Параметры
text_view |
Возвращает
стандартное количество пикселей пустого пространства между переносимыми строками
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 |
Возвращаемое значение
копия массива стандартных табуляций, или 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, фокус клавиатуры переносится на следующий виджет в цепочке фокуса.
Параметры
Since: 2.4
gtk_text_view_get_accepts_tab ()
gboolean
gtk_text_view_get_accepts_tab (GtkTextView *text_view); Возвращает, вставляет ли нажатие клавиши Tab символ табуляции. gtk_text_view_set_accepts_tab().
Параметры
text_view |
Возвращаемое значение
TRUE, если при нажатии клавиши Tab вставляется символ табуляции, FALSE, если при нажатии клавиши Tab переносится фокус клавиатуры.
Since: 2.4
gtk_text_view_get_default_attributes ()
GtkTextAttributes *
gtk_text_view_get_default_attributes (GtkTextView *text_view); Получает копию атрибутов текста по умолчанию. Эти атрибуты используются для текста, если их не переопределяет тег. Обычно вы передаёте атрибуты по умолчанию в gtk_text_iter_get_attributes(), чтобы получить атрибуты, действующие в данной позиции текста.
Возвращаемое значение — копия, которой владеет вызывающий эту функцию, и должно быть освобождено с помощью gtk_text_attributes_unref().
Параметры
text_view |
Возвращаемое значение
новый 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 | ||
event | событие нажатия клавиши |
Возвращаемое значение
TRUE, если метод ввода обработало событие нажатия клавиши.
Since: 2.22
gtk_text_view_reset_im_context ()
void
gtk_text_view_reset_im_context (GtkTextView *text_view); Сбрасывает контекст метода ввода текстового представления при необходимости.
Это может потребоваться в том случае, когда изменение буфера вызовет путаницу в поведении текущего метода ввода.
Параметры
text_view |
Since: 2.22
gtk_text_view_set_input_purpose ()
void gtk_text_view_set_input_purpose (GtkTextView *text_view,GtkInputPurpose purpose);
Устанавливает свойство “input-purpose”, которое может использоваться экранными клавиатурами и другими методами ввода для изменения их поведения.
Параметры
text_view | ||
purpose | цель |
Since: 3.6
gtk_text_view_get_input_purpose ()
GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view); Получает значение свойства “input-purpose”.
Параметры
text_view |
Since: 3.6
gtk_text_view_set_input_hints ()
void gtk_text_view_set_input_hints (GtkTextView *text_view,GtkInputHints hints);
Устанавливает свойство “input-hints”, что позволяет методам ввода уточнять своё поведение.
Параметры
text_view | ||
hints | указанные подсказки |
С момента: 3.6
gtk_text_view_get_input_hints ()
GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view); Возвращает значение свойства “input-hints”.
Параметры
text_view |
С момента: 3.6
gtk_text_view_set_monospace ()
void gtk_text_view_set_monospace (GtkTextView *text_view,gboolean monospace);
Устанавливает свойство “monospace”, которое указывает, что виджет текста должен использовать шрифты с фиксированной шириной.
Параметры
text_view | ||
monospace |
|
С момента: 3.16
gtk_text_view_get_monospace ()
gboolean
gtk_text_view_get_monospace (GtkTextView *text_view); Возвращает значение свойства “monospace”.
Возвращаемое значение: TRUE, если требуются шрифты с фиксированной шириной
Параметры
text_view |
С момента: 3.16
Типы и значения
Структура GtkTextView
struct GtkTextView;
Структура GtkTextViewClass
struct GtkTextViewClass {
GtkContainerClass parent_class;
void (* populate_popup) (GtkTextView *text_view,
GtkWidget *popup);
void (* move_cursor) (GtkTextView *text_view,
GtkMovementStep step,
gint count,
gboolean extend_selection);
void (* set_anchor) (GtkTextView *text_view);
void (* insert_at_cursor) (GtkTextView *text_view,
const gchar *str);
void (* delete_from_cursor) (GtkTextView *text_view,
GtkDeleteType type,
gint count);
void (* backspace) (GtkTextView *text_view);
void (* cut_clipboard) (GtkTextView *text_view);
void (* copy_clipboard) (GtkTextView *text_view);
void (* paste_clipboard) (GtkTextView *text_view);
void (* toggle_overwrite) (GtkTextView *text_view);
GtkTextBuffer * (* create_buffer) (GtkTextView *text_view);
void (* draw_layer) (GtkTextView *text_view,
GtkTextViewLayer layer,
cairo_t *cr);
gboolean (* extend_selection) (GtkTextView *text_view,
GtkTextExtendSelection granularity,
const GtkTextIter *location,
GtkTextIter *start,
GtkTextIter *end);
};
Члены
| Обработчик класса для сигнала “populate-popup”. | |
| Обработчик класса для сигнала переназначения клавиш “move-cursor”. | |
| Обработчик класса для сигнала переназначения клавиш “set-anchor”. | |
| Обработчик класса для сигнала переназначения клавиш “insert-at-cursor”. | |
| Обработчик класса для сигнала переназначения клавиш “delete-from-cursor”. | |
| Обработчик класса для сигнала переназначения клавиш “backspace”. | |
| Обработчик класса для сигнала переназначения клавиш “cut-clipboard” | |
| Обработчик класса для сигнала переназначения клавиш “copy-clipboard”. | |
| Обработчик класса для сигнала “paste-clipboard”. | |
| Обработчик класса для сигнала переназначения клавиш “toggle-overwrite”. | |
| Метод create_buffer vfunc вызывается для создания GtkTextBuffer для текстового представления. Реализация по умолчанию просто вызывает | |
| Метод draw_layer vfunc вызывается до и после отрисовки текстового представления. Приложения могут переопределить этот метод в подклассе, чтобы отрисовать пользовательское содержимое под или над текстом. В слоях | |
| Обработчик класса для сигнала “extend-selection”. С 3.16 |
Перечисление GtkTextViewLayer
Используется для ссылки на слои GtkTextView с целью кастомизированной отрисовки с помощью метода ::draw_layer vfunc.
Члены
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;
A GtkTextChildAnchor is a spot in the buffer where child widgets can be “anchored” (inserted inline, as if they were characters). The anchor can have multiple widgets anchored, to allow for multiple views.
GTK_TEXT_VIEW_PRIORITY_VALIDATE
#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)
Приоритет, с которым текстовое представление проверяет строки на экране в работе в фоновом режиме.
Подробное описание свойств
Свойство “accepts-tab”
“accepts-tab” gboolean
Указывает, будет ли ввод Tab означать ввод символа табуляции.
Флаги: чтение/запись
Значение по умолчанию: TRUE
Свойство “bottom-margin”
“bottom-margin” gint
Нижний отступ для текста в текстовом представлении.
Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.
Не путайте это свойство с “margin-bottom”.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С момента: 3.18
Свойство “cursor-visible”
“cursor-visible” gboolean
Отображается ли курсор вставки.
Флаги: чтение/запись
Значение по умолчанию: TRUE
Свойство “editable”
“editable” gboolean
Можно ли изменять текст пользователем.
Флаги: чтение/запись
Значение по умолчанию: TRUE
Свойство “im-module”
“im-module” gchar *
Какой модуль Ввода (input method) должен использоваться для этого text_view. См. GtkIMContext.
Установка этого значения на отличное от NULL приводит к перезаписи настройки системного модуля Ввода. См. свойство GtkSettings “gtk-im-module”.
Флаги: чтение/запись
Значение по умолчанию: NULL
С момента: 2.16
Свойство “indent”
“indent” gint
Размер отступа абзаца в пикселях.
Флаги: чтение/запись
Значение по умолчанию: 0
Свойство “input-hints”
“input-hints” GtkInputHints
Дополнительные подсказки (помимо “input-purpose”), которые позволяют методам ввода тонко настраивать свое поведение.
Флаги: чтение/запись
С момента: 3.6
Свойство “input-purpose”
“input-purpose” GtkInputPurpose
Назначение этого поля ввода.
Это свойство может использоваться виртуальными клавиатурами и другими методами ввода для корректировки их поведения.
Флаги: чтение/запись
Значение по умолчанию: GTK_INPUT_PURPOSE_FREE_FORM
С момента: 3.6
Свойство “justification”
“justification” GtkJustification
Выравнивание по левому, правому или центру.
Флаги: чтение/запись
Значение по умолчанию: GTK_JUSTIFY_LEFT
Свойство “left-margin”
“left-margin” gint
Стандартный левый отступ для текста в текстовом представлении. Теги в буфере могут переопределять значение по умолчанию.
Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.
Не путайте это свойство с “margin-left”.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “monospace”
“monospace” gboolean
Использовать ли моноширинный шрифт.
Флаги: чтение/запись
Значение по умолчанию: FALSE
Свойство “overwrite”
“overwrite” gboolean
Заменяет ли вводимый текст существующее содержимое.
Флаги: чтение/запись
Значение по умолчанию: FALSE
Свойство “pixels-above-lines”
“pixels-above-lines” gint
Пиксели пустого места над абзацами.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “pixels-below-lines”
“pixels-below-lines” gint
Пиксели пустого места под абзацами.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “pixels-inside-wrap”
“pixels-inside-wrap” gint
Пиксели пустого места между переносимыми строками в абзаце.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “populate-all”
“populate-all” gboolean
Если :populate-all равен TRUE, сигнал “populate-popup” также излучается для всплывающих окон касания.
Флаги: чтение/запись
Значение по умолчанию: FALSE
С момента: 3.8
Свойство “right-margin”
“right-margin” gint
Стандартный правый отступ для текста в текстовом представлении. Теги в буфере могут переопределять значение по умолчанию.
Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.
Не путайте это свойство с “margin-right”.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “tabs”
“tabs” PangoTabArray *
Пользовательские табуляции для этого текста.
Флаги: чтение/запись
Свойство “top-margin”
“top-margin” gint
Верхний отступ для текста в текстовом представлении.
Обратите внимание, что это свойство имеет запутанное название. В терминах CSS значение, задаваемое здесь, представляет собой отступ, и оно применяется в дополнение к отступу из темы.
Не путайте это свойство с “margin-top”.
Флаги: чтение/запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С момента: 3.18
Свойство “wrap-mode”
“wrap-mode” GtkWrapMode
Переносить ли строки никогда, по границам слов или по границам символов.
Флаги: чтение/запись
Значение по умолчанию: GTK_WRAP_NONE
Подробное описание свойств стиля
Свойство стиля “error-underline-color”
“error-underline-color” GdkColor *
Цвет подчёркивания, указывающий на ошибку.
Флаги: чтение
Подробности сигналов
Сигнал “backspace”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::backspace — это сигнал привязки клавиш, который генерируется, когда пользователь запрашивает его.
По умолчанию для этого сигнала назначены сочетания клавиш Backspace и Shift-Backspace.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “copy-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::copy-clipboard — это сигнал привязки клавиш, который генерируется для копирования выделенного текста в буфер обмена.
По умолчанию для этого сигнала назначены сочетания клавиш Ctrl-c и Ctrl-Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “cut-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::cut-clipboard — это сигнал привязки клавиш, который генерируется для вырезания выделенного текста в буфер обмена.
По умолчанию для этого сигнала назначены сочетания клавиш Ctrl-x и Shift-Delete.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “delete-from-cursor”
void user_function (GtkTextView *text_view, GtkDeleteType type, gint count, gpointer user_data)
Сигнал ::delete-from-cursor — это сигнал привязки клавиш, который генерируется при начале удаления текста.
Если type равен GTK_DELETE_CHARS, GTK+ удаляет выделение, если оно есть, в противном случае удаляется заданное количество символов.
По умолчанию для этого сигнала назначены сочетания клавиш Delete для удаления символа, Ctrl-Delete для удаления слова и Ctrl-Backspace для удаления слова назад.
Параметры
text_view | объект, получивший сигнал | |
type | тип детализации удаления, как GtkDeleteType | |
count | количество единиц | |
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 | шаг перемещения, как GtkScrollStep | |
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.22/GtkTextView.html