Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Style Properties  |  Signals

GtkTextView

GtkTextView Виджет который отображает GtkTextBuffer

Краткое описание

#include <gtk/gtk.h> GtkTextView; enum GtkTextWindowType; GtkWidget* gtk_text_view_new (void); GtkWidget* gtk_text_view_new_with_buffer (GtkTextBuffer *buffer); void gtk_text_view_set_buffer (GtkTextView *text_view, GtkTextBuffer *buffer); GtkTextBuffer* gtk_text_view_get_buffer (GtkTextView *text_view); void gtk_text_view_scroll_to_mark (GtkTextView *text_view, GtkTextMark *mark, gdouble within_margin, gboolean use_align, gdouble xalign, gdouble yalign); gboolean gtk_text_view_scroll_to_iter (GtkTextView *text_view, GtkTextIter *iter, gdouble within_margin, gboolean use_align, gdouble xalign, gdouble yalign); void gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark); gboolean gtk_text_view_move_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark); gboolean gtk_text_view_place_cursor_onscreen (GtkTextView *text_view); void gtk_text_view_get_visible_rect (GtkTextView *text_view, GdkRectangle *visible_rect); void gtk_text_view_get_iter_location (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *location); void gtk_text_view_get_line_at_y (GtkTextView *text_view, GtkTextIter *target_iter, gint y, gint *line_top); void gtk_text_view_get_line_yrange (GtkTextView *text_view, const GtkTextIter *iter, gint *y, gint *height); void gtk_text_view_get_iter_at_location (GtkTextView *text_view, GtkTextIter *iter, gint x, gint y); void gtk_text_view_get_iter_at_position (GtkTextView *text_view, GtkTextIter *iter, gint *trailing, gint x, gint y); 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); 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); GdkWindow* gtk_text_view_get_window (GtkTextView *text_view, GtkTextWindowType win); GtkTextWindowType gtk_text_view_get_window_type (GtkTextView *text_view, GdkWindow *window); void gtk_text_view_set_border_window_size (GtkTextView *text_view, GtkTextWindowType type, gint size); gint gtk_text_view_get_border_window_size (GtkTextView *text_view, GtkTextWindowType type); gboolean gtk_text_view_forward_display_line (GtkTextView *text_view, GtkTextIter *iter); gboolean gtk_text_view_backward_display_line (GtkTextView *text_view, GtkTextIter *iter); gboolean gtk_text_view_forward_display_line_end (GtkTextView *text_view, GtkTextIter *iter); gboolean gtk_text_view_backward_display_line_start (GtkTextView *text_view, GtkTextIter *iter); gboolean gtk_text_view_starts_display_line (GtkTextView *text_view, const GtkTextIter *iter); gboolean gtk_text_view_move_visually (GtkTextView *text_view, GtkTextIter *iter, gint count); void gtk_text_view_add_child_at_anchor (GtkTextView *text_view, GtkWidget *child, GtkTextChildAnchor *anchor); GtkTextChildAnchor; GtkTextChildAnchor* gtk_text_child_anchor_new (void); GList* gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor); gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor); void gtk_text_view_add_child_in_window (GtkTextView *text_view, GtkWidget *child, GtkTextWindowType which_window, gint xpos, gint ypos); void gtk_text_view_move_child (GtkTextView *text_view, GtkWidget *child, gint xpos, gint ypos); void gtk_text_view_set_wrap_mode (GtkTextView *text_view, GtkWrapMode wrap_mode); GtkWrapMode gtk_text_view_get_wrap_mode (GtkTextView *text_view); void gtk_text_view_set_editable (GtkTextView *text_view, gboolean setting); gboolean gtk_text_view_get_editable (GtkTextView *text_view); void gtk_text_view_set_cursor_visible (GtkTextView *text_view, gboolean setting); gboolean gtk_text_view_get_cursor_visible (GtkTextView *text_view); void gtk_text_view_set_overwrite (GtkTextView *text_view, gboolean overwrite); gboolean gtk_text_view_get_overwrite (GtkTextView *text_view); void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view, gint pixels_above_lines); gint gtk_text_view_get_pixels_above_lines (GtkTextView *text_view); void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view, gint pixels_below_lines); gint gtk_text_view_get_pixels_below_lines (GtkTextView *text_view); void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view, gint pixels_inside_wrap); gint gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view); void gtk_text_view_set_justification (GtkTextView *text_view, GtkJustification justification); GtkJustification gtk_text_view_get_justification (GtkTextView *text_view); void gtk_text_view_set_left_margin (GtkTextView *text_view, gint left_margin); gint gtk_text_view_get_left_margin (GtkTextView *text_view); void gtk_text_view_set_right_margin (GtkTextView *text_view, gint right_margin); gint gtk_text_view_get_right_margin (GtkTextView *text_view); void gtk_text_view_set_indent (GtkTextView *text_view, gint indent); gint gtk_text_view_get_indent (GtkTextView *text_view); void gtk_text_view_set_tabs (GtkTextView *text_view, PangoTabArray *tabs); PangoTabArray* gtk_text_view_get_tabs (GtkTextView *text_view); void gtk_text_view_set_accepts_tab (GtkTextView *text_view, gboolean accepts_tab); gboolean gtk_text_view_get_accepts_tab (GtkTextView *text_view); GtkTextAttributes* gtk_text_view_get_default_attributes (GtkTextView *text_view); #define GTK_TEXT_VIEW_PRIORITY_VALIDATE

