GtkSearchEntry
GtkSearchEntry — Поле ввода для поиска, отображающее значок поиска
Функции
Свойства
| gboolean | activates-default | Чтение / Запись |
| char * | placeholder-text | Чтение / Запись |
Сигналы
| void | activate | Действие |
| void | next-match | Действие |
| void | previous-match | Действие |
| void | search-changed | Выполнить последним |
| void | search-started | Выполнить последним |
| void | stop-search | Действие |
Типы и значения
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkSearchEntry
Реализованные интерфейсы
GtkSearchEntry реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkEditable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkSearchEntry — это виджет поля ввода, адаптированный для использования в качестве поля поиска. Основной API для взаимодействия с GtkSearchEntry как с полем ввода — интерфейс GtkEditable.
Он отображает неактивный значок «поиск», когда поле поиска пустое, и значок «очистить», когда в нём есть текст. Нажатие на значок «очистить» очищает поле поиска.
Для повышения отзывчивости фильтрации рекомендуется реагировать не на каждое изменение текста в поле ввода, а только после небольшой задержки. Для поддержки этого GtkSearchEntry отправляет сигнал «search-changed», который можно использовать вместо сигнала «changed».
Сигналы «previous-match», «next-match» и «stop-search» могут быть использованы для реализации перехода между результатами поиска и завершения поиска.
Часто GtkSearchEntry получает события, будучи размещённым внутри GtkSearchBar. Если это не так, вы можете использовать gtk_search_entry_set_key_capture_widget() для того, чтобы он принимал события нажатия клавиш с другого виджета.
Узлы CSS
entry.search ╰── text
GtkSearchEntry имеет один узел CSS с именем entry, который содержит класс стиля .sarch, а узел с текстом является потомком этого узла.
Удобство для пользователей
GtkSearchEntry использует роль GTK_ACCESSIBLE_ROLE_SEARCH_BOX.
Подробное описание функций
gtk_search_entry_new ()
GtkWidget *
gtk_search_entry_new (void); Создаёт GtkSearchEntry со значком поиска, когда поле поиска пустое, и значком очистки, когда в нём есть текст.
Возвращаемое значение
новый GtkSearchEntry
gtk_search_entry_set_key_capture_widget ()
void gtk_search_entry_set_key_capture_widget (GtkSearchEntry *entry,GtkWidget *widget);
Устанавливает widget в качестве виджета, от которого entry будет принимать события нажатия клавиш.
События нажатия клавиш обрабатываются полем поиска для начала или продолжения поиска.
Если поле ввода является частью GtkSearchBar, предпочтительнее вызвать gtk_search_bar_set_key_capture_widget(), что позволит отобразить поле ввода и, кроме того, запустить поиск в поле ввода.
Параметры
entry | ||
widget | a GtkWidget. | [nullable][transfer none] |
gtk_search_entry_get_key_capture_widget ()
GtkWidget *
gtk_search_entry_get_key_capture_widget
(GtkSearchEntry *entry); Получает виджет, от которого entry принимает события нажатия клавиш.
Параметры
entry |
Возвращаемое значение
Виджет захвата нажатия клавиш.
[transfer none]
Типы и значения
GtkSearchEntry
typedef struct _GtkSearchEntry GtkSearchEntry;
Подробности свойств
Свойство “activates-default”
“activates-default” gboolean
Указывает, активировать ли виджет по умолчанию (например, кнопку по умолчанию в диалоговом окне) при нажатии клавиши Enter.
Владелец: GtkSearchEntry
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “placeholder-text”
“placeholder-text” char *
Отображает текст в поле, когда оно пустое и не фокусируется.
Владелец: GtkSearchEntry
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Подробности сигналов
Сигнал “activate”
void user_function (GtkSearchEntry *self, gpointer user_data)
Сигнал ::activate передаётся от сигнала “activated”, который является сигналом обработки нажатия клавиш Enter.
Параметры
self | Виджет, на котором испускается сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “next-match”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::next-match — это сигнал обработки нажатия клавиш, который испускается при переходе к следующему совпадению текущего поискового запроса пользователем.
Приложения должны подключаться к нему для реализации перехода между совпадениями.
По умолчанию для этого сигнала назначена комбинация клавиш Ctrl-g.
Параметры
entry | поле ввода, на котором был испущен сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “previous-match”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::previous-match — это сигнал обработки нажатия клавиш, который испускается при переходе к предыдущему совпадению текущего поискового запроса пользователем.
Приложения должны подключаться к нему для реализации перехода между совпадениями.
По умолчанию для этого сигнала назначена комбинация клавиш Ctrl-Shift-g.
Параметры
entry | поле ввода, на котором был испущен сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “search-changed”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал “search-changed” испускается с небольшой задержкой в 150 миллисекунд после последнего изменения текста в поле ввода.
Параметры
entry | поле ввода, на котором был испущен сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить Последним
Сигнал “search-started”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::search-started испускается при инициации поиска пользователем в поле ввода.
Параметры
entry | поле ввода, на котором был испущен сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить Последним
Сигнал “stop-search”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::stop-search — это сигнал обработки нажатия клавиш, который испускается, когда пользователь прекращает поиск с помощью клавиатуры.
Приложения должны подключаться к нему для реализации скрытия поля ввода поиска в этом случае.
По умолчанию для этого сигнала назначена комбинация клавиш Esc.
Параметры
entry | поле ввода, на котором был испущен сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
© 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/GtkSearchEntry.html