GtkTextView
GtkTextView — Виджет, отображающий GtkTextBuffer
Функции
| void | gtk_text_view_set_monospace () |
| gboolean | gtk_text_view_get_monospace () |
Свойства
| gboolean | accepts-tab | Чтение / Запись |
| int | bottom-margin | Чтение / Запись |
| GtkTextBuffer * | buffer | Чтение / Запись |
| gboolean | cursor-visible | Чтение / Запись |
| gboolean | editable | Чтение / Запись |
| char * | im-module | Чтение / Запись |
| int | indent | Чтение / Запись |
| GtkInputHints | input-hints | Чтение / Запись |
| GtkInputPurpose | input-purpose | Чтение / Запись |
| GtkJustification | justification | Чтение / Запись |
| int | left-margin | Чтение / Запись |
| gboolean | monospace | Чтение / Запись |
| gboolean | overwrite | Чтение / Запись |
| int | pixels-above-lines | Чтение / Запись |
| int | pixels-below-lines | Чтение / Запись |
| int | pixels-inside-wrap | Чтение / Запись |
| gboolean | populate-all | Чтение / Запись |
| int | right-margin | Чтение / Запись |
| PangoTabArray * | tabs | Чтение / Запись |
| int | top-margin | Чтение / Запись |
| GtkWrapMode | wrap-mode | Чтение / Запись |
Стилизованные свойства
| GdkColor * | error-underline-color | Чтение |
Сигналы
| void | backspace | Действие |
| void | copy-clipboard | Действие |
| void | cut-clipboard | Действие |
| void | delete-from-cursor | Действие |
| gboolean | extend-selection | Выполнить последним |
| void | insert-at-cursor | Действие |
| void | insert-emoji | Действие |
| void | move-cursor | Действие |
| void | move-viewport | Действие |
| void | paste-clipboard | Действие |
| void | populate-popup | Выполнить последним |
| void | preedit-changed | Действие |
| void | select-all | Действие |
| void | set-anchor | Действие |
| void | toggle-cursor-visible | Действие |
| void | toggle-overwrite | Действие |
Типы и значения
| struct | GtkTextView |
| struct | GtkTextViewClass |
| enum | GtkTextViewLayer |
| enum | Тип окна текста |
| enum | GtkTextExtendSelection |
| enum | Режим перевода строк |
| struct | GtkTextChildAnchor |
| #define | GTK_TEXT_VIEW_PRIORITY_VALIDATE |
Иерархия объектов
GObject
├── GInitiallyUnowned
│ ╰── GtkWidget
│ ╰── GtkContainer
│ ╰── GtkTextView
╰── GtkTextChildAnchor
Реализованные интерфейсы
GtkTextView реализует AtkImplementorIface, GtkBuildable и GtkScrollable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Рекомендуется начать с прочтения обзорной статьи о виджете текста, в которой представлен обзор всех объектов и типов данных, связанных с виджетом текста, и как они взаимодействуют.
Узлы CSS
GtkTextView имеет основной узел CSS с именем textview и классом стиля .view, а также подузлы для каждого из окон границы и основного текстового поля, соответственно с именами border и text. Каждому узлу border присваивается один из классов стиля .left, .right, .top или .bottom.
Узел, представляющий выделение, будет отображаться под узлом text.
Если открыто контекстное меню, узел окна будет отображаться как под узел основного узла.
Функции
gtk_text_view_new ()
GtkWidget *
gtk_text_view_new (void); Создаёт новый GtkTextView. Если вы не вызовете gtk_text_view_set_buffer() перед использованием текстового представления, для вас будет создан пустой буфер по умолчанию. Получить буфер можно с помощью gtk_text_view_get_buffer(). Если вы хотите указать свой собственный буфер, используйте gtk_text_view_new_with_buffer().
Возвращает
новый GtkTextView
gtk_text_view_new_with_buffer ()
GtkWidget *
gtk_text_view_new_with_buffer (GtkTextBuffer *buffer); Создаёт новый виджет GtkTextView, отображающий буфер buffer . Один буфер может быть совместно использован несколькими виджетами. buffer может быть NULL для создания буфера по умолчанию, в этом случае эта функция эквивалентна gtk_text_view_new(). Текстовое представление добавляет свою собственную ссылку на буфер; оно не захватывает существующую ссылку.
Параметры
buffer |
Возвращает
новый 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 |
Since: 2.22
gtk_text_view_get_vadjustment ()
GtkAdjustment *
gtk_text_view_get_vadjustment (GtkTextView *text_view); gtk_text_view_get_vadjustment устарел начиная с версии 3.0 и не должен использоваться в новом коде.
Используйте gtk_scrollable_get_vadjustment()
Возвращает вертикальную настройка прокрутки GtkAdjustment.
Параметры
text_view |
Since: 2.22
gtk_text_view_scroll_to_mark ()
void gtk_text_view_scroll_to_mark (GtkTextView *text_view,GtkTextMark *mark,gdouble within_margin,gboolean use_align,gdouble xalign,gdouble yalign);
Прокручивает text_view так, чтобы mark находилось на экране в позиции, указанной xalign и yalign . Значение выравнивания 0,0 соответствует левому или верхнему краю, 1,0 — правому или нижнему, 0,5 — центру. Если use_align равно FALSE, текст прокручивается минимально, чтобы метка оказалась на экране, возможно, вообще не прокручиваясь. Эффективный экран для этой функции уменьшается на величину within_margin .
Параметры
text_view | ||
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 если позиция находится над текстом
С: 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, за исключением | |
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, кроме | |
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” виджета текстовой области).
Параметры
text_view |
Since: 3.20
gtk_text_view_set_overwrite ()
void gtk_text_view_set_overwrite (GtkTextView *text_view,gboolean overwrite);
Изменяет режим переписывания для GtkTextView.
Параметры
text_view | ||
overwrite |
|
Since: 2.4
gtk_text_view_get_overwrite ()
gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view); Возвращает, находится ли GtkTextView в режиме переписывания или нет.
Параметры
text_view |
Возвращает
находится ли text_view в режиме переписывания или нет.
Since: 2.4
gtk_text_view_set_pixels_above_lines ()
void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,gint pixels_above_lines);
Устанавливает количество пикселей по умолчанию над абзацами в text_view. Теги в буфере для text_view могут переопределить значения по умолчанию.
Параметры
text_view | ||
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 |
Возвращаемое значение
стандартное количество пикселей над абзацами
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().
Интервал между строками — это сумма значения, возвращённого этой функцией, и значения, возвращённого gtk_text_view_get_pixels_above_lines().
Параметры
text_view |
Возвращаемое значение
стандартное количество пикселей пустого места под абзацами
gtk_text_view_set_pixels_inside_wrap ()
void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view,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 | нижняя граница в пикселях |
Since: 3.18
gtk_text_view_get_bottom_margin ()
gint
gtk_text_view_get_bottom_margin (GtkTextView *text_view); Получает нижнюю границу для текста в text_view.
Параметры
text_view |
Возвращает
нижняя граница в пикселях
Since: 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, фокус клавиатуры переносится на следующий виджет в цепочке фокуса.
Параметры
text_view | ||
accepts_tab |
|
Since: 2.4
gtk_text_view_get_accepts_tab ()
gboolean
gtk_text_view_get_accepts_tab (GtkTextView *text_view); Возвращает, вставляется ли символ табуляции при нажатии клавиши Tab. gtk_text_view_set_accepts_tab().
Параметры
text_view |
Возвращает
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 | назначение |
С: 3.6
gtk_text_view_get_input_purpose ()
GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view); Получает значение свойства “input-purpose”.
Параметры
text_view |
С: 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
Типы и значения
struct GtkTextView
struct GtkTextView;
struct GtkTextViewClass
struct GtkTextViewClass {
GtkContainerClass parent_class;
void (* populate_popup) (GtkTextView *text_view,
GtkWidget *popup);
void (* move_cursor) (GtkTextView *text_view,
GtkMovementStep step,
gint count,
gboolean extend_selection);
void (* set_anchor) (GtkTextView *text_view);
void (* insert_at_cursor) (GtkTextView *text_view,
const gchar *str);
void (* delete_from_cursor) (GtkTextView *text_view,
GtkDeleteType type,
gint count);
void (* backspace) (GtkTextView *text_view);
void (* cut_clipboard) (GtkTextView *text_view);
void (* copy_clipboard) (GtkTextView *text_view);
void (* paste_clipboard) (GtkTextView *text_view);
void (* toggle_overwrite) (GtkTextView *text_view);
GtkTextBuffer * (* create_buffer) (GtkTextView *text_view);
void (* draw_layer) (GtkTextView *text_view,
GtkTextViewLayer layer,
cairo_t *cr);
gboolean (* extend_selection) (GtkTextView *text_view,
GtkTextExtendSelection granularity,
const GtkTextIter *location,
GtkTextIter *start,
GtkTextIter *end);
void (* insert_emoji) (GtkTextView *text_view);
};
Члены
| Обработчик класса для сигнала “populate-popup”. | |
| Обработчик класса для сигнала привязки клавиш “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 | |
|
enum 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 |
enum GtkTextWindowType
Используется для ссылки на части GtkTextView.
Члены
GTK_TEXT_WINDOW_PRIVATE | Недопустимое значение, используется в качестве маркера | |
GTK_TEXT_WINDOW_WIDGET | Окно, плавающее над областями прокрутки. | |
GTK_TEXT_WINDOW_TEXT | Прокручиваемое текстовое окно. | |
GTK_TEXT_WINDOW_LEFT | Окно левой границы. | |
GTK_TEXT_WINDOW_RIGHT | Окно правой границы. | |
GTK_TEXT_WINDOW_TOP | Окно верхней границы. | |
GTK_TEXT_WINDOW_BOTTOM | Окно нижней границы. |
enum GtkTextExtendSelection
Типы гранулярности, которые расширяют текстовый выбор. Используйте сигнал “extend-selection” для настройки выбора.
Члены
GTK_TEXT_EXTEND_SELECTION_WORD | Выделяет текущее слово. Например, он срабатывает при двойном щелчке. | |
GTK_TEXT_EXTEND_SELECTION_LINE | Выделяет текущую строку. Например, он срабатывает при тройном щелчке. |
С: 3.16
Перечисление GtkWrapMode
Описание типа обрезки строк.
Члены
GTK_WRAP_NONE | не обрезать строки; просто расширить область текста | |
GTK_WRAP-CHAR | обрезка текста, разбиение строк в любом месте, где может находиться курсор (обычно между символами — если хотите быть точным, между графемами, см. | |
GTK_WRAP_WORD | обрезка текста, разбиение строк между словами | |
GTK_WRAP_WORD_CHAR | обрезка текста, разбиение строк между словами, или, если этого недостаточно, также между графемами |
Структура GtkTextChildAnchor
struct GtkTextChildAnchor;
GtkTextChildAnchor — это точка в буфере, где могут быть «привязаны» дочерние виджеты (вставлены в строку, как если бы они были символами). К якорю можно привязать несколько виджетов, чтобы обеспечить несколько представлений.
GTK_TEXT_VIEW_PRIORITY_VALIDATE
#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)
Приоритет, с которым виджет текста валидирует строки на экране в фоновой задаче в режиме ожидания.
Подробное описание свойств
Свойство “accepts-tab”
“accepts-tab” gboolean
Определяет, приведет ли ввод клавиши Tab к вводу символа табуляции.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “bottom-margin”
“bottom-margin” int
Нижняя отступ для текста в виджете GtkTextView.
Обратите внимание, что это свойство имеет неудачное название. С точки зрения CSS, устанавливаемое значение — отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство со свойством “margin-bottom”.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 3.18
Свойство “buffer”
“buffer” GtkTextBuffer *
Буфер, который отображается.
Владелец: GtkTextView
Флаги: Чтение / Запись
Свойство “cursor-visible”
“cursor-visible” gboolean
Определяет, отображается ли курсор вставки.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “editable”
“editable” gboolean
Определяет, может ли пользователь изменять текст.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “im-module”
“im-module” char *
Модуль IM (метода ввода), который следует использовать для этого виджета GtkTextView. См. GtkIMContext.
Установка значения, отличного от NULL, переопределяет системное значение модуля IM. См. свойство GtkSettings “gtk-im-module”.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 2.16
Свойство “indent”
“indent” int
Значение отступа абзаца в пикселях.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “input-hints”
“input-hints” GtkInputHints
Дополнительные подсказки (помимо “input-purpose”), которые позволяют методам ввода уточнять поведение.
Владелец: GtkTextView
Флаги: Чтение / Запись
С версии: 3.6
Свойство “input-purpose”
“input-purpose” GtkInputPurpose
Назначение этого поля ввода текста.
Это свойство может использоваться экранными клавиатурами и другими методами ввода для настройки их поведения.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: GTK_INPUT_PURPOSE_FREE_FORM
С версии: 3.6
Свойство “justification”
“justification” GtkJustification
Выравнивание по левому, правому или центру.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: GTK_JUSTIFY_LEFT
Свойство “left-margin”
“left-margin” int
Стандартный левый отступ для текста в виджете GtkTextView. Теги в буфере могут переопределять значение по умолчанию.
Обратите внимание, что это свойство имеет неудачное название. С точки зрения CSS, устанавливаемое значение — отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство со свойством “margin-left”.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “monospace”
“monospace” gboolean
Использовать ли моноширинный шрифт.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “overwrite”
“overwrite” gboolean
Записывать ли вводимый текст поверх существующего.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “pixels-above-lines”
“pixels-above-lines” int
Количество пикселей пустого места над абзацами.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “pixels-below-lines”
“pixels-below-lines” int
Количество пикселей пустого места под абзацами.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “pixels-inside-wrap”
“pixels-inside-wrap” int
Количество пикселей пустого места между обёрнутыми строками в абзаце.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “populate-all”
“populate-all” gboolean
Если :populate-all равно TRUE, сигнал “populate-popup” также генерируется для всплывающих окон касания.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.8
Свойство “right-margin”
“right-margin” int
Стандартный правый отступ для текста в виджете GtkTextView. Теги в буфере могут переопределять значение по умолчанию.
Обратите внимание, что это свойство имеет неудачное название. С точки зрения CSS, устанавливаемое значение — отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство со свойством “margin-right”.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “tabs”
“tabs” PangoTabArray *
Пользовательские отступы для данного текста.
Владелец: GtkTextView
Флаги: Чтение / Запись
Свойство “top-margin”
“top-margin” int
Верхний отступ для текста в виджете GtkTextView.
Обратите внимание, что это свойство имеет неудачное название. С точки зрения CSS, устанавливаемое значение — отступ, который применяется дополнительно к отступу из темы.
Не путайте это свойство со свойством “margin-top”.
Владелец: GtkTextView
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 3.18
Свойство “wrap-mode”
“wrap-mode” GtkWrapMode
Режим обрезки строк: никогда, по границам слов или по границам символов.
Владелец: GtkTextView
Флаги: Чтение / Запись
Значение по умолчанию: GTK_WRAP_NONE
Подробное описание свойств стиля
Свойство стиля “error-underline-color”
“error-underline-color” GdkColor *
Цвет подчёркивания ошибки.
Владелец: GtkTextView
Флаги: Чтение
Подробности сигналов
Сигнал “backspace”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::backspace — это сигнал для привязки клавиш, который генерируется при запросе пользователя.
По умолчанию для этого сигнала назначены клавиши Backspace и Shift-Backspace.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
Сигнал “copy-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::copy-clipboard — это сигнал для привязки клавиш, который генерируется для копирования выделенного текста в буфер обмена.
По умолчанию для этого сигнала назначены клавиши Ctrl-c и Ctrl-Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
Сигнал “cut-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::cut-clipboard — это сигнал для привязки клавиш, который генерируется для вырезания выделенного текста в буфер обмена.
По умолчанию для этого сигнала назначены клавиши Ctrl-x и Shift-Delete.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
Сигнал “delete-from-cursor”
void user_function (GtkTextView *text_view, GtkDeleteType type, int count, gpointer user_data)
Сигнал ::delete-from-cursor — это сигнал для привязки клавиш, который генерируется при удалении текста пользователем.
Если type равен GTK_DELETE_CHARS, GTK+ удаляет выделение, если оно есть, иначе удаляет указанное количество символов.
По умолчанию для этого сигнала назначены клавиши Delete (удаление символа), Ctrl-Delete (удаление слова) и Ctrl-Backspace (удаление слова назад).
Параметры
text_view | объект, получивший сигнал | |
type | уровень детализации удаления, как GtkDeleteType | |
count | количество | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
Сигнал “extend-selection”
gboolean user_function (GtkTextView *text_view, GtkTextExtendSelection granularity, GtkTextIter *location, GtkTextIter *start, GtkTextIter *end, gpointer user_data)
Сигнал ::extend-selection генерируется, когда выделение нужно расширить в location.
Параметры
text_view | объект, получивший сигнал | |
granularity | тип детализации | |
location | позиция для расширения выделения | |
start | начало выделения | |
end | конец выделения | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Возвращаемые значения
GDK_EVENT_STOP для остановки вызова других обработчиков для события. GDK_EVENT_PROPAGATE для распространения события дальше.
Флаги: Выполнить последним
С версии: 3.16
Сигнал “insert-at-cursor”
void user_function (GtkTextView *text_view, char *string, gpointer user_data)
Сигнал ::insert-at-cursor — это сигнал для привязки клавиш, который генерируется при вставке фиксированной строки в курсор.
Для этого сигнала нет привязок по умолчанию.
Параметры
text_view | объект, получивший сигнал | |
string | строка для вставки | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
Сигнал “insert-emoji”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::insert-emoji — это сигнал для привязки клавиш, который генерируется для отображения выбора эмодзи для text_view.
По умолчанию для этого сигнала назначены клавиши Ctrl-. и Ctrl-;
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
С версии: 3.22.27
Сигнал “move-cursor”
void user_function (GtkTextView *text_view, GtkMovementStep step, int count, gboolean extend_selection, gpointer user_data)
Сигнал ::move-cursor — это сигнал для привязки клавиш, который генерируется при перемещении курсора пользователем. Если курсор невидим в text_view, этот сигнал вызывает перемещение области просмотра.
Приложения не должны подключаться к нему, но могут генерировать его с g_signal_emit_by_name() , если им нужно программно управлять курсором.
По умолчанию для этого сигнала назначены две комбинации клавиш: с модификатором Shift — для расширения выделения, без него — без расширения выделения. Полный список комбинаций слишком большой для этого раздела.
Стрелки перемещают на отдельные символы/строки
Комбинации Ctrl-стрелка перемещают на слова/абзацы
Клавиши Home/End перемещают к концу буфера
Клавиши PageUp/PageDown перемещают вертикально на страницы
Клавиши Ctrl-PageUp/PageDown перемещают горизонтально на страницы
Параметры
text_view | объект, получивший сигнал | |
step | уровень детализации перемещения, как GtkMovementStep | |
count | количество | |
extend_selection |
| |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Действие
Сигнал “move-viewport”
void user_function (GtkTextView *text_view, GtkScrollStep step, int count, gpointer user_data)
Сигнал ::move-viewport — это сигнал привязки клавиш, который можно привязать к комбинациям клавиш для перемещения области просмотра, т.е. изменения части текста, видимой в содержащем прокручиваемом окне.
По умолчанию для этого сигнала нет привязок.
Параметры
text_view | объект, получивший сигнал | |
step | размер шага перемещения, как GtkScrollStep | |
count | количество единиц перемещения | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “paste-clipboard”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::paste-clipboard — это сигнал привязки клавиш, который генерируется для вставки содержимого буфера обмена в область просмотра текста.
По умолчанию для этого сигнала заданы привязки Ctrl-v и Shift-Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “populate-popup”
void user_function (GtkTextView *text_view, GtkWidget *popup, gpointer user_data)
Сигнал ::populate-popup генерируется перед отображением контекстного меню области просмотра текста.
Если вам нужно добавить элементы в контекстное меню, подключитесь к этому сигналу и добавьте свои элементы в popup, который в этом случае будет GtkMenu.
Если свойство «populate-all» равно TRUE, этот сигнал также будет сгенерирован для заполнения всплывающих меню сенсорного экрана. В этом случае popup будет другим контейнером, например, GtkToolbar.
Обработчик сигнала не должен делать предположений о типе widget, а должен проверить, является ли popup GtkMenu, GtkToolbar или другим типом контейнера.
Параметры
text_view | Область просмотра текста, на которой генерируется сигнал | |
popup | контейнер, который заполняется | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнение последним
Сигнал “preedit-changed”
void user_function (GtkTextView *text_view, char *preedit, gpointer user_data)
Если используется метод ввода, набранный текст не будет немедленно сохранён в буфер. Поэтому, если вам необходим этот текст, подключитесь к этому сигналу.
Этот сигнал генерируется только в том случае, если текст в заданной позиции является редактируемым.
Параметры
text_view | объект, получивший сигнал | |
preedit | текущая строка предварительного редактирования | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 2.20
Сигнал “select-all”
void user_function (GtkTextView *text_view, gboolean select, gpointer user_data)
Сигнал ::select-all — это сигнал привязки клавиш, который генерируется для выбора или отмены выбора всего содержимого области просмотра текста.
По умолчанию для этого сигнала заданы привязки Ctrl-a и Ctrl-/ для выбора и Shift-Ctrl-a и Ctrl-\ для отмены выбора.
Параметры
text_view | объект, получивший сигнал | |
select |
| |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “set-anchor”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::set-anchor — это сигнал привязки клавиш, который генерируется, когда пользователь начинает устанавливать метку "якорь". Метка "якорь" устанавливается в той же позиции, что и метка "вставка".
Для этого сигнала нет привязок по умолчанию.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “toggle-cursor-visible”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::toggle-cursor-visible — это сигнал привязки клавиш, который генерируется для переключения свойства «cursor-visible».
По умолчанию для этого сигнала задана привязка F7.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “toggle-overwrite”
void user_function (GtkTextView *text_view, gpointer user_data)
Сигнал ::toggle-overwrite — это сигнал привязки клавиш, который генерируется для переключения режима вставки в области просмотра текста.
По умолчанию для этого сигнала задана привязка Insert.
Параметры
text_view | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkTextView.html