Иерархия объектов

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkTextView GObject +----GtkTextChildAnchor

Осуществляемые интерфейсы

GtkTextView осуществляет AtkImplementorIface.

Свойства

"accepts-tab" gboolean : Read / Write "buffer" GtkTextBuffer : Read / Write "cursor-visible" gboolean : Read / Write "editable" gboolean : Read / Write "indent" gint : Read / Write "justification" GtkJustification : Read / Write "left-margin" gint : Read / Write "overwrite" gboolean : Read / Write "pixels-above-lines" gint : Read / Write "pixels-below-lines" gint : Read / Write "pixels-inside-wrap" gint : Read / Write "right-margin" gint : Read / Write "tabs" PangoTabArray : Read / Write "wrap-mode" GtkWrapMode : Read / Write

Свойства стиля

  "error-underline-color" GdkColor              : Read

Сигналы

"backspace" void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action "copy-clipboard" void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action "cut-clipboard" void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action "delete-from-cursor" void user_function (GtkTextView *textview, GtkDeleteType *arg1, gint arg2, gpointer user_data) : Run last / Action "insert-at-cursor" void user_function (GtkTextView *textview, gchar *arg1, gpointer user_data) : Run last / Action "move-cursor" void user_function (GtkTextView *widget, GtkMovementStep *step, gint count, gboolean extend_selection, gpointer user_data) : Run last / Action "move-focus" void user_function (GtkTextView *textview, GtkDirectionType *arg1, gpointer user_data) : Run last / Action "move-viewport" void user_function (GtkTextView *textview, GtkScrollStep *arg1, gint arg2, gpointer user_data) : Run last / Action "page-horizontally" void user_function (GtkTextView *textview, gint arg1, gboolean arg2, gpointer user_data) : Run last / Action "paste-clipboard" void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action "populate-popup" void user_function (GtkTextView *textview, GtkMenu *arg1, gpointer user_data) : Run last "select-all" void user_function (GtkTextView *textview, gboolean arg1, gpointer user_data) : Run last / Action "set-anchor" void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action "set-scroll-adjustments" void user_function (GtkTextView *textview, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data) : Run last / Action "toggle-overwrite" void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

Описание

Для начала вы можете прочесть text widget conceptual overview который даёт краткое описание всех объектов и типов данных связанных с текстовыми виджетами и как они взаимодействуют.

Детали

GtkTextView

typedef struct _GtkTextView GtkTextView;

enum GtkTextWindowType

typedef enum { 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 } GtkTextWindowType;

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 :

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 :

GtkTextView

buffer :

GtkTextBuffer


gtk_text_view_get_buffer ()

