Spec-Zone.ru › GTK 3.22

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

a GtkSearchBar

entry

a GtkEntry

С: 3.10

gtk_search_bar_get_search_mode ()

gboolean
gtk_search_bar_get_search_mode (GtkSearchBar *bar);

Возвращает состояние режима поиска (включен или выключен).

Параметры

bar

a GtkSearchBar

Возвращает

состояние режима поиска

С: 3.10

gtk_search_bar_set_search_mode ()

void
gtk_search_bar_set_search_mode (GtkSearchBar *bar,
                                gboolean search_mode);

Переключает режим поиска.

Параметры

bar

a GtkSearchBar

search_mode

новое состояние режима поиска

С: 3.10

gtk_search_bar_get_show_close_button ()

gboolean
gtk_search_bar_get_show_close_button (GtkSearchBar *bar);

Возвращает состояние отображения кнопки закрытия.

Параметры

bar

a GtkSearchBar

Возвращает

состояние отображения кнопки закрытия

С: 3.10

gtk_search_bar_set_show_close_button ()

void
gtk_search_bar_set_show_close_button (GtkSearchBar *bar,
                                      gboolean visible);

Отображает или скрывает кнопку закрытия. Приложения, у которых уже есть кнопка переключения «поиска», не должны показывать кнопку закрытия в панели поиска, так как это дублирует функцию кнопки переключения.

Параметры

bar

a GtkSearchBar

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);
}

g_signal_connect (window,
                 "key-press-event",
                  G_CALLBACK (on_key_press_event),
                  search_bar);

Параметры

bar

a GtkSearchBar

event

a GdkEvent containing key press events

Возвращает

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.22/GtkSearchBar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API