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 | начальный текст буфера, или | [allow-none] |
n_initial_chars | количество символов в |
Возвращает
Новый объект GtkEntryBuffer.
gtk_entry_buffer_get_text ()
const char *
gtk_entry_buffer_get_text (GtkEntryBuffer *buffer); Извлекает содержимое буфера.
Указатель на память, возвращённый этим вызовом, не изменится, пока этот объект не испустит сигнал или не будет завершён.
Параметры
buffer |
Возвращает
указатель на содержимое виджета в виде строки. Эта строка указывает на внутренне выделенную память в буфере и не должна быть освобождена, изменена или сохранена.
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 | ||
chars | новый текст | |
n_chars | количество символов в |
gtk_entry_buffer_get_bytes ()
gsize
gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer); Извлекает длину буфера в байтах. См. gtk_entry_buffer_get_length().
Параметры
buffer |
Возвращает
Длина буфера в байтах.
gtk_entry_buffer_get_length ()
guint
gtk_entry_buffer_get_length (GtkEntryBuffer *buffer); Извлекает длину буфера в символах.
Параметры
buffer |
Возвращает
Количество символов в буфере.
gtk_entry_buffer_get_max_length ()
int
gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer); Извлекает максимальную разрешённую длину текста в buffer . См. gtk_entry_buffer_set_max_length().
Параметры
buffer |
Возвращает
максимальное допустимое количество символов в GtkEntryBuffer, или 0, если максимальное значение не задано.
gtk_entry_buffer_set_max_length ()
void gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,int max_length);
Устанавливает максимальную разрешённую длину содержимого буфера. Если текущее содержимое длиннее заданной длины, оно будет усечено для соответствия.
Параметры
buffer | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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