Spec-Zone.ru › GTK 3.22

GtkEventController

GtkEventController — Самодостаточный обработчик серии событий

Функции

GtkPropagationPhase gtk_event_controller_get_propagation_phase ()
void gtk_event_controller_set_propagation_phase ()
gboolean gtk_event_controller_handle_event ()
GtkWidget * gtk_event_controller_get_widget ()
void gtk_event_controller_reset ()

Свойства

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

a 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

a GtkEventController

phase

фаза распространения

С версии: 3.14

gtk_event_controller_handle_event ()

gboolean
gtk_event_controller_handle_event (GtkEventController *controller,
                                   const GdkEvent *event);

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

Параметры

controller

a GtkEventController

event

a GdkEvent

Возвращает

TRUE, если событие потенциально полезно для запуска действия контроллера

С версии: 3.14

gtk_event_controller_get_widget ()

GtkWidget *
gtk_event_controller_get_widget (GtkEventController *controller);

Возвращает GtkWidget, к которому относится этот контроллер.

Параметры

controller

a GtkEventController

Возвращает

a GtkWidget.

[transfer none]

С версии: 3.14

gtk_event_controller_reset ()

void
gtk_event_controller_reset (GtkEventController *controller);

Сбрасывает controller в чистое состояние. Все взаимодействия, которые контроллер выполнил через “handle-event”, будут отменены в этот момент.

Параметры

controller

a GtkEventController

С версии: 3.14

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

GtkEventController

typedef struct _GtkEventController GtkEventController;

Перечисление GtkPropagationPhase

Описывает этап, на котором события поступают в GtkEventController.

Члены

GTK_PHASE_NONE

События не доставляются автоматически. Их можно вручную передать через gtk_event_controller_handle_event(). Это следует использовать только когда требуется полный контроль над тем, когда и обрабатывает ли контроллер событие.

GTK_PHASE_CAPTURE

События доставляются на фазе захвата. Фаза захвата происходит до фазы всплытия, идёт сверху вниз до виджета, генерирующего событие. Этот вариант следует использовать только для контейнеров, которые могут обработать события до своих дочерних элементов.

GTK_PHASE_BUBBLE

События доставляются на фазе всплытия. Фаза всплытия происходит после фазы захвата и перед выполнением обработчиков по умолчанию. Эта фаза идёт снизу вверх до верхнего уровня виджета.

GTK_PHASE_TARGET

События доставляются в обработчики событий виджетов по умолчанию. Обратите внимание, что реализации виджетов должны осуществлять цепочку вызовов для обработчиков кнопок, перемещения, касания и разрыва захвата для контроллеров на этой фазе, чтобы они выполнялись.

С: 3.14

Подробное описание свойств

Свойство “propagation-phase”

  “propagation-phase”        GtkPropagationPhase

Фаза распространения, на которой этот контроллер будет обрабатывать события.

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

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

С: 3.14

Свойство “widget”

  “widget”                   GtkWidget *

Виджет, получающий GdkEvents, которые будет обрабатывать контроллер.

Флаги: Чтение / Запись / Только для создания

С: 3.14

См. также

GtkGesture

© 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

Spec-Zone.ru

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