Spec-Zone.ru › GTK 4.0

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 char * gtk_text_mark_get_name ()
GtkTextBuffer * gtk_text_mark_get_buffer ()
gboolean gtk_text_mark_get_left_gravity ()

Свойства

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

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

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 char *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

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 char *
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 в противном случае

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

Структура 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-old.gnome.org/gtk4/4.0/GtkTextMark.html

Spec-Zone.ru

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