GtkTextBuffer* gtk_text_view_get_buffer     (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

GtkTextBuffer


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 :

GtkTextView

mark :

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 :

GtkTextView

iter :

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 :

GtkTextView

mark :

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


gtk_text_view_move_mark_onscreen ()

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

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

text_view :

GtkTextView

mark :

GtkTextMark

Возвращает :

TRUE если маркер перемещён (не находится уже на экране)


gtk_text_view_place_cursor_onscreen ()

gboolean gtk_text_view_place_cursor_onscreen (GtkTextView *text_view);

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

text_view :

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 :

GtkTextView

visible_rect :

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


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 :

GtkTextView

iter :

GtkTextIter

location :

Границы символа в iter


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 :

GtkTextView

target_iter :

GtkTextIter

y :

Y координата

line_top :

Место хранения возвращаемого значения высшей координаты строки


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 :

GtkTextView

iter :

GtkTextIter

y :

Место хранения возвращаемого значения Y координаты

height :

Место хранения возвращаемого значения высоты


gtk_text_view_get_iter_at_location ()

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

GtkTextView

iter :

GtkTextIter

x :

X позиция, в буферных координатах

y :

Y позиция, в буферных координатах


gtk_text_view_get_iter_at_position ()

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

GtkTextView

iter :

GtkTextIter

trailing :

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

x :

x позиция, в буферных координатах

y :

y позиция, в буферных координатах

Начиная с версии 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 :

GtkTextView

win :

GtkTextWindowType кроме GTK_TEXT_WINDOW_PRIVATE

buffer_x :

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

buffer_y :

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

window_x :

Указатель на место хранения X координаты окна

window_y :

Указатель на место хранения Y координаты окна


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 :

GtkTextView

win :

GtkTextWindowType кроме GTK_TEXT_WINDOW_PRIVATE

window_x :

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

window_y :

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

buffer_x :

Указатель на место хранения X координаты буфера

buffer_y :

Указатель на место хранения Y координаты буфера


gtk_text_view_get_window ()

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

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

text_view :

GtkTextView

win :

Окно для получения

Возвращает :

GdkWindow, или NULL


gtk_text_view_get_window_type ()

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

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

text_view :

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, и создаёт окно если размер не ноль. Эта функция может использоваться только для "border windows", она не работает с GTK_TEXT_WINDOW_WIDGET, GTK_TEXT_WINDOW_TEXT, или GTK_TEXT_WINDOW_PRIVATE.

text_view :

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 :

GtkTextView

type :

Окно из которого возвращается размер

Возвращает :

Ширина окна


gtk_text_view_forward_display_line ()

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

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

text_view :

GtkTextView

iter :

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 :

GtkTextView

iter :

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 :

GtkTextView

iter :

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 :

GtkTextView

iter :

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 :

GtkTextView

iter :

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 :

GtkTextView

iter :

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 :

GtkTextView

child :

GtkWidget

anchor :

GtkTextChildAnchor в GtkTextBuffer для text_view


GtkTextChildAnchor

typedef struct _GtkTextChildAnchor GtkTextChildAnchor;

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


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 :

GtkTextChildAnchor

Возвращает :

Список виджетов закрепленных в anchor


gtk_text_child_anchor_get_deleted ()

gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);

Определяет удален ли дочерний якорь из буфера. Имейте ввиду что ссылки на дочерний якорь убираются когда он удаляется из буфера, поэтому вы должны иметь собственную ссылку (с помощью g_object_ref()) если вы планируете использовать эту функцию иначе все удалённые дочерние якоря будут также завершены.

anchor :

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()). Помните что дочерние координаты даются относительно рассматриваемого GdkWindow, и что эти координаты не имеют нормального отношения к прокрутке. Размещая дочерний виджет в GTK_TEXT_WINDOW_WIDGET, прокручивание не уместно, дочерний виджет находится поверх всей прокручиваемой области. Но помещая дочерний виджет в одно из прокручиваемых окон (border windows или text window), вам нужно расчитать корректную позицию дочернего виджета в буферных координатах каждый раз при прокручивании или изменении буфера, а затем вызвать gtk_text_view_move_child() для обновления позиции дочернего виджета. К сожалению сейчас нет хорошего способа обнаружения происходящей прокрутки, используя текущий API; возможный хак (hack), обновление всех позиций дочерних виджетов при прокручивании или изменении текстового буфера. Смотрите ошибку 64518 в bugzilla.gnome.org для контроля состояния устранения этой проблемы.

text_view :

GtkTextView

child :

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 :

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 :

GtkTextView

wrap_mode :

GtkWrapMode


gtk_text_view_get_wrap_mode ()

GtkWrapMode gtk_text_view_get_wrap_mode     (GtkTextView *text_view);

Определяет обёрнутые строки для просмотра.

text_view :

GtkTextView

Возвращает :

Настройки обёртывания строк


gtk_text_view_set_editable ()

void gtk_text_view_set_editable (GtkTextView *text_view, gboolean setting);

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

