GtkEventController

GtkEventController — Self-contained handler of series of events

Properties

GtkPropagationPhase propagation-phase Read / Write
GtkWidget * widget Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GtkEventController
        ├── GtkGesture
        ╰── GtkPadController

Includes

#include <gtk/gtk.h>

Description

GtkEventController is a base, low-level implementation for event controllers. Those react to a series of GdkEvents, and possibly trigger actions as a consequence of those.

Functions

gtk_event_controller_get_propagation_phase ()

GtkPropagationPhase
gtk_event_controller_get_propagation_phase
                               (GtkEventController *controller);

Gets the propagation phase at which controller handles events.

Parameters

controller

a GtkEventController

 

Returns

the propagation phase

Since: 3.14


gtk_event_controller_set_propagation_phase ()

void
gtk_event_controller_set_propagation_phase
                               (GtkEventController *controller,
                                GtkPropagationPhase phase);

Sets the propagation phase at which a controller handles events.

If phase is GTK_PHASE_NONE, no automatic event handling will be performed, but other additional gesture maintenance will. In that phase, the events can be managed by calling gtk_event_controller_handle_event().

Parameters

controller

a GtkEventController

 

phase

a propagation phase

 

Since: 3.14


gtk_event_controller_handle_event ()

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

Feeds an events into controller , so it can be interpreted and the controller actions triggered.

Parameters

controller

a GtkEventController

 

event

a GdkEvent

 

Returns

TRUE if the event was potentially useful to trigger the controller action

Since: 3.14


gtk_event_controller_get_widget ()

GtkWidget *
gtk_event_controller_get_widget (GtkEventController *controller);

Returns the GtkWidget this controller relates to.

Parameters

controller

a GtkEventController

 

Returns

a GtkWidget.

[transfer none]

Since: 3.14


gtk_event_controller_reset ()

void
gtk_event_controller_reset (GtkEventController *controller);

Resets the controller to a clean state. Every interaction the controller did through “handle-event” will be dropped at this point.

Parameters

controller

a GtkEventController

 

Since: 3.14

Types and Values

GtkEventController

typedef struct _GtkEventController GtkEventController;

enum GtkPropagationPhase

Describes the stage at which events are fed into a GtkEventController.

Members

GTK_PHASE_NONE

Events are not delivered automatically. Those can be manually fed through gtk_event_controller_handle_event(). This should only be used when full control about when, or whether the controller handles the event is needed.

 

GTK_PHASE_CAPTURE

Events are delivered in the capture phase. The capture phase happens before the bubble phase, runs from the toplevel down to the event widget. This option should only be used on containers that might possibly handle events before their children do.

 

GTK_PHASE_BUBBLE

Events are delivered in the bubble phase. The bubble phase happens after the capture phase, and before the default handlers are run. This phase runs from the event widget, up to the toplevel.

 

GTK_PHASE_TARGET

Events are delivered in the default widget event handlers, note that widget implementations must chain up on button, motion, touch and grab broken handlers for controllers in this phase to be run.

 

Since: 3.14

Property Details

The “propagation-phase” property

  “propagation-phase”        GtkPropagationPhase

The propagation phase at which this controller will handle events.

Flags: Read / Write

Default value: GTK_PHASE_BUBBLE

Since: 3.14


The “widget” property

  “widget”                   GtkWidget *

The widget receiving the GdkEvents that the controller will handle.

Flags: Read / Write / Construct Only

Since: 3.14

See Also

GtkGesture