Spec-Zone.ru › GTK 3.24

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
        ├── 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

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

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

Since: 3.14

Подробности свойств

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

  “propagation-phase”        GtkPropagationPhase

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

Владелец: GtkEventController

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

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

Since: 3.14

Свойство “widget”

  “widget”                   GtkWidget *

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

Владелец: GtkEventController

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

Since: 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.24/GtkEventController.html

Spec-Zone.ru

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