The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy

GtkTextMark

GtkTextMark Позиция в буфере сохраняемая вопреки буферных модификации

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

#include <gtk/gtk.h>


            GtkTextMark;
void        gtk_text_mark_set_visible       (GtkTextMark *mark,
                                             gboolean setting);
gboolean    gtk_text_mark_get_visible       (GtkTextMark *mark);
gboolean    gtk_text_mark_get_deleted       (GtkTextMark *mark);
const gchar* gtk_text_mark_get_name         (GtkTextMark *mark);
GtkTextBuffer* gtk_text_mark_get_buffer     (GtkTextMark *mark);
gboolean    gtk_text_mark_get_left_gravity  (GtkTextMark *mark);

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

  GObject
   +----GtkTextMark

Описание

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

GtkTextMark это как закладка в текстовом буфере; она сохраняет позицию в тексте. Вы можете преобразовать маркер в итератор используя gtk_text_buffer_get_iter_at_mark(). В отличие от итераторов, маркеры остаются допустимыми вопреки изменений буфера, потому что их поведение определено когда текст вставляется или удаляется. Когда текст с маркером удаляется, маркер занимает первоначальную позицию занимаемую удаленным текстом. Когда текст вставляется в позицию маркера, маркер с left gravity будет перемещён в начало вновь-вставленного текста, а маркер с right gravity будет перемещён в конец. [3]

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

Маркеры опционально могут иметь имена; это может быть удобно для уничтожения переходящих GtkTextMark объектов.

Маркеры обычно создаются с помощь gtk_text_buffer_create_mark() функции.

Детали

GtkTextMark

typedef struct _GtkTextMark GtkTextMark;

gtk_text_mark_set_visible ()

void        gtk_text_mark_set_visible       (GtkTextMark *mark,
                                             gboolean setting);

Устанавливает видимость mark; вставляемый указатель обычно видим, то есть вы можете видеть его как вертикальную полосу. Кроме того, текстовый виджет использует видимый маркер для указания места текста после процедуры dragging-and-dropping. Большинство других маркеров являются невидимыми. Маркеры невидимы по умолчанию.

mark :

GtkTextMark

setting :

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


gtk_text_mark_get_visible ()

gboolean    gtk_text_mark_get_visible       (GtkTextMark *mark);

Возвращает TRUE если маркер видим (то есть курсор отображается для него)

mark :

GtkTextMark

Возвращает :

TRUE если видим


gtk_text_mark_get_deleted ()

gboolean    gtk_text_mark_get_deleted       (GtkTextMark *mark);

Возвращает TRUE если маркер был удалён из буфера с помощью gtk_text_buffer_delete_mark(). Маркеры не могут использоваться после удаления.

mark :

GtkTextMark

Возвращает :

Удален ли маркер


gtk_text_mark_get_name ()

const gchar* gtk_text_mark_get_name         (GtkTextMark *mark);

Возвращает имя маркера; для анонимных маркеров возвращается NULL.

mark :

GtkTextMark

Возвращает :

Имя маркера


gtk_text_mark_get_buffer ()

GtkTextBuffer* gtk_text_mark_get_buffer     (GtkTextMark *mark);

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

mark :

GtkTextMark

Возвращает :

маркеры GtkTextBuffer


gtk_text_mark_get_left_gravity ()

gboolean    gtk_text_mark_get_left_gravity  (GtkTextMark *mark);

Определяет имеет ли маркер левое притяжение (left gravity).

mark :

GtkTextMark

Возвращает :

TRUE если маркер имеет левое притяжение, иначе FALSE



[3] "left" и "right" относительно логического направления (сброс в начало буфера); в некоторых языках, таких как Иврит, логический-крайний-левый текст на самом деле не слева при отображении.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру