GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Style Properties | Signals |
GtkTextViewGtkTextView Виджет который отображает 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 |
GtkWidget* gtk_text_view_new_with_buffer (GtkTextBuffer *buffer);Создаёт новый GtkTextView отображающий буфер
buffer
. Один буфер может быть доступен для множества виджетов.buffer
может быть NULL для создания буфера по умолчанию, в этом случае эта функция эквивалентнаgtk_text_view_new()
. Виджет просмотра текста добавляет свой собственный подсчет ссылок для буфера; он не принимает существующие ссылки.
|
|
Возвращает : |
новый GtkTextView. |
void gtk_text_view_set_buffer (GtkTextView *text_view,
GtkTextBuffer *buffer);
Устанавливает буфер buffer
как отображаемый в text_view
.
Ссылка на предварительно отображённый
буфер в виджете просмотра текста
отменяется, а ссылка на buffer
добавляется. Если вы владели
ссылкой для buffer
перед
добавлением его в эту функцию, вы должны
удалить ссылку самостоятельно; GtkTextView
не "примет" её.
|
|
|
GtkTextBuffer* gtk_text_view_get_buffer (GtkTextView *text_view);Возвращает GtkTextBuffer отображаемый в text_view. Подсчет ссылок в буфере не увеличивается; вызывающий эту функцию не владеет новой ссылкой.
|
|
Возвращает : |
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
.
|
|
|
|
|
Границы как [0.0,0.5) доля размера экрана |
|
Используются ли аргументы выравнивания
(если |
|
Горизонтальное выравнивание маркера внутри видимой области. |
|
Вертикальное выравнивание маркера внутри видимой области. |
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()
которая сохраняет точку для прокручивания
после подтверждения правильности
строки.
|
|
|
|
|
Границы как [0.0,0.5) доля размера экрана |
|
Используются ли аргументы выравнивания
(если |
|
Горизонтальное выравнивание маркера внутри видимой области. |
|
Вертикальное выравнивание маркера внутри видимой области. |
Возвращает : |
|
void gtk_text_view_scroll_mark_onscreen
(GtkTextView *text_view,
GtkTextMark *mark);
Прокручивает text_view
на
минимальное расстояние так, чтобы mark
находился в видимой области виджета.
|
|
|
Маркер в буфере для |
gboolean gtk_text_view_move_mark_onscreen
(GtkTextView *text_view,
GtkTextMark *mark);
Перемещает маркер внутри буфера так, чтобы он располагался внутри текущемй видимой области текста.
|
|
|
|
Возвращает : |
|
gboolean gtk_text_view_place_cursor_onscreen
(GtkTextView *text_view);
Перемещает курсор в текущую видимую область буфера, если он не там уже.
|
|
Возвращает : |
TRUE если курсор должен был быть перемещен. |
void gtk_text_view_get_visible_rect (GtkTextView *text_view,
GdkRectangle *visible_rect);
Заполняет visible_rect
в текущемй
видимой области буфера, в координатах
буфера. Конвертирует в координаты окна
с помощью gtk_text_view_buffer_to_window_coords()
.
|
|
|
Прямоугольник для заполнения |
void gtk_text_view_get_iter_location (GtkTextView *text_view,
const GtkTextIter *iter,
GdkRectangle *location);
Получает прямоугольник который
приблизительно содержит символ iter
.
Прямоугольник позиционируется в буферных
координатах; используйте
gtk_text_view_buffer_to_window_coords()
для конвертации этих координат в
координаты одного из окон виджета для
просмотра текста.
|
|
|
|
|
Границы символа в |
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
будет заполнен
координатами верхнего края строки.
|
|
|
|
|
Y координата |
|
Место хранения возвращаемого значения высшей координаты строки |
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()
.
|
|
|
|
|
Место хранения возвращаемого значения Y координаты |
|
Место хранения возвращаемого значения высоты |
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()
.
|
|
|
|
|
X позиция, в буферных координатах |
|
Y позиция, в буферных координатах |
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()
,
которая возвращает размещение курсора,
то есть позицию между символами.
|
|
|
|
|
Целое указывающее где в графеме пользователь кликнул. Это будет или ноль, или число символов в графеме. 0 представляет прослеживаемый конечный край графемы. |
|
x позиция, в буферных координатах |
|
y позиция, в буферных координатах |
Начиная с версии 2.6
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()
).
|
|
|
GtkTextWindowType кроме GTK_TEXT_WINDOW_PRIVATE |
|
буферная x координата |
|
буферная y координата |
|
Указатель на место хранения X координаты окна |
|
Указатель на место хранения 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);
Преобразует координаты окна
идентифицируемого как win
в
буферные координаты, сохраняя результат
в (buffer_x
,buffer_y
).
Помните что вы можете конвертировать
координаты для несуществующего окна
(смотрите gtk_text_view_set_border_window_size()
).
|
|
|
GtkTextWindowType кроме GTK_TEXT_WINDOW_PRIVATE |
|
оконная x координата |
|
оконная y координата |
|
Указатель на место хранения X координаты буфера |
|
Указатель на место хранения Y координаты буфера |
GdkWindow* gtk_text_view_get_window (GtkTextView *text_view,
GtkTextWindowType win);
Получает GdkWindow
соответствующий области просмотра
текста; возможное окно включает полный
виджет окна, дочерние окна с лева, с
право, сверху, снизу и окно которое
отображает текстовый буфер. Окна равны
NULL
и не существуют если их ширина и высота
равна 0, а также не существуют перед
реализацией виджета.
|
|
|
Окно для получения |
Возвращает : |
GtkTextWindowType gtk_text_view_get_window_type
(GtkTextView *text_view,
GdkWindow *window);
Удобна для поиска окна соответствующего
событию. Если вы подключаете для события
сигнал в text_view
, эта функция
должна быть вызвана в event->window
чтобы видеть каким окном оно было.
|
|
|
Тип окна |
Возвращает : |
Тип окна. |
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.
|
|
|
Окно для установок |
|
Ширина или высота окна |
gint gtk_text_view_get_border_window_size
(GtkTextView *text_view,
GtkTextWindowType type);
Определяет ширину границ окна. Смотрите
gtk_text_view_set_border_window_size()
.
|
|
|
Окно из которого возвращается размер |
Возвращает : |
Ширина окна |
gboolean gtk_text_view_forward_display_line
(GtkTextView *text_view,
GtkTextIter *iter);
Перемещает данный iter
вперед
на одну отображаемую строку (обёрнутую).
Отображаемая строка отличается от
параграфа. Параграфы разделяются
символами новой строки или другими
символами разделения параграфов.
Отображаемая строка создаётся обертыванием
строк параграфа. Если обёртывание
выключено, отображаемая строка и параграф
одно и тоже. Отображаемые строки
разделяются для каждого вида по разному,
так как это зависит от ширины вида;
параграфы одинаковы во всех видах, так
как они зависят от содержимого
GtkTextBuffer.
|
|
|
|
Возвращает : |
|
gboolean gtk_text_view_backward_display_line
(GtkTextView *text_view,
GtkTextIter *iter);
Перемещает данный iter назад на одну отображаемую строку (обёрнутую). Отображаемая строка отличается от параграфа. Параграфы разделяются символами новой строки или другими символами разделения параграфов. Отображаемая строка создаётся обертыванием строк параграфа. Если обёртывание выключено, отображаемая строка и параграф одно и тоже. Отображаемые строки разделяются для каждого вида по разному, так как это зависит от ширины вида; параграфы одинаковы во всех видах, так как они зависят от содержимого GtkTextBuffer.
|
|
|
|
Возвращает : |
|
gboolean gtk_text_view_forward_display_line_end
(GtkTextView *text_view,
GtkTextIter *iter);
Перемещает данный iter
вперёд
в конец следующей отображаемой строки.
Отображаемая строка отличается от
параграфа. Параграфы разделяются
символами новой строки или другими
символами разделения параграфов.
Отображаемая строка создаётся обертыванием
строк параграфа. Если обёртывание
выключено, отображаемая строка и параграф
одно и тоже. Отображаемые строки
разделяются для каждого вида по разному,
так как это зависит от ширины вида;
параграфы одинаковы во всех видах, так
как они зависят от содержимого
GtkTextBuffer.
|
|
|
|
Возвращает : |
|
gboolean gtk_text_view_backward_display_line_start
(GtkTextView *text_view,
GtkTextIter *iter);
Перемещает данный iter
назад
в начало следующей отображаемой строки.
Отображаемая строка отличается от
параграфа. Параграфы разделяются
символами новой строки или другими
символами разделения параграфов.
Отображаемая строка создаётся обертыванием
строк параграфа. Если обёртывание
выключено, отображаемая строка и параграф
одно и тоже. Отображаемые строки
разделяются для каждого вида по разному,
так как это зависит от ширины вида;
параграфы одинаковы во всех видах, так
как они зависят от содержимого
GtkTextBuffer.
|
|
|
|
Возвращает : |
|
gboolean gtk_text_view_starts_display_line
(GtkTextView *text_view,
const GtkTextIter *iter);
Определяет является ли iter
началом отображаемой строки. Смотрите
gtk_text_view_forward_display_line()
для разъяснений отличий между отображаемой
строкой и параграфом.
|
|
|
|
Возвращает : |
|
gboolean gtk_text_view_move_visually (GtkTextView *text_view,
GtkTextIter *iter,
gint count);
Перемещает итератор на данное число
видимых символов, обрабатывая это как
сильную позицию курсора. Если count
положительное, то когда новая сильная
позиция курсора будет на count
позиций правее от старого положения.
Если count
отрицательное,
новая позиция курсора будет на count
позиций левее от старой.
В двунаправленном тексте, соответствие между логическим и визуальным порядком будет зависеть от направления текущемго потока, и оно может быть переброшено когда курсор перемещается с конца потока.
|
|
|
|
|
Число символов для перемещения (отрицательное перемещает в лево, положительное перемещает в право) |
Возвращает : |
|
void gtk_text_view_add_child_at_anchor
(GtkTextView *text_view,
GtkWidget *child,
GtkTextChildAnchor *anchor);
Добавляет дочерний виджет в текстовый
буфер, в данный anchor
.
|
|
|
|
|
GtkTextChildAnchor в
GtkTextBuffer для |
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 |
GList* gtk_text_child_anchor_get_widgets
(GtkTextChildAnchor *anchor);
Определяет список всех виджетов
закреплённых этим дочерним якорем.
Возвращаемый список должен освобождаться
с помощью g_list_free()
.
|
|
Возвращает : |
Список виджетов закрепленных в
|
gboolean gtk_text_child_anchor_get_deleted
(GtkTextChildAnchor *anchor);
Определяет удален ли дочерний якорь из
буфера. Имейте ввиду что ссылки на
дочерний якорь убираются когда он
удаляется из буфера, поэтому вы должны
иметь собственную ссылку (с помощью
g_object_ref()
)
если вы планируете использовать эту
функцию иначе все удалённые дочерние
якоря будут также завершены.
|
|
Возвращает : |
|
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 для контроля состояния
устранения этой проблемы.
|
|
|
|
|
Окно для дочернего виджета |
|
X позиция дочернего виджета в оконных координатах |
|
Y позиция дочернего виджета в оконных координатах |
void gtk_text_view_move_child (GtkTextView *text_view,
GtkWidget *child,
gint xpos,
gint ypos);
Обновляет позицию дочернего виджета,
как для gtk_text_view_add_child_in_window()
.
|
|
|
Дочерний виджет уже добавленный в виджет просмотра текста |
|
новая X позиция в оконных координатах |
|
новая Y позиция в оконных координатах |
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);
Устанавливает значение по умолчанию возможности редактирования GtkTextView. Вы можете переписать эти установки по умолчанию с помощью тегов в буфере, используя параметр тегов "editable".
|
|
|
Возможно ли редактирование |
gboolean gtk_text_view_get_editable (GtkTextView *text_view);Возвращает значение по умолчанию возможности редактирования GtkTextView. Теги в буфере могут переписать эти установки для некоторого текстового диапазона.
|
|
Возвращает : |
Редактируем ли текст по умолчанию |
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);
Изменяет режим перезаписи GtkTextView.
|
|
|
Начиная с версии 2.4
gboolean gtk_text_view_get_overwrite (GtkTextView *text_view);Определяет включён ли режим перезаписи GtkTextView.
|
|
Возвращает : |
Находится ли |
Начиная с версии 2.4
void gtk_text_view_set_pixels_above_lines
(GtkTextView *text_view,
gint pixels_above_lines);
Устанавливает значение по умолчанию
количество пикселей верхнего интервала
параграфа в text_view
. Теги в
буфере для text_view
могут
переписывать значение по умолчанию.
|
|
|
Пикселы выше параграфа |
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);
Устанавливает значение по умолчанию
количество пикселей нижнего интервала
параграфа в text_view
. Теги в
буфере для text_view
могут переписывать значение по умолчанию.
|
|
|
Пикселы ниже параграфа |
gint gtk_text_view_get_pixels_below_lines
(GtkTextView *text_view);
Определяет значение установленное с
помощью gtk_text_view_set_pixels_below_lines()
.
|
|
Возвращает : |
Нижний интервал в пикселах для параграфа |
void gtk_text_view_set_pixels_inside_wrap
(GtkTextView *text_view,
gint pixels_inside_wrap);
Устанавливает значение по умолчанию интервала в пикселах между отображаемыми/обёрнутыми строками внутри параграфа. Теги в буфере для text_view могут переписывать значение по умолчанию.
|
|
|
Значение по умолчанию количества пикселей между обёрнутыми строками |
gint gtk_text_view_get_pixels_inside_wrap
(GtkTextView *text_view);
Определяет значение установленное с
помощью gtk_text_view_set_pixels_inside_wrap()
.
|
|
Возвращает : |
Интервал по умолчанию в пикселах между обёрнутыми строками |
void gtk_text_view_set_justification (GtkTextView *text_view,
GtkJustification justification);
Устанавливает выравнивание текста по
умолчанию в text_view
. Теги могут
переписывать значения по умолчанию.
|
|
|
выравнивание |
GtkJustification gtk_text_view_get_justification
(GtkTextView *text_view);
Определяет выравнивание по умолчанию,
параграфа в text_view
. Теги могут
переписывать значения по умолчанию.
|
|
Возвращает : |
выравнивание по умолчанию |
void gtk_text_view_set_left_margin (GtkTextView *text_view,
gint left_margin);
Устанавливает значение по умолчанию
отступа с лево для текста в text_view
.
Теги могут переписывать значения по
умолчанию.
|
|
|
левый отступ в пикселах |
gint gtk_text_view_get_left_margin (GtkTextView *text_view);Определяет значение по умолчанию размера для левого отступа параграфов в
text_view
. Теги могут переписывать значения по умолчанию.
|
|
Возвращает : |
левый отступ в пикселах |
void gtk_text_view_set_right_margin (GtkTextView *text_view,
gint right_margin);
Устанавливает правый отступ по умолчанию для текста в text_view. Теги могут переписывать значения по умолчанию.
|
|
|
Правый отступ в пикселах |
gint gtk_text_view_get_right_margin (GtkTextView *text_view);Определяет правый отступ по умолчанию для текста в
text_view
. Теги могут переписывать значения по умолчанию.
|
|
Возвращает : |
Правый отступ в пикселах |
void gtk_text_view_set_indent (GtkTextView *text_view,
gint indent);
Устанавливает по умолчанию отступ для
параграфа в text_view
. Теги могут
переписывать значения по умолчанию.
|
|
|
Отступ в пикселах |
gint gtk_text_view_get_indent (GtkTextView *text_view);Определяет отступ по умолчанию для параграфа в
text_view
. Теги могут переписывать значения по умолчанию. Отступ может быть отрицательным.
|
|
Возвращает : |
Отступ в пикселах |
void gtk_text_view_set_tabs (GtkTextView *text_view,
PangoTabArray *tabs);
Устанавливает значение по умолчанию
табуляторов для параграфов в text_view
.
Теги могут переписывать значения по
умолчанию.
|
|
|
Табуляторы как PangoTabArray |
PangoTabArray* gtk_text_view_get_tabs (GtkTextView *text_view);Находит табуляторы по умолчанию для
text_view
. Теги могут переписывать значения по умолчанию. Возвращаемый массив будетNULL
если используются табуляторы "standard" (8-space). Освобождается возвращаемое значение с помощьюpango_tab_array_free()
.
|
|
Возвращает : |
Копия массива табуляторов, или |
void gtk_text_view_set_accepts_tab (GtkTextView *text_view,
gboolean accepts_tab);
Устанавливает поведение текстового
виджета при нажатии клавиши Tab. Если
accepts_tab
равно TRUE
вставляется табулятор. Если accepts_tab
равно FALSE
клавиатурный фокус перемещается на
следующий виджет в цепочке фокусирования.
|
|
|
|
Начиная с версии 2.4
gboolean gtk_text_view_get_accepts_tab (GtkTextView *text_view);Определяет что происходит при нажатии на клавишу Tab. Смотрите
gtk_text_view_set_accepts_tab()
.
|
|
Возвращает : |
|
Начиная с версии 2.4
GtkTextAttributes* gtk_text_view_get_default_attributes
(GtkTextView *text_view);
Получает копию текстовых атрибутов по
умолчанию. Эти атрибуты используются
для текста если теги не отменяют их.
Атрибуты по умолчанию обычно передаются
в gtk_text_iter_get_attributes()
, применяя в порядке получения атрибутов
к данной текстовой позиции.
Возвращаемое значение это копия которой владеет вызывающий эту функцию и оно должно быть освобождено.
|
|
Возвращает : |
новый GtkTextAttributes |
#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
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
GtkDeleteType *arg1,
gint arg2,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gchar *arg1,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
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()
если нужно контролировать прокручивание
программно.
|
объект получающий сигнал |
|
Степень детализации перемещения, как GtkMovementStep |
|
количество |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
GtkDirectionType *arg1,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
GtkScrollStep *arg1,
gint arg2,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gint arg1,
gboolean arg2,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
GtkMenu *arg1,
gpointer user_data) : Run last
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gboolean arg1,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
GtkAdjustment *arg1,
GtkAdjustment *arg2,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
|
|
|
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkTextView *textview,
gpointer user_data) : Run last / Action
|
объект получающий сигнал. |
|
пользовательские данные устанавливаемые при подключении обработчика сигнала. |