GtkSearchBar
GtkSearchBar — Панель инструментов для интеграции поля поиска с
Функции
Свойства
| gboolean | search-mode-enabled | Чтение / Запись |
| gboolean | show-close-button | Чтение / Запись / Создание |
Типы и значения
| struct | GtkSearchBar |
| struct | GtkSearchBarClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkSearchBar
Реализованные интерфейсы
GtkSearchBar реализует AtkImplementorIface и GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkSearchBar — контейнер, предназначенный для встраивания поля поиска (возможно, с дополнительными связанными виджетами, такими как выпадающие меню или кнопки). Поле поиска отображается при запуске поиска путём ввода с клавиатуры или переключением режима поиска приложения.
Для запуска поиска с помощью нажатий клавиш необходимо перенаправлять события с верхнего уровня окна, содержащего поле поиска. Смотрите пример кода в gtk_search_bar_handle_event(). Общие сочетания клавиш, такие как Ctrl+F, должны обрабатываться как действие приложения или с помощью пунктов меню.
Также необходимо указать полю поиска, какое поле используется в качестве поля поиска, используя gtk_search_bar_connect_entry(). Следующий пример демонстрирует, как создать более сложное поле поиска.
Узлы CSS
GtkSearchBar имеет единственный узел CSS с именем searchbar.
Создание поля поиска
Функции
gtk_search_bar_new ()
GtkWidget *
gtk_search_bar_new (void); Создаёт GtkSearchBar. Вам необходимо указать виджет, который будет использоваться в качестве поля ввода текста, используя gtk_search_bar_connect_entry().
Возвращает
новый GtkSearchBar
С: 3.10
gtk_search_bar_connect_entry ()
void gtk_search_bar_connect_entry (GtkSearchBar *bar,GtkEntry *entry);
Подключает виджет GtkEntry, переданный как используемый в этой панели поиска. Поле ввода должно быть потомком панели поиска. Это необходимо только если поле ввода не является непосредственным потомком панели поиска (как в нашем примере).
Параметры
bar | ||
entry | a GtkEntry |
С: 3.10
gtk_search_bar_get_search_mode ()
gboolean
gtk_search_bar_get_search_mode (GtkSearchBar *bar); Возвращает, включён ли режим поиска.
Параметры
bar |
Возвращает
включён ли режим поиска
С: 3.10
gtk_search_bar_set_search_mode ()
void gtk_search_bar_set_search_mode (GtkSearchBar *bar,gboolean search_mode);
Включает или отключает режим поиска.
Параметры
bar | ||
search_mode | новое состояние режима поиска |
С: 3.10
gtk_search_bar_get_show_close_button ()
gboolean
gtk_search_bar_get_show_close_button (GtkSearchBar *bar); Возвращает, отображается ли кнопка закрытия.
Параметры
bar |
Возвращает
отображается ли кнопка закрытия
С: 3.10
gtk_search_bar_set_show_close_button ()
void gtk_search_bar_set_show_close_button (GtkSearchBar *bar,gboolean visible);
Отображает или скрывает кнопку закрытия. Приложениям, уже имеющим кнопку переключения «поиска», не следует отображать кнопку закрытия в своей панели поиска, так как это дублирует роль кнопки переключения.
Параметры
bar | ||
visible | будет ли отображаться кнопка закрытия |
С: 3.10
gtk_search_bar_handle_event ()
gboolean gtk_search_bar_handle_event (GtkSearchBar *bar,GdkEvent *event);
Эта функция должна вызываться, когда верхнеуровневое окно, содержащее панель поиска, получает событие нажатия клавиши.
Если событие нажатия клавиши обрабатывается панелью поиска, панель будет отображаться, поле ввода заполнится введённым текстом и будет возвращено GDK_EVENT_STOP. Вызывающая сторона должна гарантировать, что события не будут переданы дальше.
Если ни одно поле ввода не было подключено к панели поиска с помощью gtk_search_bar_connect_entry(), эта функция вернётся немедленно с предупреждением.
Отображение панели поиска при нажатии клавиш
static gboolean on_key_press_event(GtkWidget*widget, GdkEvent*event, gpointer user_data) { GtkSearchBar*bar =GTK_SEARCH_BAR(user_data); returngtk_search_bar_handle_event(bar, event); } g_signal_connect(window, "key-press-event", G_CALLBACK(on_key_press_event), search_bar);
Параметры
bar | ||
event | a GdkEvent содержащее события нажатия клавиш |
Возвращает
GDK_EVENT_STOP, если событие нажатия клавиши привело к вводу текста в поле поиска (и отображению панели поиска при необходимости), GDK_EVENT_PROPAGATE в противном случае.
С: 3.10
Типы и значения
struct GtkSearchBar
struct GtkSearchBar;
struct GtkSearchBarClass
struct GtkSearchBarClass {
GtkBinClass parent_class;
};
Члены
Подробные сведения о свойствах
Свойство “search-mode-enabled”
“search-mode-enabled” gboolean
Включён ли режим поиска и отображается ли панель поиска.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “show-close-button”
“show-close-button” gboolean
Отображать ли кнопку закрытия в панели инструментов.
Флаги: Чтение / Запись / Конструирование
Значение по умолчанию: FALSE
© 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/GtkSearchBar.html