Spec-Zone.ru › GTK 3.20

GtkTextView

GtkTextView — Виджет, отображающий GtkTextBuffer

Функции

GtkWidget * gtk_text_view_new ()
GtkWidget * gtk_text_view_new_with_buffer ()
void gtk_text_view_set_buffer ()
GtkTextBuffer * gtk_text_view_get_buffer ()
GtkAdjustment * gtk_text_view_get_hadjustment ()
GtkAdjustment * gtk_text_view_get_vadjustment ()
void gtk_text_view_scroll_to_mark ()
gboolean gtk_text_view_scroll_to_iter ()
void gtk_text_view_scroll_mark_onscreen ()
gboolean gtk_text_view_move_mark_onscreen ()
gboolean gtk_text_view_place_cursor_onscreen ()
void gtk_text_view_get_visible_rect ()
void gtk_text_view_get_iter_location ()
void gtk_text_view_get_cursor_locations ()
void gtk_text_view_get_line_at_y ()
void gtk_text_view_get_line_yrange ()
gboolean gtk_text_view_get_iter_at_location ()
gboolean gtk_text_view_get_iter_at_position ()
void gtk_text_view_buffer_to_window_coords ()
void gtk_text_view_window_to_buffer_coords ()
GdkWindow * gtk_text_view_get_window ()
GtkTextWindowType gtk_text_view_get_window_type ()
void gtk_text_view_set_border_window_size ()
gint gtk_text_view_get_border_window_size ()
gboolean gtk_text_view_forward_display_line ()
gboolean gtk_text_view_backward_display_line ()
gboolean gtk_text_view_forward_display_line_end ()
gboolean gtk_text_view_backward_display_line_start ()
gboolean gtk_text_view_starts_display_line ()
gboolean gtk_text_view_move_visually ()
void gtk_text_view_add_child_at_anchor ()
GtkTextChildAnchor * gtk_text_child_anchor_new ()
GList * gtk_text_child_anchor_get_widgets ()
gboolean gtk_text_child_anchor_get_deleted ()
void gtk_text_view_add_child_in_window ()
void gtk_text_view_move_child ()
void gtk_text_view_set_wrap_mode ()
GtkWrapMode gtk_text_view_get_wrap_mode ()
void gtk_text_view_set_editable ()
gboolean gtk_text_view_get_editable ()
void gtk_text_view_set_cursor_visible ()
gboolean gtk_text_view_get_cursor_visible ()
void gtk_text_view_reset_cursor_blink ()
void gtk_text_view_set_overwrite ()
gboolean gtk_text_view_get_overwrite ()
void gtk_text_view_set_pixels_above_lines ()
gint gtk_text_view_get_pixels_above_lines ()
void gtk_text_view_set_pixels_below_lines ()
gint gtk_text_view_get_pixels_below_lines ()
void gtk_text_view_set_pixels_inside_wrap ()
gint gtk_text_view_get_pixels_inside_wrap ()
void gtk_text_view_set_justification ()
GtkJustification gtk_text_view_get_justification ()
void gtk_text_view_set_left_margin ()
gint gtk_text_view_get_left_margin ()
void gtk_text_view_set_right_margin ()
gint gtk_text_view_get_right_margin ()
void gtk_text_view_set_top_margin ()
gint gtk_text_view_get_top_margin ()
void gtk_text_view_set_bottom_margin ()
gint gtk_text_view_get_bottom_margin ()
void gtk_text_view_set_indent ()
gint gtk_text_view_get_indent ()
void gtk_text_view_set_tabs ()
PangoTabArray * gtk_text_view_get_tabs ()
void gtk_text_view_set_accepts_tab ()
gboolean gtk_text_view_get_accepts_tab ()
GtkTextAttributes * gtk_text_view_get_default_attributes ()
gboolean gtk_text_view_im_context_filter_keypress ()
void gtk_text_view_reset_im_context ()
void gtk_text_view_set_input_purpose ()
GtkInputPurpose gtk_text_view_get_input_purpose ()
void gtk_text_view_set_input_hints ()
GtkInputHints gtk_text_view_get_input_hints ()
void gtk_text_view_set_monospace ()
gboolean gtk_text_view_get_monospace ()

Свойства

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

a GtkTextBuffer

Возвращает

новый GtkTextView.

gtk_text_view_set_buffer ()

void
gtk_text_view_set_buffer (GtkTextView *text_view,
                          GtkTextBuffer *buffer);