text_view :

GtkTextView

setting :

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


gtk_text_view_get_editable ()

gboolean    gtk_text_view_get_editable      (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

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


gtk_text_view_set_cursor_visible ()

void gtk_text_view_set_cursor_visible (GtkTextView *text_view, gboolean setting);

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

text_view :

GtkTextView

setting :

Показывать или нет курсор


gtk_text_view_get_cursor_visible ()

gboolean gtk_text_view_get_cursor_visible (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

Видим ли курсор


gtk_text_view_set_overwrite ()

void gtk_text_view_set_overwrite (GtkTextView *text_view, gboolean overwrite);

Изменяет режим перезаписи GtkTextView.

text_view :

GtkTextView

overwrite :

TRUE для включения режима перезаписи, FALSE для выключения

Начиная с версии 2.4


gtk_text_view_get_overwrite ()

gboolean    gtk_text_view_get_overwrite     (GtkTextView *text_view);

Определяет включён ли режим перезаписи GtkTextView.

text_view :

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 :

GtkTextView

pixels_above_lines :

Пикселы выше параграфа


gtk_text_view_get_pixels_above_lines ()

gint gtk_text_view_get_pixels_above_lines (GtkTextView *text_view);

Определяет значение по умолчанию количества помещаемых пикселей выше параграфа.

text_view :

GtkTextView

Возвращает :

значение по умолчанию количества помещаемых пикселей выше параграфа


gtk_text_view_set_pixels_below_lines ()

void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view, gint pixels_below_lines);

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

text_view :

GtkTextView

pixels_below_lines :

Пикселы ниже параграфа


gtk_text_view_get_pixels_below_lines ()

gint gtk_text_view_get_pixels_below_lines (GtkTextView *text_view);

Определяет значение установленное с помощью gtk_text_view_set_pixels_below_lines().

text_view :

GtkTextView

Возвращает :

Нижний интервал в пикселах для параграфа


gtk_text_view_set_pixels_inside_wrap ()

void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view, gint pixels_inside_wrap);

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

text_view :

GtkTextView

pixels_inside_wrap :

Значение по умолчанию количества пикселей между обёрнутыми строками


gtk_text_view_get_pixels_inside_wrap ()

gint gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view);

Определяет значение установленное с помощью gtk_text_view_set_pixels_inside_wrap().

text_view :

GtkTextView

Возвращает :

Интервал по умолчанию в пикселах между обёрнутыми строками


gtk_text_view_set_justification ()

void gtk_text_view_set_justification (GtkTextView *text_view, GtkJustification justification);

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

text_view :

GtkTextView

justification :

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


gtk_text_view_get_justification ()

