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