Устанавливает buffer в качестве буфера, отображаемого text_view . Предыдущий буфер, отображаемый текстовым полем, освобождается, и добавляется ссылка на buffer . Если вы владели ссылкой на buffer перед передачей её в эту функцию, вы должны удалить эту ссылку самостоятельно; GtkTextView её не «примет».

Параметры

text_view

a GtkTextView

buffer

a GtkTextBuffer.

[allow-none]

gtk_text_view_get_buffer ()

GtkTextBuffer *
gtk_text_view_get_buffer (GtkTextView *text_view);

Возвращает GtkTextBuffer, отображаемый этим текстовым полем. Счётчик ссылок на буфер не увеличивается; вызов функции не даёт новой ссылки.

Параметры

text_view

a GtkTextView

Возвращает

a GtkTextBuffer.

[transfer none]

gtk_text_view_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

a GtkTextView

Возвращает

указатель на горизонтальную GtkAdjustment.

[transfer none]

С: 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

a GtkTextView

Возвращает

указатель на вертикальную GtkAdjustment.

[transfer none]

С: 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

a GtkTextView

mark

a GtkTextMark

within_margin

отступ в долях размера экрана (от 0.0 до 0.5)

use_align

использовать ли параметры выравнивания (если FALSE, только вывод метки на экран)

xalign

горизонтальное выравнивание метки в пределах видимой области

yalign

вертикальное выравнивание метки в пределах видимой области

gtk_text_view_scroll_to_iter ()

gboolean
gtk_text_view_scroll_to_iter (GtkTextView *text_view,
                              GtkTextIter *iter,
                              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

a GtkTextView

iter

a GtkTextIter

within_margin

отступ в виде дроби [0.0, 0.5) от размера экрана

use_align

использовать ли параметры выравнивания (если FALSE, то просто поместить метку на экран)

xalign

горизонтальное выравнивание метки в видимой области

yalign

вертикальное выравнивание метки в видимой области

Возвращает

TRUE если прокрутка произошла

gtk_text_view_scroll_mark_onscreen ()

void
gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view,
                                    GtkTextMark *mark);

Прокручивает text_view на минимальное расстояние, чтобы mark находилась в пределах видимой области виджета.

Параметры

text_view

a GtkTextView

mark

метка в буфере для text_view

gtk_text_view_move_mark_onscreen ()

gboolean
gtk_text_view_move_mark_onscreen (GtkTextView *text_view,
                                  GtkTextMark *mark);

Перемещает метку в буфере так, чтобы она находилась в пределах текущей видимой области текста.

Параметры

text_view

a GtkTextView

mark

a GtkTextMark

Возвращает

TRUE если метка была перемещена (не была уже на экране)

gtk_text_view_place_cursor_onscreen ()

gboolean
gtk_text_view_place_cursor_onscreen (GtkTextView *text_view);

Перемещает курсор в текущую видимую область буфера, если он там еще не находится.

Параметры

text_view

a GtkTextView

Возвращает

TRUE если курсор пришлось переместить.

gtk_text_view_get_visible_rect ()

void
gtk_text_view_get_visible_rect (GtkTextView *text_view,
                                GdkRectangle *visible_rect);

Заполняет visible_rect текущей видимой областью буфера в координатах буфера. Преобразуйте в координаты окна с помощью gtk_text_view_buffer_to_window_coords().

Параметры

text_view

a GtkTextView

visible_rect

прямоугольник для заполнения.

[out]

gtk_text_view_get_iter_location ()

void
gtk_text_view_get_iter_location (GtkTextView *text_view,
                                 const GtkTextIter *iter,
                                 GdkRectangle *location);

Получает прямоугольник, приблизительно содержащий символ в позиции iter . Позиция прямоугольника указана в координатах буфера; используйте gtk_text_view_buffer_to_window_coords() для преобразования этих координат в координаты одного из окон в текстовом представлении.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

location

границы символа в позиции iter .

[out]

gtk_text_view_get_cursor_locations ()

void
gtk_text_view_get_cursor_locations (GtkTextView *text_view,
                                    const GtkTextIter *iter,
                                    GdkRectangle *strong,
                                    GdkRectangle *weak);

Учитывая iter в макете текста, определить позиции сильных и слабых курсоров, если точка вставки находится в этом итераторе. Позиция каждого курсора хранится как прямоугольник нулевой ширины. Позиция сильного курсора — это место, где вставляются символы с направленностью, равной основному направлению абзаца. Позиция слабого курсора — это место, где вставляются символы с направленностью, противоположной основному направлению абзаца.

Если iter равно NULL, используется фактическое положение курсора.

