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 | длина | Чтение |
| int | максимальная длина | Чтение / Запись |
| char * | текст | Чтение / Запись |
Сигналы
| void | удаленный текст | Выполняется первым |
| void | вставленный текст | Выполняется первым |
Типы и значения
| 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
Длина (в символах) текста в буфере.
Владелец: GtkEntryBuffer
Флаги: Чтение
Разрешенные значения: <= 65535
Значение по умолчанию: 0
С версии: 2.18
Свойство “max-length”
“max-length” int
Максимальная длина (в символах) текста в буфере.
Владелец: GtkEntryBuffer
Флаги: Чтение / Запись
Разрешенные значения: [0,65535]
Значение по умолчанию: 0
С версии: 2.18
Свойство “text”
“text” char *
Содержимое буфера.
Владелец: GtkEntryBuffer
Флаги: Чтение / Запись
Значение по умолчанию: ""
С версии: 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, char *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.24/GtkEntryBuffer.html