GtkEventController
GtkEventController — Самодостаточный обработчик серии событий
Функции
Свойства
| GtkPropagationPhase | propagation-phase | Чтение/Запись |
| GtkWidget * | widget | Чтение/Запись/Только для создания |
Типы и значения
| GtkEventController | |
| перечисление | GtkPropagationPhase |
Иерархия объектов
GObject
╰── GtkEventController
├── GtkEventControllerKey
├── GtkEventControllerMotion
├── GtkEventControllerScroll
├── 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 | События доставляются в обработчики событий виджетов по умолчанию. Обратите внимание, что реализации виджетов должны выполнять цепочку вызовов для кнопок, перемещений, касаний и прерванных захватов обработчиков для контроллеров в этой фазе, чтобы они выполнялись. |
Since: 3.14
Подробности свойств
Свойство “propagation-phase”
“propagation-phase” GtkPropagationPhase
Фаза распространения, на которой этот контроллер будет обрабатывать события.
Владелец: GtkEventController
Флаги: Чтение / Запись
Значение по умолчанию: GTK_PHASE_BUBBLE
Since: 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.24/GtkEventController.html