Spec-Zone.ru › GTK 3.20

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

Включенные файлы

#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

Возвращаемое значение

объект GtkWidget.

[transfer none]

С: 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_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.20/GtkEventController.html

Spec-Zone.ru

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