Spec-Zone.ru › GTK 4.0

GtkEventController

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

Функции

GtkPropagationPhase gtk_event_controller_get_propagation_phase ()
void gtk_event_controller_set_propagation_phase ()
GtkPropagationLimit gtk_event_controller_get_propagation_limit ()
void gtk_event_controller_set_propagation_limit ()
GtkWidget * gtk_event_controller_get_widget ()
void gtk_event_controller_reset ()
const char * gtk_event_controller_get_name ()
void gtk_event_controller_set_name ()
GdkEvent * gtk_event_controller_get_current_event ()
GdkDevice * gtk_event_controller_get_current_event_device ()
GdkModifierType gtk_event_controller_get_current_event_state ()
guint32 gtk_event_controller_get_current_event_time ()

Свойства

char * name Чтение/Запись
GtkPropagationLimit propagation-limit Чтение/Запись
GtkPropagationPhase propagation-phase Чтение/Запись
GtkWidget * widget Чтение

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

GtkEventController
перечисление GtkPropagationPhase
перечисление GtkPropagationLimit

Иерархия объектов

    GObject
    ╰── GtkEventController
        ├── GtkGesture
        ├── GtkDropControllerMotion
        ├── GtkDropTargetAsync
        ├── GtkDropTarget
        ├── GtkEventControllerKey
        ├── GtkEventControllerFocus
        ├── GtkEventControllerLegacy
        ├── GtkEventControllerMotion
        ├── GtkEventControllerScroll
        ├── GtkPadController
        ╰── GtkShortcutController

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

#include <gtk/gtk.h>

Описание

GtkEventController — базовая, низкоуровневая реализация контроллеров событий. Они реагируют на серию событий Gdk, и, возможно, инициируют действия в ответ на них.

Функции

gtk_event_controller_get_propagation_phase ()

GtkPropagationPhase
gtk_event_controller_get_propagation_phase
                               (GtkEventController *controller);

Получает фазу распространения, на которой controller обрабатывает события.

Параметры

controller

a GtkEventController

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

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

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

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

gtk_event_controller_get_propagation_limit ()

GtkPropagationLimit
gtk_event_controller_get_propagation_limit
                               (GtkEventController *controller);

Получает предел распространения события для контроллера.

Параметры

controller

a GtkEventController

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

предел распространения

gtk_event_controller_set_propagation_limit ()

void
gtk_event_controller_set_propagation_limit
                               (GtkEventController *controller,
                                GtkPropagationLimit limit);

Устанавливает предел распространения событий для контроллера.

Если предел установлен на GTK_LIMIT_SAME_NATIVE, контроллер не будет обрабатывать события, направленные на виджеты на другой поверхности, например, всплывающие окна.

Параметры

controller

a GtkEventController

limit

предел распространения

gtk_event_controller_get_widget ()

GtkWidget *
gtk_event_controller_get_widget (GtkEventController *controller);

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

Параметры

controller

a GtkEventController

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

a GtkWidget.

[transfer none]

gtk_event_controller_reset ()

void
gtk_event_controller_reset (GtkEventController *controller);

Сбрасывает controller в чистое состояние. Все взаимодействия, которые контроллер осуществил через gtk_event_controller_handle_event(), будут отменены в этот момент.

Параметры

controller

a GtkEventController

gtk_event_controller_get_name ()

const char *
gtk_event_controller_get_name (GtkEventController *controller);

Получает имя controller.

Параметры

controller

a GtkEventController

gtk_event_controller_set_name ()

void
gtk_event_controller_set_name (GtkEventController *controller,
                               const char *name);

Устанавливает имя контроллера, которое может использоваться для отладки.

Параметры

controller

a GtkEventController

name

имя для controller

gtk_event_controller_get_current_event ()

GdkEvent *
gtk_event_controller_get_current_event
                               (GtkEventController *controller);

Возвращает событие, которое в данный момент обрабатывается контроллером, и NULL в других случаях.

Параметры

controller

a GtkEventController

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

событие, в данный момент обрабатываемое controller.

[nullable][transfer none]

gtk_event_controller_get_current_event_device ()

GdkDevice *
gtk_event_controller_get_current_event_device
                               (GtkEventController *controller);

Возвращает устройство события, которое в данный момент обрабатывается контроллером, и NULL в противном случае.

Параметры

controller

a GtkEventController

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

устройство события, в данный момент обрабатываемое controller.

[nullable][transfer none]

gtk_event_controller_get_current_event_state ()

GdkModifierType
gtk_event_controller_get_current_event_state
                               (GtkEventController *controller);

Возвращает состояние модификаторов события, которое в данный момент обрабатывается контроллером, и 0 в противном случае.

Параметры

controller

a GtkEventController

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

состояние модификаторов события, в данный момент обрабатываемое controller

gtk_event_controller_get_current_event_time ()

guint32
gtk_event_controller_get_current_event_time
                               (GtkEventController *controller);

Возвращает метку времени события, которое в данный момент обрабатывается контроллером, и 0 в противном случае.

Параметры

controller

a GtkEventController

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

метка времени события, в данный момент обрабатываемое controller

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

GtkEventController

typedef struct _GtkEventController GtkEventController;

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

Описывает стадию, на которой события передаются в GtkEventController.

Элементы

GTK_PHASE_NONE

События не доставляются.

GTK_PHASE_CAPTURE

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

GTK_PHASE_BUBBLE

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

GTK_PHASE_TARGET

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

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

Описывает ограничения GtkEventController для обработки событий, нацеленных на другие виджеты.

Элементы

GTK_LIMIT_NONE

События обрабатываются независимо от их целевого объекта.

GTK_LIMIT_SAME_NATIVE

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

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

Свойство “name”

  “name”                     char *

Имя этого контроллера, обычно используемое для отладки.

Владелец: GtkEventController

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

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

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

  “propagation-limit”        GtkPropagationLimit

Предел, для обработки событий данным контроллером.

Владелец: GtkEventController

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

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

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

  “propagation-phase”        GtkPropagationPhase

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

Владелец: GtkEventController

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

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

Свойство “widget”

  “widget”                   GtkWidget *

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

Владелец: GtkEventController

Флаги: Чтение

См. также

GtkGesture

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkEventController.html

Spec-Zone.ru

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