GtkSearchBar
GtkSearchBar — Панель инструментов для интеграции поля поиска с
Функции
| GtkWidget * | gtk_search_bar_new () |
| void | gtk_search_bar_connect_entry () |
| gboolean | gtk_search_bar_get_search_mode () |
| void | gtk_search_bar_set_search_mode () |
| gboolean | gtk_search_bar_get_show_close_button () |
| void | gtk_search_bar_set_show_close_button () |
| gboolean | gtk_search_bar_handle_event () |
Свойства
| 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);
return gtk_search_bar_handle_event (bar, event);
}
static void
create_toplevel (void)
{
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
GtkWindow *search_bar = gtk_search_bar_new ();
// Add more widgets to the window...
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
Состояние режима поиска (включен или выключен), и отображается ли панель поиска.
Владелец: GtkSearchBar
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “show-close-button”
“show-close-button” gboolean
Отображать ли кнопку закрытия в панели инструментов.
Владелец: GtkSearchBar
Флаги: Чтение / Запись / Создание
Значение по умолчанию: 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.24/GtkSearchBar.html