Spec-Zone.ru › GTK 4.0

GtkEntryBuffer

GtkEntryBuffer — Буфер текста для GtkEntry

Функции

GtkEntryBuffer * gtk_entry_buffer_new ()
const char * gtk_entry_buffer_get_text ()
void gtk_entry_buffer_set_text ()
gsize gtk_entry_buffer_get_bytes ()
guint gtk_entry_buffer_get_length ()
int gtk_entry_buffer_get_max_length ()
void gtk_entry_buffer_set_max_length ()
guint gtk_entry_buffer_insert_text ()
guint gtk_entry_buffer_delete_text ()
void gtk_entry_buffer_emit_deleted_text ()
void gtk_entry_buffer_emit_inserted_text ()

Свойства

guint length Чтение
int max-length Чтение / Запись
char * text Чтение / Запись

Сигналы

void deleted-text Выполняется последним
void inserted-text Выполняется первым

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

struct GtkEntryBuffer

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

    GObject
    ╰── GtkEntryBuffer

Файлы заголовков

#include <gtk/gtk.h>

Описание

Класс GtkEntryBuffer содержит фактический текст, отображаемый в виджете GtkEntry.

Один объект GtkEntryBuffer может быть общим для нескольких виджетов GtkEntry, которые будут совместно использовать содержимое текста, но не положение курсора, атрибуты видимости, значки и т. д.

Класс GtkEntryBuffer может быть производным. Такой производный класс может позволить хранить текст в другом месте, например, в нестраничной памяти, что полезно в случае важных паролей. Или производный класс может интегрироваться с концепцией отмены/повторного выполнения приложения.

Функции

gtk_entry_buffer_new ()

GtkEntryBuffer *
gtk_entry_buffer_new (const char *initial_chars,
                      int n_initial_chars);

Создать новый объект GtkEntryBuffer.

Необязательно, указать начальный текст для установки в буфер.

Параметры

initial_chars

начальный текст буфера, или NULL.

[allow-none]

n_initial_chars

количество символов в initial_chars , или -1

Возвращает

Новый объект GtkEntryBuffer.

gtk_entry_buffer_get_text ()

const char *
gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);

Извлекает содержимое буфера.

Указатель на память, возвращённый этим вызовом, не изменится, пока этот объект не испустит сигнал или не будет завершён.

Параметры

buffer

a GtkEntryBuffer

Возвращает

указатель на содержимое виджета в виде строки. Эта строка указывает на внутренне выделенную память в буфере и не должна быть освобождена, изменена или сохранена.

gtk_entry_buffer_set_text ()

void
gtk_entry_buffer_set_text (GtkEntryBuffer *buffer,
                           const char *chars,
                           int n_chars);

Устанавливает текст в буфер.

Это примерно эквивалентно вызову gtk_entry_buffer_delete_text() и gtk_entry_buffer_insert_text().

Обратите внимание, что n_chars указано в символах, а не в байтах.

Параметры

buffer

a GtkEntryBuffer

chars

новый текст

n_chars

количество символов в text , или -1

gtk_entry_buffer_get_bytes ()

gsize
gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer);

Извлекает длину буфера в байтах. См. gtk_entry_buffer_get_length().

Параметры

buffer

a GtkEntryBuffer

Возвращает

Длина буфера в байтах.

gtk_entry_buffer_get_length ()

guint
gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);

Извлекает длину буфера в символах.

Параметры

buffer

a GtkEntryBuffer

Возвращает

Количество символов в буфере.

gtk_entry_buffer_get_max_length ()

int
gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer);

Извлекает максимальную разрешённую длину текста в buffer . См. gtk_entry_buffer_set_max_length().

Параметры

buffer

a GtkEntryBuffer

Возвращает

максимальное допустимое количество символов в GtkEntryBuffer, или 0, если максимальное значение не задано.

gtk_entry_buffer_set_max_length ()

void
gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
                                 int max_length);

