### Class

# Gtk EventController

#### Description [src]

    abstract class Gtk.EventController : GObject.Object {
      /* No available fields */
    }

`GtkEventController` is the base class for event controllers.

These are ancillary objects associated to widgets, which react to `GdkEvents`, and possibly trigger actions as a consequence.

Event controllers are added to a widget with gtk_widget_add_controller(). It is rarely necessary to explicitly remove a controller with gtk_widget_remove_controller().

See the chapter on input handling for an overview of the basic concepts, such as the capture and bubble phases of even propagation.

#### Hierarchy

#### Ancestors

- GObject

#### Instance methods

###### gtk_event_controller_get_current_event

Returns the event that is currently being handled by the controller.

###### gtk_event_controller_get_current_event_device

Returns the device of the event that is currently being handled by the controller.

###### gtk_event_controller_get_current_event_state

Returns the modifier state of the event that is currently being handled by the controller.

###### gtk_event_controller_get_current_event_time

Returns the timestamp of the event that is currently being handled by the controller.

###### gtk_event_controller_get_name

Gets the name of `controller`.

###### gtk_event_controller_get_propagation_limit

Gets the propagation limit of the event controller.

###### gtk_event_controller_get_propagation_phase

Gets the propagation phase at which `controller` handles events.

###### gtk_event_controller_get_widget

Returns the `GtkWidget` this controller relates to.

###### gtk_event_controller_reset

Resets the `controller` to a clean state.

###### gtk_event_controller_set_name

Sets a name on the controller that can be used for debugging.

###### gtk_event_controller_set_propagation_limit

Sets the event propagation limit on the event controller.

###### gtk_event_controller_set_propagation_phase

Sets the propagation phase at which a controller handles events.

#### Properties

###### Gtk.EventController:name

The name for this controller, typically used for debugging purposes.

###### Gtk.EventController:propagation-limit

The limit for which events this controller will handle.

###### Gtk.EventController:propagation-phase

The propagation phase at which this controller will handle events.

###### Gtk.EventController:widget

The widget receiving the `GdkEvents` that the controller will handle.

#### Class structure

    struct GtkEventControllerClass {
      /* no available fields */
    }