Spec-Zone.ru › GTK 3.24

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 Чтение/Запись/Только для создания
char * имя Чтение/Запись/Только для создания

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

struct 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

C 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

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

имя метки.

[nullable]

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

Определяет, имеет ли метка левую гравитацию. При вставке текста в текущую позицию метки, если у неё есть левая гравитация, она будет перемещена влево от вставленного текста, в противном случае — вправо.

Владелец: GtkTextMark

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

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

Свойство “name”

  “name”                     char *

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

Владелец: GtkTextMark

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

Значение по умолчанию: 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.24/GtkTextMark.html

Spec-Zone.ru

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