Обратите внимание, что если iter оказывается фактической позицией курсора и в настоящее время вводится последовательность предварительного редактирования IM, возвращенные позиции будут скорректированы с учетом смещения курсора предварительного редактирования внутри последовательности предварительного редактирования.

Позиция прямоугольника указана в координатах буфера; используйте gtk_text_view_buffer_to_window_coords() для преобразования этих координат в координаты одного из окон в текстовом представлении.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter.

[allow-none]

strong

место для хранения позиции сильного курсора (может быть NULL).

[out][allow-none]

weak

место для хранения позиции слабого курсора (может быть NULL).

[out][allow-none]

С: 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

a GtkTextView

target_iter

a GtkTextIter.

[out]

y

координата y

line_top

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

[out]

gtk_text_view_get_line_yrange ()

void
gtk_text_view_get_line_yrange (GtkTextView *text_view,
                               const GtkTextIter *iter,
                               gint *y,
                               gint *height);

Получает координату y верхней границы строки, содержащей iter, и высоту строки. Координата указана в координатах буфера; преобразуйте в координаты окна с помощью gtk_text_view_buffer_to_window_coords().

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

y

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

[out]

height

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

[out]

gtk_text_view_get_iter_at_location ()

gboolean
gtk_text_view_get_iter_at_location (GtkTextView *text_view,
                                    GtkTextIter *iter,
                                    gint x,
                                    gint y);

Извлекает итератор по координатам буфера x и y. Координаты буфера — это координаты всего буфера, а не только отображаемой в данный момент части. Если у вас есть координаты из события, вам нужно преобразовать их в координаты буфера с помощью gtk_text_view_window_to_buffer_coords().

Параметры

text_view

a GtkTextView

iter

a GtkTextIter.

[out]

x

координата x, в координатах буфера

y

координата y, в координатах буфера

Возвращает

TRUE, если позиция находится над текстом

gtk_text_view_get_iter_at_position ()

gboolean
gtk_text_view_get_iter_at_position (GtkTextView *text_view,
                                    GtkTextIter *iter,
                                    gint *trailing,
                                    gint x,
                                    gint y);

Возвращает итератор, указывающий на символ в координатах буфера x и y. Координаты буфера — это координаты всего буфера, а не только отображаемой части. Если у вас есть координаты из события, вам нужно преобразовать их в координаты буфера с помощью gtk_text_view_window_to_buffer_coords().

Обратите внимание, что это отличается от gtk_text_view_get_iter_at_location(), которая возвращает местоположения курсора, т. е. позиции между символами.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter.

[out]

trailing

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

[out][allow-none]

x

координата x в координатах буфера

y

координата y в координатах буфера

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

TRUE, если позиция находится над текстом

С: 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

a GtkTextView

win

a GtkTextWindowType за исключением GTK_TEXT_WINDOW_PRIVATE

buffer_x

координата x буфера

buffer_y

координата y буфера

window_x

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

[out][allow-none]

window_y

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

[out][allow-none]

gtk_text_view_window_to_buffer_coords ()

