GtkEventControllerScroll

说明 [src]

final class Gtk.EventControllerScroll : Gtk.EventController
{
  /* No available fields */
}

GtkEventControllerScroll 是处理滚动事件的事件控制器。

它能够处理来自鼠标或触摸板的离散和连续的滚动事件,并使用 GtkEventControllerScroll::scroll 信号对它们进行抽象化。离散情况下,增量是 1 的倍数。

在连续滚动事件的情况下,GtkEventControllerScroll 将两个 GtkEventControllerScroll::scroll-beginGtkEventControllerScroll::scroll-end 信号之间的所有 GtkEventControllerScroll::scroll 发射事件封装在一起。

事件控制器的行为可以通过创建时给出的标志进行修改,或稍后通过 gtk_event_controller_scroll_set_flags() 进行修改(例如,因为窗口小部件的滚动条件发生了更改)。

可以通过 GTK_EVENT_CONTROLLER_SCROLL_VERTICALGTK_EVENT_CONTROLLER_SCROLL_HORIZONTALGTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES 为垂直和水平滚动事件设置控制器,以便为其发射动作。如果禁用任何轴,则相应的 GtkEventControllerScroll::scroll 增量将为 0。对于无法进行水平滚动的设备,垂直滚动事件将转换为水平动作。

还可以通过 GTK_EVENT_CONTROLLER_SCROLL_DISCRETE 强制事件控制器在所有设备上发射离散事件。这可用于实现通过滚动事件触发离散动作(例如在组合框选项之间切换)。

GTK_EVENT_CONTROLLER_SCROLL_KINETIC 标志切换 GtkEventControllerScroll::decelerate 信号的发射,该信号在滚动结束时发射,带有两个与接收到的动作一致的 X/Y 速度参数。

层级

hierarchy this GtkEventControllerScroll ancestor_0 GtkEventController ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

构造函数

gtk_event_controller_scroll_new

创建一个新的事件控制器,用于处理滚动事件。

实例方法

gtk_event_controller_scroll_get_flags

获取调节滚动控制器行为的标志。

gtk_event_controller_scroll_get_unit

获取接收到的最后一个 GtkEventControllerScroll::scroll 信号的滚动单位。

版本:4.8

gtk_event_controller_scroll_set_flags

设置调节滚动控制器行为的标志。

GtkEventController 继承的方法 (13)
gtk_event_controller_get_current_event

返回当前由控制器处理的事件。

gtk_event_controller_get_current_event_device

返回控制器当前正在处理的事件的设备。

gtk_event_controller_get_current_event_state

返回控制器当前正在处理的事件的修饰符状态。

gtk_event_controller_get_current_event_time

返回控制器当前正在处理的事件的时间戳。

gtk_event_controller_get_name

获取 `controller` 的名称。

gtk_event_controller_get_propagation_limit

获取事件控制器的传播限制。

gtk_event_controller_get_propagation_phase

获取 `controller` 处理事件时的传播阶段。

gtk_event_controller_get_widget

返回此控制器关联的 `GtkWidget`。

gtk_event_controller_reset

将 `controller` 重置为干净状态。

gtk_event_controller_set_name

在控制器上设置一个名称,用于调试。

gtk_event_controller_set_propagation_limit

在事件控制器上设置事件传播限制。

gtk_event_controller_set_propagation_phase

设置控制器处理事件的传播阶段。

gtk_event_controller_set_static_name

在控制器上设置一个名称,用于调试。

版本:4.8

GObject (43) 中继承的方法

有关方法的完整列表,请参阅 GObject

属性

Gtk.EventControllerScroll:flags

影响事件控制器行为的标志。

GtkEventController (4) 中继承的属性
Gtk.EventController:name

此控制器的名称,通常用于调试目的。

Gtk.EventController:propagation-limit

此控制器将处理哪些事件的限制。

Gtk.EventController:propagation-phase

此控制器将处理事件的传播阶段。

Gtk.EventController:widget

接收控制器将处理的 `GdkEvents` 的小部件。

信号

Gtk.EventControllerScroll::decelerate

如果设置了 `GTK_EVENT_CONTROLLER_SCROLL_KINETIC` 标志,在滚动完成后发出。

Gtk.EventControllerScroll::scroll

发出信号,表示小部件应按 `dx` 和 `dy` 指定的量滚动。

Gtk.EventControllerScroll::scroll-begin

发出信号,表示新滚动操作已开始。

Gtk.EventControllerScroll::scroll-end

发出信号,表示滚动操作已完成。

GObject (1) 中继承的信号
GObject::notify

当通过 g_object_set_property()、g_object_set() 等方法为对象的某个属性设置其值时,此对象将发出通知信号。

类结构

struct GtkEventControllerScrollClass {
  /* no available fields */
}

无可用描述。