Spec-Zone.ru › GTK 4.0

GtkSearchEntry

GtkSearchEntry — Поле ввода для поиска, отображающее значок поиска

Функции

GtkWidget * gtk_search_entry_new ()
void gtk_search_entry_set_key_capture_widget ()
GtkWidget * gtk_search_entry_get_key_capture_widget ()

Свойства

gboolean activates-default Чтение / Запись
char * placeholder-text Чтение / Запись

Сигналы

void activate Действие
void next-match Действие
void previous-match Действие
void search-changed Выполнить последним
void search-started Выполнить последним
void stop-search Действие

Типы и значения

GtkSearchEntry

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSearchEntry

Реализованные интерфейсы

GtkSearchEntry реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkEditable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkSearchEntry — это виджет поля ввода, адаптированный для использования в качестве поля поиска. Основной API для взаимодействия с GtkSearchEntry как с полем ввода — интерфейс GtkEditable.

Он отображает неактивный значок «поиск», когда поле поиска пустое, и значок «очистить», когда в нём есть текст. Нажатие на значок «очистить» очищает поле поиска.

Для повышения отзывчивости фильтрации рекомендуется реагировать не на каждое изменение текста в поле ввода, а только после небольшой задержки. Для поддержки этого GtkSearchEntry отправляет сигнал «search-changed», который можно использовать вместо сигнала «changed».

Сигналы «previous-match», «next-match» и «stop-search» могут быть использованы для реализации перехода между результатами поиска и завершения поиска.

Часто GtkSearchEntry получает события, будучи размещённым внутри GtkSearchBar. Если это не так, вы можете использовать gtk_search_entry_set_key_capture_widget() для того, чтобы он принимал события нажатия клавиш с другого виджета.

Узлы CSS

entry.search
╰── text

GtkSearchEntry имеет один узел CSS с именем entry, который содержит класс стиля .sarch, а узел с текстом является потомком этого узла.

Удобство для пользователей

GtkSearchEntry использует роль GTK_ACCESSIBLE_ROLE_SEARCH_BOX.

Подробное описание функций

gtk_search_entry_new ()

GtkWidget *
gtk_search_entry_new (void);

Создаёт GtkSearchEntry со значком поиска, когда поле поиска пустое, и значком очистки, когда в нём есть текст.

Возвращаемое значение

новый GtkSearchEntry

gtk_search_entry_set_key_capture_widget ()

void
gtk_search_entry_set_key_capture_widget
                               (GtkSearchEntry *entry,
                                GtkWidget *widget);

Устанавливает widget в качестве виджета, от которого entry будет принимать события нажатия клавиш.

События нажатия клавиш обрабатываются полем поиска для начала или продолжения поиска.

Если поле ввода является частью GtkSearchBar, предпочтительнее вызвать gtk_search_bar_set_key_capture_widget(), что позволит отобразить поле ввода и, кроме того, запустить поиск в поле ввода.

Параметры

entry

a GtkSearchEntry

widget

a GtkWidget.

[nullable][transfer none]

gtk_search_entry_get_key_capture_widget ()

GtkWidget *
gtk_search_entry_get_key_capture_widget
                               (GtkSearchEntry *entry);

Получает виджет, от которого entry принимает события нажатия клавиш.

Параметры

entry

a GtkSearchEntry

Возвращаемое значение

Виджет захвата нажатия клавиш.

[transfer none]

Типы и значения

GtkSearchEntry

typedef struct _GtkSearchEntry GtkSearchEntry;

Подробности свойств

Свойство “activates-default”

  “activates-default”        gboolean

Указывает, активировать ли виджет по умолчанию (например, кнопку по умолчанию в диалоговом окне) при нажатии клавиши Enter.

Владелец: GtkSearchEntry

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “placeholder-text”

  “placeholder-text”         char *

Отображает текст в поле, когда оно пустое и не фокусируется.

Владелец: GtkSearchEntry

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Подробности сигналов

Сигнал “activate”

void
user_function (GtkSearchEntry *self,
               gpointer        user_data)

Сигнал ::activate передаётся от сигнала “activated”, который является сигналом обработки нажатия клавиш Enter.

Параметры

self

Виджет, на котором испускается сигнал

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “next-match”

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

Сигнал ::next-match — это сигнал обработки нажатия клавиш, который испускается при переходе к следующему совпадению текущего поискового запроса пользователем.

Приложения должны подключаться к нему для реализации перехода между совпадениями.

По умолчанию для этого сигнала назначена комбинация клавиш Ctrl-g.

Параметры

entry

поле ввода, на котором был испущен сигнал

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “previous-match”

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

Сигнал ::previous-match — это сигнал обработки нажатия клавиш, который испускается при переходе к предыдущему совпадению текущего поискового запроса пользователем.

Приложения должны подключаться к нему для реализации перехода между совпадениями.

По умолчанию для этого сигнала назначена комбинация клавиш Ctrl-Shift-g.

Параметры

entry

поле ввода, на котором был испущен сигнал

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “search-changed”

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

Сигнал “search-changed” испускается с небольшой задержкой в 150 миллисекунд после последнего изменения текста в поле ввода.

Параметры

entry

поле ввода, на котором был испущен сигнал

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнить Последним

Сигнал “search-started”

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

Сигнал ::search-started испускается при инициации поиска пользователем в поле ввода.

Параметры

entry

поле ввода, на котором был испущен сигнал

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнить Последним

Сигнал “stop-search”

void
user_function (GtkSearchEntry *entry,
               gpointer        user_data)

Сигнал ::stop-search — это сигнал обработки нажатия клавиш, который испускается, когда пользователь прекращает поиск с помощью клавиатуры.

Приложения должны подключаться к нему для реализации скрытия поля ввода поиска в этом случае.

По умолчанию для этого сигнала назначена комбинация клавиш Esc.

Параметры

entry

поле ввода, на котором был испущен сигнал

user_data

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Действие

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkSearchEntry.html

Spec-Zone.ru

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