GtkJustification gtk_text_view_get_justification (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

выравнивание по умолчанию


gtk_text_view_set_left_margin ()

void gtk_text_view_set_left_margin (GtkTextView *text_view, gint left_margin);

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

text_view :

GtkTextView

left_margin :

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


gtk_text_view_get_left_margin ()

gint        gtk_text_view_get_left_margin   (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

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


gtk_text_view_set_right_margin ()

void gtk_text_view_set_right_margin (GtkTextView *text_view, gint right_margin);

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

text_view :

GtkTextView

right_margin :

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


gtk_text_view_get_right_margin ()

gint        gtk_text_view_get_right_margin  (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

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


gtk_text_view_set_indent ()

void gtk_text_view_set_indent (GtkTextView *text_view, gint indent);

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

text_view :

GtkTextView

indent :

Отступ в пикселах


gtk_text_view_get_indent ()

gint        gtk_text_view_get_indent        (GtkTextView *text_view);

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

text_view :

GtkTextView

Возвращает :

Отступ в пикселах


gtk_text_view_set_tabs ()

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

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

text_view :

GtkTextView

tabs :

Табуляторы как PangoTabArray


gtk_text_view_get_tabs ()

PangoTabArray* gtk_text_view_get_tabs       (GtkTextView *text_view);

Находит табуляторы по умолчанию для text_view. Теги могут переписывать значения по умолчанию. Возвращаемый массив будет NULL если используются табуляторы "standard" (8-space). Освобождается возвращаемое значение с помощью pango_tab_array_free().

text_view :

GtkTextView

Возвращает :

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


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() , применяя в порядке получения атрибутов к данной текстовой позиции.

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

text_view :

GtkTextView

Возвращает :

новый GtkTextAttributes


GTK_TEXT_VIEW_PRIORITY_VALIDATE

#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)

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

Детали свойств

Свойство "accepts-tab"

  "accepts-tab"          gboolean              : Read / Write

Должен ли при нажатии клавиши Tab вставляться табулятор.

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


Свойство "buffer"

  "buffer"               GtkTextBuffer         : Read / Write

Отображаемый буфер.


Свойство "cursor-visible"

  "cursor-visible"       gboolean              : Read / Write

Если курсор отображается.

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


Свойство "editable"

  "editable"             gboolean              : Read / Write

Может ли текст модифицироваться пользователем.

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


Свойство "indent"

  "indent"               gint                  : Read / Write

Размер отступа параграфа, в пикселах.

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

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


Свойство "justification"

  "justification"        GtkJustification      : Read / Write

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

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


Свойство "left-margin"

  "left-margin"          gint                  : Read / Write

Ширина левого отступа в пикселах.

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

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


Свойство "overwrite"

  "overwrite"            gboolean              : Read / Write

Может ли перезаписываться существующее содержимое.

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


Свойство "pixels-above-lines"

  "pixels-above-lines"   gint                  : Read / Write

Интервал в пикселах вверху параграфов.

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

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


Свойство "pixels-below-lines"

  "pixels-below-lines"   gint                  : Read / Write

Интервал в пикселах внизу параграфов.

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

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


Свойство "pixels-inside-wrap"

  "pixels-inside-wrap"   gint                  : Read / Write

Интервал в пикселах между обёрнутыми строками.

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

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


Свойство "right-margin"

  "right-margin"         gint                  : Read / Write

Ширина правого отступа в пикселах.

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

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


Свойство "tabs"

  "tabs"                 PangoTabArray         : Read / Write

Табуляторы для данного текста.


Свойство "wrap-mode"

  "wrap-mode"            GtkWrapMode           : Read / Write

Режим обёртывания строк в границах слова, в границах символа или без обёртывания.

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

Детали свойств стиля

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

  "error-underline-color" GdkColor              : Read

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

Детали сигналов

Сигнал "backspace"

void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

user_data :

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


Сигнал "copy-clipboard"

void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

user_data :

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


Сигнал "cut-clipboard"

void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

user_data :

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


Сигнал "delete-from-cursor"

void user_function (GtkTextView *textview, GtkDeleteType *arg1, gint arg2, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

arg2 :

user_data :

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


Сигнал "insert-at-cursor"

void user_function (GtkTextView *textview, gchar *arg1, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

user_data :

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


Сигнал "move-cursor"

void user_function (GtkTextView *widget, GtkMovementStep *step, gint count, gboolean extend_selection, gpointer user_data) : Run last / Action

Сигнал ::move-cursor это сигнал привязки клавиш который издаётся когда пользователь перемещает курсор.

Приложения не должны подключать его, но могут издавать его с помощью g_signal_emit_by_name() если нужно контролировать прокручивание программно.

widget :

объект получающий сигнал

step :

Степень детализации перемещения, как GtkMovementStep

count :

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

extend_selection :

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

user_data :

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


Сигнал "move-focus"

void user_function (GtkTextView *textview, GtkDirectionType *arg1, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

user_data :

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


Сигнал "move-viewport"

void user_function (GtkTextView *textview, GtkScrollStep *arg1, gint arg2, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

arg2 :

user_data :

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


Сигнал "page-horizontally"

void user_function (GtkTextView *textview, gint arg1, gboolean arg2, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

arg2 :

user_data :

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


Сигнал "paste-clipboard"

void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

user_data :

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


Сигнал "populate-popup"

void user_function (GtkTextView *textview, GtkMenu *arg1, gpointer user_data) : Run last

textview :

объект получающий сигнал.

arg1 :

user_data :

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


Сигнал "select-all"

void user_function (GtkTextView *textview, gboolean arg1, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

user_data :

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


Сигнал "set-anchor"

void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

user_data :

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


Сигнал "set-scroll-adjustments"

void user_function (GtkTextView *textview, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

arg1 :

arg2 :

user_data :

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


Сигнал "toggle-overwrite"

void user_function (GtkTextView *textview, gpointer user_data) : Run last / Action

textview :

объект получающий сигнал.

user_data :

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

Смотрите также

GtkTextBuffer, GtkTextIter