void
gtk_text_view_window_to_buffer_coords (GtkTextView *text_view,
                                       GtkTextWindowType win,
                                       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

a GtkTextView

win

a GtkTextWindowType за исключением GTK_TEXT_WINDOW_PRIVATE

window_x

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

window_y

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

buffer_x

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

[out][allow-none]

buffer_y

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

[out][allow-none]

gtk_text_view_get_window ()

GdkWindow *
gtk_text_view_get_window (GtkTextView *text_view,
                          GtkTextWindowType win);

Возвращает GdkWindow, соответствующий области текстового представления; возможные окна включают общее окно виджета, дочерние окна слева, справа, сверху, снизу и окно, отображающее буфер текста. Окна NULL и не существуют, если их ширина или высота равна 0, и не существуют до того, как виджет будет реализован.

Параметры

text_view

a GtkTextView

win

искомое окно

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

GdkWindow, или NULL.

[nullable][transfer none]

gtk_text_view_get_window_type ()

GtkTextWindowType
gtk_text_view_get_window_type (GtkTextView *text_view,
                               GdkWindow *window);

Обычно используется для определения, к какому окну относится событие. Если вы подключаетесь к сигналу события на text_view, эта функция должна вызываться на event->window для определения, к какому окну оно относится.

Параметры

text_view

a GtkTextView

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

a GtkTextView

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

a GtkTextView

type

окно, из которого нужно вернуть размер

Возвращает

ширина окна

gtk_text_view_forward_display_line ()

gboolean
gtk_text_view_forward_display_line (GtkTextView *text_view,
                                    GtkTextIter *iter);

Перемещает заданный iter вперед на одну строку отображения (с переносом). Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путем переноса абзаца. Если перенос отключен, строки отображения и абзацы будут одинаковыми. Строки отображения делятся по-разному для каждого представления, поскольку они зависят от ширины представления; абзацы одинаковы во всех представлениях, поскольку они зависят от содержимого GtkTextBuffer.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

TRUE если iter был перемещен и не находится на конечном итераторе

gtk_text_view_backward_display_line ()

gboolean
gtk_text_view_backward_display_line (GtkTextView *text_view,
                                     GtkTextIter *iter);

Перемещает заданный iter назад на одну строку отображения (с переносом). Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путем переноса абзаца. Если перенос отключен, строки отображения и абзацы будут одинаковыми. Строки отображения делятся по-разному для каждого представления, поскольку они зависят от ширины представления; абзацы одинаковы во всех представлениях, поскольку они зависят от содержимого GtkTextBuffer.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

TRUE если iter был перемещен и не находится на конечном итераторе

gtk_text_view_forward_display_line_end ()

gboolean
gtk_text_view_forward_display_line_end
                               (GtkTextView *text_view,
                                GtkTextIter *iter);

Перемещает заданный iter вперед до конца следующей строки отображения. Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путем переноса абзаца. Если перенос отключен, строки отображения и абзацы будут одинаковыми. Строки отображения делятся по-разному для каждого представления, поскольку они зависят от ширины представления; абзацы одинаковы во всех представлениях, поскольку они зависят от содержимого GtkTextBuffer.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

TRUE если iter был перемещен и не находится на конечном итераторе

gtk_text_view_backward_display_line_start ()

gboolean
gtk_text_view_backward_display_line_start
                               (GtkTextView *text_view,
                                GtkTextIter *iter);

Перемещает заданный iter назад до начала следующей строки отображения. Строка отображения отличается от абзаца. Абзацы разделяются символами новой строки или другими разделителями абзацев. Строки отображения создаются путем переноса абзаца. Если перенос отключен, строки отображения и абзацы будут одинаковыми. Строки отображения делятся по-разному для каждого представления, поскольку они зависят от ширины представления; абзацы одинаковы во всех представлениях, поскольку они зависят от содержимого GtkTextBuffer.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

TRUE если iter был перемещен и не находится на конечном итераторе

gtk_text_view_starts_display_line ()

gboolean
gtk_text_view_starts_display_line (GtkTextView *text_view,
                                   const GtkTextIter *iter);

Определяет, находится ли iter в начале строки отображения. См. gtk_text_view_forward_display_line() для объяснения строк отображения по сравнению с абзацами.

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

Возвращает

TRUE если iter начинает переносимую строку

gtk_text_view_move_visually ()

gboolean
gtk_text_view_move_visually (GtkTextView *text_view,
                             GtkTextIter *iter,
                             gint count);

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

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

Параметры

text_view

a GtkTextView

iter

a GtkTextIter

count

количество символов для перемещения (отрицательное значение - влево, положительное - вправо)

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

TRUE, если iter был перемещен и не находится на конечной итерации

gtk_text_view_add_child_at_anchor ()

void
gtk_text_view_add_child_at_anchor (GtkTextView *text_view,
                                   GtkWidget *child,
                                   GtkTextChildAnchor *anchor);

Добавляет дочерний виджет в буфер текста в заданном anchor.

Параметры

text_view

a GtkTextView

child

a GtkWidget

anchor

a GtkTextChildAnchor в GtkTextBuffer для text_view

gtk_text_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

a GtkTextChildAnchor

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

список виджетов, привязанных к 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

a GtkTextChildAnchor

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

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

a GtkTextView

child

a GtkWidget

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

a GtkTextView

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

a GtkTextView

wrap_mode

a GtkWrapMode

gtk_text_view_get_wrap_mode ()

GtkWrapMode
gtk_text_view_get_wrap_mode (GtkTextView *text_view);

Получает режим перевода строк для просмотра.

Параметры

text_view

a GtkTextView

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

настройка перевода строк

gtk_text_view_set_editable ()

void
gtk_text_view_set_editable (GtkTextView *text_view,
                            gboolean setting);

Устанавливает значение по умолчанию для редактируемости GtkTextView. Вы можете переопределить это значение с помощью тегов в буфере, используя атрибут «editable» тегов.

Параметры

text_view

a GtkTextView

setting

можно ли редактировать

gtk_text_view_get_editable ()

gboolean
gtk_text_view_get_editable (GtkTextView *text_view);

Возвращает значение по умолчанию для редактируемости GtkTextView. Теги в буфере могут переопределить это значение для некоторых диапазонов текста.

Параметры

text_view

a GtkTextView

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

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

gtk_text_view_set_cursor_visible ()

void
gtk_text_view_set_cursor_visible (GtkTextView *text_view,
                                  gboolean setting);

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

Обратите внимание, что этот параметр может быть переопределён настройками “gtk-keynave-use-caret”.

Параметры

text_view

a GtkTextView

setting

отображать ли курсор вставки

gtk_text_view_get_cursor_visible ()

gboolean
gtk_text_view_get_cursor_visible (GtkTextView *text_view);

Определяет, должен ли отображаться курсор.

Параметры

text_view

a GtkTextView

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

видимость маркера вставки

gtk_text_view_reset_cursor_blink ()

void
gtk_text_view_reset_cursor_blink (GtkTextView *text_view);

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

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

Параметры

text_view

a GtkTextView

С момента: 3.20

gtk_text_view_set_overwrite ()

void
gtk_text_view_set_overwrite (GtkTextView *text_view,
                             gboolean overwrite);

Изменяет режим перекрытия GtkTextView.

Параметры

text_view

a GtkTextView

overwrite

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

С момента: 2.4

gtk_text_view_get_overwrite ()

gboolean
gtk_text_view_get_overwrite (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

находится ли text_view в режиме перекрытия или нет.

С момента: 2.4

gtk_text-view_set-pixels-above-lines ()

void
gtk_text_view_set_pixels_above_lines (GtkTextView *text_view,
                                      gint pixels_above_lines);

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

Параметры

text_view

a GtkTextView

pixels_above_lines

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

gtk_text_view_get_pixels-above-lines ()

gint
gtk_text_view_get_pixels_above_lines (GtkTextView *text_view);

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

Параметры

text_view

a 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

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

Параметры

text_view

a 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

a 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

a GtkTextView

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

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

gtk_text_view_set_justification ()

void
gtk_text_view_set_justification (GtkTextView *text_view,
                                 GtkJustification justification);

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

Параметры

text_view

a GtkTextView

justification

выравнивание

gtk_text_view_get_justification ()

GtkJustification
gtk_text_view_get_justification (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

стандартное выравнивание

gtk_text_view_set_left_margin ()

void
gtk_text_view_set_left_margin (GtkTextView *text_view,
                               gint left_margin);

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

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

Параметры

text_view

a GtkTextView

left_margin

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

gtk_text_view_get_left_margin ()

gint
gtk_text_view_get_left_margin (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

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

gtk_text_view_set_right_margin ()

void
gtk_text_view_set_right_margin (GtkTextView *text_view,
                                gint right_margin);

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

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

Параметры

text_view

a GtkTextView

right_margin

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

gtk_text_view_get_right_margin ()

gint
gtk_text_view_get_right_margin (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

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

gtk_text_view_set_top_margin ()

void
gtk_text_view_set_top_margin (GtkTextView *text_view,
                              gint top_margin);

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

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

Параметры

text_view

a GtkTextView

top_margin

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

С: 3.18

gtk_text_view_get_top_margin ()

gint
gtk_text_view_get_top_margin (GtkTextView *text_view);

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

Параметры

text_view

a GtkTextView

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

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

С: 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

a GtkTextView

bottom_margin

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

С: 3.18

gtk_text_view_get_bottom_margin ()

gint
gtk_text_view_get_bottom_margin (GtkTextView *text_view);

Возвращает нижний отступ для текста в text_view.

Параметры

text_view

a GtkTextView

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

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

С: 3.18

gtk_text_view_set_indent ()

void
gtk_text_view_set_indent (GtkTextView *text_view,
                          gint indent);

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

Параметры

text_view

a GtkTextView

indent

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

gtk_text_view_get_indent ()

gint
gtk_text_view_get_indent (GtkTextView *text_view);

Возвращает стандартный отступ абзацев в text_view. Теги в буфере могут переопределить значение по умолчанию. Отступ может быть отрицательным.

Параметры

text_view

a GtkTextView

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

количество пикселей отступа

gtk_text_view_set_tabs ()

void
gtk_text_view_set_tabs (GtkTextView *text_view,
                        PangoTabArray *tabs);

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

Параметры

text_view

a GtkTextView

tabs

табуляции как PangoTabArray

gtk_text_view_get_tabs ()

PangoTabArray *
gtk_text_view_get_tabs (GtkTextView *text_view);

Получает стандартные отступы для text_view. Теги в буфере могут переопределить стандартные значения. Возвращаемый массив будет NULL, если используются стандартные отступы (8 пробелов). Освободите возвращаемое значение с помощью pango_tab_array_free().

Параметры

text_view

объект GtkTextView

Возвращает

копию массива стандартных отступов или NULL, если используются стандартные отступы; необходимо освободить с помощью pango_tab_array_free().

[nullable][transfer full]

gtk_text_view_set_accepts_tab ()

void
gtk_text_view_set_accepts_tab (GtkTextView *text_view,
                               gboolean accepts_tab);

Устанавливает поведение виджета текста при нажатии клавиши Tab. Если accepts_tab равно TRUE, вставляется символ табуляции. Если accepts_tab равно FALSE, фокус клавиатуры переключается на следующий виджет в цепочке фокуса.

Параметры

text_view

Объект GtkTextView

accepts_tab

TRUE, если при нажатии клавиши Tab должен быть вставлен символ табуляции, FALSE, если при нажатии клавиши Tab должен переключаться фокус клавиатуры.

С: 2.4

gtk_text_view_get_accepts_tab ()

gboolean
gtk_text_view_get_accepts_tab (GtkTextView *text_view);

Возвращает, вставляет ли нажатие клавиши Tab символы табуляции. gtk_text_view_set_accepts_tab().

Параметры

text_view

Объект GtkTextView

Возвращает

TRUE, если при нажатии клавиши Tab вставляется символ табуляции, FALSE, если при нажатии клавиши Tab переключается фокус клавиатуры.

С: 2.4

gtk_text_view_get_default_attributes ()

GtkTextAttributes *
gtk_text_view_get_default_attributes (GtkTextView *text_view);

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

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

Параметры

text_view

объект GtkTextView

Возвращает

новый объект GtkTextAttributes

gtk_text_view_im_context_filter_keypress ()

gboolean
gtk_text_view_im_context_filter_keypress
                               (GtkTextView *text_view,
                                GdkEventKey *event);

Разрешает методу ввода GtkTextView внутренне обрабатывать события нажатия и отпускания клавиш. Если эта функция возвращает TRUE, то для этого события нажатия клавиши больше не требуется дополнительная обработка. См. gtk_im_context_filter_keypress().

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

textview.view
├── border.top
├── border.left
├── text
│   ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]

Параметры

text_view

объект GtkTextView

event

событие нажатия клавиши

Возвращает

TRUE, если метод ввода обработав событие нажатия клавиши.

С: 2.22

gtk_text_view_reset_im_context ()

void
gtk_text_view_reset_im_context (GtkTextView *text_view);

Сбрасывает контекст метода ввода текстового поля, если это необходимо.

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

Параметры

text_view

объект GtkTextView

С: 2.22

gtk_text_view_set_input_purpose ()

void
gtk_text_view_set_input_purpose (GtkTextView *text_view,
                                 GtkInputPurpose purpose);

Устанавливает свойство “input-purpose”, которое может использоваться виртуальными клавиатурами и другими методами ввода для настройки их поведения.

Параметры

text_view

объект GtkTextView

purpose

назначение

С: 3.6

gtk_text_view_get_input_purpose ()

GtkInputPurpose
gtk_text_view_get_input_purpose (GtkTextView *text_view);

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

Параметры

text_view

объект GtkTextView

С: 3.6

gtk_text_view_set_input_hints ()

void
gtk_text_view_set_input_hints (GtkTextView *text_view,
                               GtkInputHints hints);

Устанавливает свойство “input-hints”, которое позволяет методам ввода уточнить свое поведение.

Параметры

text_view

объект GtkTextView

hints

подсказки

С: 3.6

gtk_text_view_get_input_hints ()

GtkInputHints
gtk_text_view_get_input_hints (GtkTextView *text_view);

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

Параметры

text_view

объект GtkTextView

С: 3.6

gtk_text_view_set_monospace ()

void
gtk_text_view_set_monospace (GtkTextView *text_view,
                             gboolean monospace);

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

Параметры

text_view

a GtkTextView

monospace

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

Since: 3.16

gtk_text_view_get_monospace ()

gboolean
gtk_text_view_get_monospace (GtkTextView *text_view);

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

Возвращаемое значение: TRUE, если желаются шрифты с фиксированной шириной

Параметры

text_view

a GtkTextView

Since: 3.16

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

struct GtkTextView

struct GtkTextView;

struct GtkTextViewClass

struct GtkTextViewClass {
  GtkContainerClass parent_class;

  /*< public */

  void (* populate_popup)        (GtkTextView      *text_view,
                                  GtkWidget        *popup);
  void (* move_cursor)           (GtkTextView      *text_view,
                                  GtkMovementStep   step,
                                  gint              count,
                                  gboolean          extend_selection);
  void (* set_anchor)            (GtkTextView      *text_view);
  void (* insert_at_cursor)      (GtkTextView      *text_view,
                                  const gchar      *str);
  void (* delete_from_cursor)    (GtkTextView      *text_view,
                                  GtkDeleteType     type,
                                  gint              count);
  void (* backspace)             (GtkTextView      *text_view);
  void (* cut_clipboard)         (GtkTextView      *text_view);
  void (* copy_clipboard)        (GtkTextView      *text_view);
  void (* paste_clipboard)       (GtkTextView      *text_view);
  void (* toggle_overwrite)      (GtkTextView      *text_view);
  GtkTextBuffer * (* create_buffer) (GtkTextView   *text_view);
  void (* draw_layer)            (GtkTextView      *text_view,
			          GtkTextViewLayer  layer,
			          cairo_t          *cr);
  gboolean (* extend_selection)  (GtkTextView            *text_view,
                                  GtkTextExtendSelection  granularity,
                                  const GtkTextIter      *location,
                                  GtkTextIter            *start,
                                  GtkTextIter            *end);
};

Члены

populate_popup ()

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

move_cursor ()

Обработчик класса для сигнала управления клавиатурной комбинацией “move-cursor”.

set_anchor ()

Обработчик класса для сигнала управления клавиатурной комбинацией “set-anchor”.

insert_at_cursor ()

Обработчик класса для сигнала управления клавиатурной комбинацией “insert-at-cursor”.

delete_from_cursor ()

Обработчик класса для сигнала управления клавиатурной комбинацией “delete-from-cursor”.

backspace ()

Обработчик класса для сигнала управления клавиатурной комбинацией “backspace”.

cut_clipboard ()

Обработчик класса для сигнала управления клавиатурной комбинацией “cut-clipboard”.

copy_clipboard ()

Обработчик класса для сигнала управления клавиатурной комбинацией “copy-clipboard”.

paste_clipboard ()

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

toggle_overwrite ()

Обработчик класса для сигнала управления клавиатурной комбинацией “toggle-overwrite”.

create_buffer ()

Функция create_buffer вызывается для создания GtkTextBuffer для текстового представления. По умолчанию вызывается gtk_text_buffer_new(). С версии 3.10

draw_layer ()

Функция draw_layer вызывается перед и после отрисовки текстового представления. Приложения могут переопределять эту функцию в подклассе, чтобы отрисовать настраиваемое содержимое под или над текстом. В GTK_TEXT_VIEW_LAYER_BELOW_TEXT и GTK_TEXT_VIEW_LAYER_ABOVE_TEXT отрисовка выполняется в координатах буфера, но более старые (устаревшие) слои GTK_TEXT_VIEW_LAYER_BELOW и GTK_TEXT_VIEW_LAYER_ABOVE работают в координатах области просмотра, что делает их необоснованно сложными в использовании. С версии 3.14

extend_selection ()

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

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

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

Члены

GTK_TEXT_VIEW_LAYER_BELOW

Старый устаревший слой, используйте GTK_TEXT_VIEW_LAYER_BELOW_TEXT вместо него

GTK_TEXT_VIEW_LAYER_ABOVE

Старый устаревший слой, используйте GTK_TEXT_VIEW_LAYER_ABOVE_TEXT вместо него

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

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

GTK_WRAP_WORD

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

GTK_WRAP_WORD_CHAR

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

Структура GtkTextChildAnchor

struct GtkTextChildAnchor;

Объект GtkTextChildAnchor — это место в буфере, где дочерние виджеты могут быть «привязаны» (вставлены как символы). Анкер может иметь несколько привязанных виджетов, чтобы разрешить несколько представлений.

GTK_TEXT_VIEW_PRIORITY_VALIDATE

#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)

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

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

Свойство “accepts-tab”

  “accepts-tab”              gboolean

Определяет, приведет ли нажатие клавиши Tab к вводу символа табуляции.

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

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

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

  “bottom-margin”            gint

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

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

Не путайте это свойство с “отступ снизу”.

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

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

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

С версии: 3.18

Свойство “buffer”

  “buffer”                   GtkTextBuffer *

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

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

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

  “cursor-visible”           gboolean

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

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

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

Свойство “editable”

  “editable”                 gboolean

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

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

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

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

  “im-module”                gchar *

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

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

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

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

С версии: 2.16

Свойство “indent”

  “indent”                   gint

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

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

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

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

  “input-hints”              GtkInputHints

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

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

С версии: 3.6

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

  “input-purpose”            GtkInputPurpose

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

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

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

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

С версии: 3.6

Свойство “justification”

  “justification”            GtkJustification

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

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

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

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

  “left-margin”              gint

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

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

Не путайте это свойство с “отступ слева”.

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

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

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

Свойство “monospace”

  “monospace”                gboolean

Использовать ли моноширинный шрифт.

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

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

Свойство “overwrite”

  “overwrite”                gboolean

Заменять ли введённый текст существующим содержимым.

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

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

Свойство “pixels-above-lines”

  “pixels-above-lines”       gint

Пиксели пустого пространства над абзацами.

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

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

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

Свойство “pixels-below-lines”

  “pixels-below-lines”       gint

Пиксели пустого пространства под абзацами.

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

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

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

Свойство “pixels-inside-wrap”

  “pixels-inside-wrap”       gint

Пиксели пустого пространства между переносимыми строками в абзаце.

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

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

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

Свойство “populate-all”

  “populate-all”             gboolean

Если :populate-all — TRUE, то сигнал “populate-popup” также генерируется для всплывающих окон касания.

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

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

С версии: 3.8

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

  “right-margin”             gint

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

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

Не путайте это свойство с “отступ справа”.

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

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

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

Свойство “tabs”

  “tabs”                     PangoTabArray *

Настраиваемые табуляции для этого текста.

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

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

  “top-margin”               gint

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

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

Не путайте это свойство с “отступ сверху”.

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

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

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

С версии: 3.18

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

  “wrap-mode”                GtkWrapMode

Переносить ли строки ни в коем случае, по границам слов или по границам символов.

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

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

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

Свойство стиля “error-underline-color”

  “error-underline-color”    GdkColor *

Цвет подчёркивания, обозначающего ошибку.

Флаги: Чтение

Подробные сведения о сигналах

Сигнал “backspace”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

Сигнал ::backspace — это сигнал управления сочетаниями клавиш, который генерируется при запросе пользователя.

По умолчанию для этого сигнала заданы сочетания клавиш Backspace и Shift-Backspace.

Параметры

text_view

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

user_data

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

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

Сигнал “copy-clipboard”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

По умолчанию для этого сигнала заданы сочетания клавиш Ctrl-c и Ctrl-Insert.

Параметры

text_view

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

user_data

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

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

Сигнал “cut-clipboard”

void
user_function (GtkTextView *text_view,
               gpointer     user_data)

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

По умолчанию для этого сигнала заданы сочетания клавиш Ctrl-x и Shift-Delete.

Параметры

text_view

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

user_data

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

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

Сигнал “delete-from-cursor”

void
user_function (GtkTextView  *text_view,
               GtkDeleteType type,
               gint          count,
               gpointer      user_data)

Сигнал ::delete-from-cursor — это сигнал управления сочетаниями клавиш, который генерируется при начале удаления текста пользователем.

Если type имеет значение GTK_DELETE_CHARS, GTK+ удаляет выделение, если оно есть, в противном случае удаляет запрошенное количество символов.

По умолчанию для этого сигнала заданы сочетания клавиш Delete (удаление символа), Ctrl-Delete (удаление слова) и Ctrl-Backspace (удаление слова назад).

Параметры

text_view

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

type

тип гранулярности удаления, как GtkDeleteType

count

количество единиц type для удаления

user_data

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

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

Сигнал “extend-selection”

gboolean
user_function (GtkTextView           *text_view,
               GtkTextExtendSelection granularity,
               GtkTextIter           *location,
               GtkTextIter           *start,
               GtkTextIter           *end,
               gpointer               user_data)

Сигнал ::extend-selection генерируется, когда выделение необходимо расширить в location.

Параметры

text_view

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

granularity

тип гранулярности

location

позиция для расширения выделения

start

начало выделения

end

конец выделения

user_data

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

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

GDK_EVENT_STOP для остановки вызова других обработчиков для события. GDK_EVENT_PROPAGATE для дальнейшей передачи события.

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

С версии: 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

количество единиц step для перемещения

extend_selection

TRUE, если перемещение должно расширить выделение

user_data

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

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

Сигнал “move-viewport”

void
user_function (GtkTextView  *text_view,
               GtkScrollStep step,
               gint          count,
               gpointer      user_data)

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

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

Параметры

text_view

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

step

размер перемещения, как GtkMovementStep

count

количество единиц step для перемещения

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-\ для отмены выбора.

Параметры

text_view

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

select

TRUE для выбора, FALSE для отмены выбора

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

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

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

См. также

GtkTextBuffer, GtkTextIter

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

Spec-Zone.ru

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