EventController#

class EventController(**properties: Any)#

Superclasses: Object

Subclasses: DropControllerMotion, DropTarget, DropTargetAsync, EventControllerFocus, EventControllerKey, EventControllerLegacy, EventControllerMotion, EventControllerScroll, Gesture, PadController, ShortcutController

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 add_controller. It is rarely necessary to explicitly remove a controller with remove_controller.

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

Methods#

class EventController
get_current_event() Event | None#

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

At other times, None is returned.

get_current_event_device() Device | None#

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

At other times, None is returned.

get_current_event_state() ModifierType#

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

At other times, 0 is returned.

get_current_event_time() int#

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

At other times, 0 is returned.

get_name() str | None#

Gets the name of controller.

get_propagation_limit() PropagationLimit#

Gets the propagation limit of the event controller.

get_propagation_phase() PropagationPhase#

Gets the propagation phase at which controller handles events.

get_widget() Widget | None#

Returns the GtkWidget this controller relates to.

reset() None#

Resets the controller to a clean state.

set_name(name: str | None = None) None#

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

Parameters:

name – a name for controller

set_propagation_limit(limit: PropagationLimit) None#

Sets the event propagation limit on the event controller.

If the limit is set to SAME_NATIVE, the controller won’t handle events that are targeted at widgets on a different surface, such as popovers.

Parameters:

limit – the propagation limit

set_propagation_phase(phase: PropagationPhase) None#

Sets the propagation phase at which a controller handles events.

If phase is NONE, no automatic event handling will be performed, but other additional gesture maintenance will.

Parameters:

phase – a propagation phase

set_static_name(name: str | None = None) None#

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

Added in version 4.8.

Parameters:

name – a name for controller, must be a static string

Properties#

class EventController
props.name: str#

The type of the None singleton.

props.propagation_limit: PropagationLimit#

The type of the None singleton.

props.propagation_phase: PropagationPhase#

The type of the None singleton.

props.widget: Widget#

The type of the None singleton.