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