GtkSearchEntry
GtkSearchEntry — Поле ввода для поиска, отображающее значок поиска
Функции
Сигналы
| void | next-match | Действие |
| void | previous-match | Действие |
| void | search-changed | Выполняется последним |
| void | stop-search | Действие |
Типы и значения
| struct | GtkSearchEntry |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkEntry ╰── GtkSearchEntry
Реализованные интерфейсы
GtkSearchEntry реализует AtkImplementorIface, GtkBuildable, GtkEditable и GtkCellEditable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkSearchEntry — подкласс GtkEntry, предназначенный для использования в качестве поля ввода для поиска.
Он отображает неактивный значок «найти» при пустом поле ввода и значок «очистить» при наличии текста. Нажатие на значок «очистить» очистит поле ввода.
Обратите внимание, что значок поиска/очистки отображается с помощью дополнительного значка, и, таким образом, не работает, если вы используете позицию дополнительного значка для какой-либо другой цели.
Чтобы сделать фильтрацию более отзывчивой, не стоит реагировать на каждое изменение текста в поле ввода немедленно, а только после небольшой задержки. Для поддержки этого, GtkSearchEntry испускает сигнал «search-changed», который можно использовать вместо сигнала «changed».
Сигналы «previous-match», «next-match» и «stop-search» можно использовать для реализации перемещения между результатами поиска и завершения поиска.
Часто 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 | ||
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.22/GtkSearchEntry.html