EventControllerScroll#

class EventControllerScroll(**properties: Any)#

Superclasses: EventController, Object

GtkEventControllerScroll is an event controller that handles scroll events.

It is capable of handling both discrete and continuous scroll events from mice or touchpads, abstracting them both with the scroll signal. Deltas in the discrete case are multiples of 1.

In the case of continuous scroll events, GtkEventControllerScroll encloses all scroll emissions between two scroll_begin and scroll_end signals.

The behavior of the event controller can be modified by the flags given at creation time, or modified at a later point through set_flags (e.g. because the scrolling conditions of the widget changed).

The controller can be set up to emit motion for either/both vertical and horizontal scroll events through VERTICAL, HORIZONTAL and BOTH_AXES. If any axis is disabled, the respective scroll delta will be 0. Vertical scroll events will be translated to horizontal motion for the devices incapable of horizontal scrolling.

The event controller can also be forced to emit discrete events on all devices through DISCRETE. This can be used to implement discrete actions triggered through scroll events (e.g. switching across combobox options).

The KINETIC flag toggles the emission of the decelerate signal, emitted at the end of scrolling with two X/Y velocity arguments that are consistent with the motion that was received.

Constructors#

class EventControllerScroll
classmethod new(flags: EventControllerScrollFlags) EventController#

Creates a new event controller that will handle scroll events.

Parameters:

flags – flags affecting the controller behavior

Methods#

class EventControllerScroll
get_flags() EventControllerScrollFlags#

Gets the flags conditioning the scroll controller behavior.

get_unit() ScrollUnit#

Gets the scroll unit of the last scroll signal received.

Always returns %GDK_SCROLL_UNIT_WHEEL if the DISCRETE flag is set.

Added in version 4.8.

set_flags(flags: EventControllerScrollFlags) None#

Sets the flags conditioning scroll controller behavior.

Parameters:

flags – flags affecting the controller behavior

Properties#

class EventControllerScroll
props.flags: EventControllerScrollFlags#

The type of the None singleton.

Signals#

class EventControllerScroll.signals
decelerate(vel_x: float, vel_y: float) None#

The type of the None singleton.

Parameters:
  • vel_x – X velocity

  • vel_y – Y velocity

scroll(dx: float, dy: float) bool#

The type of the None singleton.

Parameters:
  • dx – X delta

  • dy – Y delta

scroll_begin() None#

The type of the None singleton.

scroll_end() None#

The type of the None singleton.