Spec-Zone.ru › GTK 3.24

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

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

a GtkSearchBar

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

Spec-Zone.ru

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