GtkSearchEntry
GtkSearchEntry — Поле ввода для поиска, отображающее значок поиска
Функции
Сигналы
Типы и значения
| struct | GtkSearchEntry |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkEntry ╰── GtkSearchEntry
Реализованные интерфейсы
GtkSearchEntry реализует AtkImplementorIface, GtkBuildable, GtkEditable и GtkCellEditable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkSearchEntry — подкласс GtkEntry, предназначенный для использования в качестве поля ввода для поиска.
Он отображает неактивный значок поиска, когда поле ввода пустое, и значок очистки, когда в нём есть текст. Нажатие на значок очистки очистит поле ввода.
Обратите внимание, что значок поиска/очистки отображается с помощью вторичного значка, и поэтому не будет работать, если вторичный значок используется для другой цели.
Чтобы сделать фильтрацию более отзывчивой, рекомендуется не реагировать на каждое изменение текста в поле ввода сразу, а только после небольшой задержки. Для поддержки этого, GtkSearchEntry генерирует сигнал «изменение-поиска», который можно использовать вместо сигнала «изменение».
Сигналы «предыдущее-соответствие», «следующее-соответствие» и «остановка-поиска» могут быть использованы для реализации перемещения между результатами поиска и завершения поиска.
Часто GtkSearchEntry будет получать события путём размещения внутри GtkSearchBar. Если это не так, вы можете использовать gtk_search_entry_handle_event() для обработки событий.
Функции
gtk_search_entry_new ()
GtkWidget *
gtk_search_entry_new (void); Создаёт GtkSearchEntry со значком поиска, когда поле ввода пустое, и значком очистки, когда в нём есть текст.
Возвращает
новый GtkSearchEntry
С: 3.6
gtk_search_entry_handle_event ()
gboolean gtk_search_entry_handle_event (GtkSearchEntry *entry,GdkEvent *event);
Эта функция должна вызываться, когда верхнеуровневое окно, содержащее поле поиска, получило событие нажатия клавиши. Если поле ввода является частью GtkSearchBar, предпочтительнее вызвать gtk_search_bar_handle_event(), которое отобразит поле ввода, а также передаст событие этой функции.
Если событие нажатия клавиши обрабатывается полем поиска и запускает или продолжает поиск, будет возвращено GDK_EVENT_STOP. Вызывающая сторона должна убедиться, что поле ввода отображается в этом случае и не распространять событие дальше.
Параметры
entry | поле ввода GtkSearchEntry | |
event | событие нажатия клавиши |
Возвращает
GDK_EVENT_STOP, если событие нажатия клавиши привело к началу или продолжению поиска; GDK_EVENT_PROPAGATE в противном случае.
С: 3.16
Типы и значения
struct GtkSearchEntry
struct GtkSearchEntry;
Подробное описание сигналов
Сигнал “next-match”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::next-match — это сигнал привязки к клавишам, который генерируется, когда пользователь инициирует переход к следующему совпадению в текущей строке поиска.
Приложения должны подключиться к нему, чтобы реализовать перемещение между совпадениями.
По умолчанию для этого сигнала назначена комбинация клавиш Ctrl-g.
Параметры
entry | поле ввода, в котором был сгенерирован сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С: 3.16
Сигнал “previous-match”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::previous-match — это сигнал привязки к клавишам, который генерируется, когда пользователь инициирует переход к предыдущему совпадению в текущей строке поиска.
Приложения должны подключиться к нему, чтобы реализовать перемещение между совпадениями.
По умолчанию для этого сигнала назначена комбинация клавиш Ctrl-Shift-g.
Параметры
entry | поле ввода, в котором был сгенерирован сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С: 3.16
Сигнал “search-changed”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал “search-changed” генерируется с небольшим отсрочкой в 150 миллисекунд после последнего изменения текста в поле ввода.
Параметры
entry | поле ввода, в котором был сгенерирован сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С: 3.10
Сигнал “stop-search”
void user_function (GtkSearchEntry *entry, gpointer user_data)
Сигнал ::stop-search — это сигнал привязки к клавишам, который генерируется, когда пользователь останавливает поиск с помощью ввода с клавиатуры.
Приложения должны подключиться к нему, чтобы реализовать скрытие поля ввода поиска в этом случае.
По умолчанию для этого сигнала назначена клавиша Escape.
Параметры
entry | поле ввода, в котором был сгенерирован сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С: 3.16
© 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/GtkSearchEntry.html