Устанавливает максимальную разрешённую длину содержимого буфера. Если текущее содержимое длиннее заданной длины, оно будет усечено для соответствия.

Параметры

buffer

a GtkEntryBuffer

max_length

максимальная длина буфера, или 0, для отсутствия максимальной длины. (кроме максимальной длины записей.) Переданное значение будет ограничено диапазоном 0-65536.

gtk_entry_buffer_insert_text ()

guint
gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer,
                              guint position,
                              const char *chars,
                              int n_chars);

Вставляет n_chars символов chars в содержимое буфера по позиции position.

Если n_chars отрицательно, то символы из chars будут вставляться до тех пор, пока не будет найден нулевой терминатор. Если position или n_chars выходят за границы, или максимальная длина буфера текста превышена, они приводятся к разумным значениям.

Обратите внимание, что позиция и длина заданы в символах, а не в байтах.

Параметры

buffer

a GtkEntryBuffer

position

позиция, в которую необходимо вставить текст.

chars

текст для вставки в буфер.

n_chars

длина текста в символах, или -1

Возвращает

Количество фактически вставленных символов.

gtk_entry_buffer_delete_text ()

guint
gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer,
                              guint position,
                              int n_chars);

Удаляет последовательность символов из буфера. n_chars символов удаляются, начиная с position. Если n_chars отрицательно, удаляются все символы до конца текста.

Если position или n_chars выходят за границы, они приводятся к разумным значениям.

Обратите внимание, что позиции указаны в символах, а не в байтах.

Параметры

buffer

a GtkEntryBuffer

position

позиция для удаления текста

n_chars

количество символов для удаления

Возвращает

Количество удалённых символов.

gtk_entry_buffer_emit_deleted_text ()

void
gtk_entry_buffer_emit_deleted_text (GtkEntryBuffer *buffer,
                                    guint position,
                                    guint n_chars);

Используется при подклассировании GtkEntryBuffer

Параметры

buffer

a GtkEntryBuffer

position

позиция, где был удалён текст

n_chars

количество удалённых символов

gtk_entry_buffer_emit_inserted_text ()

void
gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer,
                                     guint position,
                                     const char *chars,
                                     guint n_chars);

Используется при наследовании от GtkEntryBuffer

Параметры

buffer

a GtkEntryBuffer

position

позиция, в которую был вставлен текст

chars

вставленный текст

n_chars

количество вставленных символов

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

struct GtkEntryBuffer

struct GtkEntryBuffer;

Подробности свойств

Свойство “length”

  “length”                   guint

Длина (в символах) текста в буфере.

Владелец: GtkEntryBuffer

Флаги: Чтение

Допустимые значения: <= 65535

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

Свойство “max-length”

  “max-length”               int

Максимальная длина (в символах) текста в буфере.

Владелец: GtkEntryBuffer

Флаги: Чтение / Запись

Допустимые значения: [0,65535]

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

Свойство “text”

  “text”                     char *

Содержимое буфера.

Владелец: GtkEntryBuffer

Флаги: Чтение / Запись

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

Подробности сигналов

Сигнал “deleted-text”

void
user_function (GtkEntryBuffer *buffer,
               guint           position,
               guint           n_chars,
               gpointer        user_data)

Текст изменяется в обработчике по умолчанию для этого сигнала. Если вам нужен доступ к тексту после его изменения, используйте G_CONNECT_AFTER.

Параметры

buffer

a GtkEntryBuffer

position

позиция удаления текста.

n_chars

Количество удаленных символов.

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Run Last

Сигнал “inserted-text”

void
user_function (GtkEntryBuffer *buffer,
               guint           position,
               char           *chars,
               guint           n_chars,
               gpointer        user_data)

Этот сигнал генерируется после вставки текста в буфер.

Параметры

buffer

a GtkEntryBuffer

position

позиция вставки текста.

chars

Вставленный текст.

n_chars

Количество вставленных символов.

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Run First

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

Spec-Zone.ru

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