Spec-Zone.ru › GTK 3.20

GtkTextMark

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

Функции

GtkTextMark * gtk_text_mark_new ()
void gtk_text_mark_set_visible ()
gboolean gtk_text_mark_get_visible ()
gboolean gtk_text_mark_get_deleted ()
const gchar * gtk_text_mark_get_name ()
GtkTextBuffer * gtk_text_mark_get_buffer ()
gboolean gtk_text_mark_get_left_gravity ()

Свойства

gboolean left-gravity Чтение/Запись/Только для создания
gchar * имя Чтение/Запись/Только для создания

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

структура GtkTextMark

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

    GObject
    ╰── GtkTextMark

Включаемые файлы

#include <gtk/gtk.h>

Описание

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

GtkTextMark — это как закладка в буфере текста; она сохраняет позицию в тексте. Вы можете преобразовать метку в итератор, используя gtk_text_buffer_get_iter_at_mark(). В отличие от итераторов, метки остаются действительными при изменениях буфера, потому что их поведение определено при вставке или удалении текста. При удалении текста, содержащего метку, метка остается в позиции, которую занимал удаленный текст. При вставке текста в метку метка с «левой гравитацией» будет перемещена в начало вставленного текста, а метка с «правой гравитацией» — в конец.

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

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

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

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

Функции

gtk_text_mark_new ()

GtkTextMark *
gtk_text_mark_new (const gchar *name,
                   gboolean left_gravity);

Создаёт метку текста. Добавьте её в буфер с помощью gtk_text_buffer_add_mark(). Если name имеет значение NULL, метка является анонимной; в противном случае её можно получить по имени, используя gtk_text_buffer_get_mark(). Если у метки установлена левая гравитация, и текст вставляется в текущую позицию метки, метка будет перемещена влево от нового вставленного текста. Если метка имеет правую гравитацию (left_gravity = FALSE), метка окажется справа от нового вставленного текста. Стандартный курсор слева направо — это метка с правой гравитацией (при наборе текст остается справа от того, что вы печатаете).

Параметры

name

имя метки или NULL.

[allow-none]

left_gravity

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

Возвращает

новую GtkTextMark

С: 2.12

gtk_text_mark_set_visible ()

void
gtk_text_mark_set_visible (GtkTextMark *mark,
                           gboolean setting);

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

Параметры

mark

a GtkTextMark

setting

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

gtk_text_mark_get_visible ()

gboolean
gtk_text_mark_get_visible (GtkTextMark *mark);

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

Параметры

mark

a GtkTextMark

Возвращает

TRUE, если видимая

gtk_text_mark_get_deleted ()

gboolean
gtk_text_mark_get_deleted (GtkTextMark *mark);

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

Параметры

mark

a GtkTextMark

Возвращает

удалена ли метка

gtk_text_mark_get_name ()

const gchar *
gtk_text_mark_get_name (GtkTextMark *mark);

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

Параметры

mark

a GtkTextMark

Возвращает

имя метки

gtk_text_mark_get_buffer ()

GtkTextBuffer *
gtk_text_mark_get_buffer (GtkTextMark *mark);

Получает буфер, в котором находится эта метка, или NULL, если метка удалена.

Параметры

mark

a GtkTextMark

Возвращает

GtkTextBuffer метки.

[transfer none]

gtk_text_mark_get_left_gravity ()

gboolean
gtk_text_mark_get_left_gravity (GtkTextMark *mark);

Определяет, имеет ли метка левую гравитацию.

Параметры

mark

a GtkTextMark

Возвращает

TRUE, если метка имеет левую гравитацию, FALSE в противном случае

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

struct GtkTextMark

struct GtkTextMark;

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

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

  “left-gravity”             gboolean

Указывает, имеет ли метка левую гравитацию. Когда текст вставляется в текущую позицию метки, если метка имеет левую гравитацию, она будет перемещена влево от вставленного текста, в противном случае — вправо.

Флаги: Чтение / Запись / Только для конструирования

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

Свойство “name”

  “name”                     gchar *

Имя метки или NULL, если метка анонимная.

Флаги: Чтение / Запись / Только для конструирования

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

© 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/GtkTextMark.html

Spec-Zone.ru

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