GtkEventController
GtkEventController — Самодостаточный обработчик серии событий
Функции
Свойства
| GtkPropagationPhase | propagation-phase | Чтение/Запись |
| GtkWidget * | widget | Чтение/Запись/Только для создания |
Типы и значения
| GtkEventController | |
| перечисление | GtkPropagationPhase |
Иерархия объектов
GObject ╰── GtkEventController ├── GtkGesture ╰── GtkPadController
Файлы
#include <gtk/gtk.h>
Описание
GtkEventController — базовая, низкоуровневая реализация для контроллеров событий. Они реагируют на серию GdkEvents и, возможно, запускают действия в результате этого.
Функции
gtk_event_controller_get_propagation_phase ()
GtkPropagationPhase
gtk_event_controller_get_propagation_phase
(GtkEventController *controller); Получает фазу распространения, на которой controller обрабатывает события.
Параметры
controller |
Возвращает
фазу распространения
С версии: 3.14
gtk_event_controller_set_propagation_phase ()
void gtk_event_controller_set_propagation_phase (GtkEventController *controller,GtkPropagationPhase phase);
Устанавливает фазу распространения, на которой контроллер обрабатывает события.
Если phase равен GTK_PHASE_NONE, автоматическая обработка событий не будет выполняться, но будет поддерживаться дополнительная обработка жестов. В этой фазе события можно управлять, вызвав gtk_event_controller_handle_event().
Параметры
controller | ||
phase | фаза распространения |
С версии: 3.14
gtk_event_controller_handle_event ()
gboolean gtk_event_controller_handle_event (GtkEventController *controller,const GdkEvent *event);
Подает события в controller, чтобы его можно было интерпретировать и запустить действия контроллера.
Параметры
controller | ||
event | a GdkEvent |
Возвращает
TRUE, если событие потенциально полезно для запуска действия контроллера
С версии: 3.14
gtk_event_controller_get_widget ()
GtkWidget *
gtk_event_controller_get_widget (GtkEventController *controller); Возвращает GtkWidget, к которому относится этот контроллер.
Параметры
controller |
С версии: 3.14
gtk_event_controller_reset ()
void
gtk_event_controller_reset (GtkEventController *controller); Сбрасывает controller в чистое состояние. Все взаимодействия, которые контроллер выполнил через “handle-event”, будут отменены в этот момент.
Параметры
controller |
С версии: 3.14
Типы и значения
GtkEventController
typedef struct _GtkEventController GtkEventController;
Перечисление GtkPropagationPhase
Описывает этап, на котором события поступают в GtkEventController.
Члены
GTK_PHASE_NONE | События не доставляются автоматически. Их можно вручную передать через | |
GTK_PHASE_CAPTURE | События доставляются на фазе захвата. Фаза захвата происходит до фазы всплытия, идёт сверху вниз до виджета, генерирующего событие. Этот вариант следует использовать только для контейнеров, которые могут обработать события до своих дочерних элементов. | |
GTK_PHASE_BUBBLE | События доставляются на фазе всплытия. Фаза всплытия происходит после фазы захвата и перед выполнением обработчиков по умолчанию. Эта фаза идёт снизу вверх до верхнего уровня виджета. | |
GTK_PHASE_TARGET | События доставляются в обработчики событий виджетов по умолчанию. Обратите внимание, что реализации виджетов должны осуществлять цепочку вызовов для обработчиков кнопок, перемещения, касания и разрыва захвата для контроллеров на этой фазе, чтобы они выполнялись. |
С: 3.14
Подробное описание свойств
Свойство “propagation-phase”
“propagation-phase” GtkPropagationPhase
Фаза распространения, на которой этот контроллер будет обрабатывать события.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_PHASE_BUBBLE
С: 3.14
См. также
© 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/GtkEventController.html