GtkEventControllerFocus
GtkEventControllerFocus — Контроллер событий для фокуса
Функции
| GtkEventController * | gtk_event_controller_focus_new () |
| gboolean | gtk_event_controller_focus_contains_focus () |
| gboolean | gtk_event_controller_focus_is_focus () |
Свойства
| gboolean | contains-focus | Чтение |
| gboolean | is-focus | Чтение |
Типы и значения
Иерархия объектов
GObject
╰── GtkEventController
╰── GtkEventControllerFocus
Файлы включения
#include <gtk/gtk.h>
Описание
GtkEventControllerFocus — контроллер событий, предназначенный для случаев, когда вам нужно знать, где находится фокус.
Функции
gtk_event_controller_focus_new ()
GtkEventController *
gtk_event_controller_focus_new (void); Создаёт новый контроллер событий, который будет обрабатывать события фокуса.
Возвращает
новый GtkEventControllerFocus
gtk_event_controller_focus_contains_focus ()
gboolean
gtk_event_controller_focus_contains_focus
(GtkEventControllerFocus *self); Возвращает значение свойства GtkEventControllerFocus:contains-focus.
Параметры
self |
Возвращает
TRUE, если фокус находится внутри self или одного из его дочерних элементов
gtk_event_controller_focus_is_focus ()
gboolean
gtk_event_controller_focus_is_focus (GtkEventControllerFocus *self); Возвращает значение свойства GtkEventControllerFocus:is-focus.
Параметры
self |
Возвращает
TRUE, если фокус находится в self, но не в одном из его дочерних элементов
Типы и значения
GtkEventControllerFocus
typedef struct _GtkEventControllerFocus GtkEventControllerFocus;
Подробное описание свойств
Свойство “contains-focus”
“contains-focus” gboolean
Указывает, находится ли фокус внутри виджета контроллера. Смотрите свойство “is-focus” для определения, находится ли фокус непосредственно в виджете или внутри его потомка.
При обработке событий фокуса это свойство обновляется до срабатывания сигналов “enter” или “leave”.
Владелец: GtkEventControllerFocus
Флаги: Чтение
Значение по умолчанию: FALSE
Свойство “is-focus”
“is-focus” gboolean
Указывает, находится ли фокус в самом виджете контроллера, а не в одном из его потомков. Смотрите также “contains-focus”.
При обработке событий фокуса это свойство обновляется до срабатывания сигналов “enter” или “leave”.
Владелец: GtkEventControllerFocus
Флаги: Чтение
Значение по умолчанию: FALSE
Подробное описание сигналов
Сигнал “enter”
void user_function (GtkEventControllerFocus *controller, gpointer user_data)
Этот сигнал срабатывает всякий раз, когда фокус входит в виджет или один из его потомков.
Обратите внимание, что в некоторых случаях вы можете не получить сигнал ::enter, даже если виджет становится местом фокуса (например, когда фокус перемещается с потомка виджета в сам виджет). Если вас интересуют эти случаи, вы можете отслеживать изменения свойства “is-focus”.
Параметры
controller | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнять последним
Сигнал “leave”
void user_function (GtkEventControllerFocus *controller, gpointer user_data)
Этот сигнал срабатывает всякий раз, когда фокус покидает иерархию виджетов, укоренённую в виджете, к которому прикреплён контроллер.
Обратите внимание, что в некоторых случаях вы можете не получить сигнал ::leave, даже если фокус перемещается из виджета (например, когда фокус перемещается из виджета в потомка). Если вас интересуют эти случаи, вы можете отслеживать изменения свойства “is-focus”.
Параметры
controller | объект, получивший сигнал | |
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/GtkEventControllerFocus.html