Spec-Zone.ru › GTK 3.20

GtkEntryBuffer

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

Функции

GtkEntryBuffer * gtk_entry_buffer_new ()
const gchar * gtk_entry_buffer_get_text ()
void gtk_entry_buffer_set_text ()
gsize gtk_entry_buffer_get_bytes ()
guint gtk_entry_buffer_get_length ()
gint 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 Чтение
gint max-length Чтение/Запись
gchar * text Чтение/Запись

Сигналы

void deleted-text Run First
void inserted-text Run First

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

struct GtkEntryBuffer

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

    GObject
    ╰── GtkEntryBuffer

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

#include <gtk/gtk.h>

Описание

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

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

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

Функции

gtk_entry_buffer_new ()

GtkEntryBuffer *
gtk_entry_buffer_new (const gchar *initial_chars,
                      gint n_initial_chars);

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

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

Параметры

initial_chars

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

[allow-none]

n_initial_chars

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

Возвращает

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

С: 2.18

gtk_entry_buffer_get_text ()

const gchar *
gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);

Получить содержимое буфера.

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

Параметры

buffer

a GtkEntryBuffer

Возвращает

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

С: 2.18

gtk_entry_buffer_set_text ()

void
gtk_entry_buffer_set_text (GtkEntryBuffer *buffer,
                           const gchar *chars,
                           gint n_chars);

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

Приблизительно эквивалентно вызову gtk_entry_buffer_delete_text() и gtk_entry_buffer_insert_text().

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

Параметры

buffer

a GtkEntryBuffer

chars

новый текст

n_chars

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

С: 2.18

gtk_entry_buffer_get_bytes ()

gsize
gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer);

Получить длину буфера в байтах. См. gtk_entry_buffer_get_length().

Параметры

buffer

a GtkEntryBuffer

Возвращает

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

С: 2.18

gtk_entry_buffer_get_length ()

guint
gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);

Получить длину буфера в символах.

Параметры

buffer

a GtkEntryBuffer

Возвращает

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

С: 2.18

gtk_entry_buffer_get_max_length ()

gint
gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer);

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

Параметры

buffer

a GtkEntryBuffer

Возвращает

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

С: 2.18

gtk_entry_buffer_set_max_length ()

void
gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
                                 gint max_length);

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

Параметры

buffer

a GtkEntryBuffer

max_length

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

С: 2.18

gtk_entry_buffer_insert_text ()

guint
gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer,
                              guint position,
                              const gchar *chars,
                              gint n_chars);

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

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

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

Параметры

buffer

a GtkEntryBuffer

position

позиция, в которую вставить текст.

chars

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

n_chars

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

Возвращает

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

С: 2.18

gtk_entry_buffer_delete_text ()

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

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

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

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

Параметры

buffer

a GtkEntryBuffer

position

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

n_chars

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

Возвращает

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

С: 2.18

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

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

С: 2.18

gtk_entry_buffer_emit_inserted_text ()

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

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

Параметры

buffer

a GtkEntryBuffer

position

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

chars

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

n_chars

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

С: 2.18

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

struct GtkEntryBuffer

struct GtkEntryBuffer;

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

Свойство “length”

  “length”                   guint

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

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

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

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

С: 2.18

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

  “max-length”               gint

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

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

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

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

С: 2.18

Свойство “text”

  “text”                     gchar *

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

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

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

С: 2.18

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

Сигнал “deleted-text”

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

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

Параметры

buffer

a GtkEntryBuffer

position

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

n_chars

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

user_data

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

Флаги: Выполнить первым

С: 2.18

Сигнал “inserted-text”

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

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

Параметры

buffer

a GtkEntryBuffer

position

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

chars

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

n_chars

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

user_data

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

Флаги: Выполнить первым

С: 2.18

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

Spec-Zone.ru

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