Spec-Zone.ru › GTK 3.22

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

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

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

С: 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.22/GtkTextMark.html

Spec-Zone.ru

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