GtkPadController

说明 [源代码]

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

GtkPadController 是绘图板中所用平板电脑事件控制器。

平板电脑通常在触控笔敏感区域周围设置按钮和触感传感器。

这些按钮和传感器没有隐含含义,通常不执行任何操作。GtkPadController 用于将这些按钮和传感器映射到 GAction 对象,从而让应用程序赋予它们更语义化的含义。

按钮和传感器不限于触发单个操作,一些 GDK_SOURCE_TABLET_PAD 设备具备多种“模式”。所有这些输入元素都有一种当前模式,它可能决定最终触发的操作。

平板设备通常将按钮和传感器划分为组。一组中的所有元素共享同一当前模式,但不同组可能具有不同模式。请参阅 gdk_device_pad_get_n_groups()gdk_device_pad_get_group_n_modes()

给定按钮/带/环在给定模式下执行的每个操作均由 GtkPadActionEntry 定义。它包含一个操作名称,将在给定的 GActionGroup 中查找该名称,并在指定的输入元素和模式被触发时激活该名称。

GtkPadController 用法的简单示例:将所有模式和平板设备中的按钮 1 分配给“反选”操作

GtkPadActionEntry *pad_actions[] = {
  { GTK_PAD_ACTION_BUTTON, 1, -1, "Invert selection", "pad-actions.invert-selection" },
  
};


action_group = g_simple_action_group_new ();
action = g_simple_action_new ("pad-actions.invert-selection", NULL);
g_signal_connect (action, "activate", on_invert_selection_activated, NULL);
g_action_map_add_action (G_ACTION_MAP (action_group), action);

pad_controller = gtk_pad_controller_new (action_group, NULL);

属于套环/带条的操作将通过参数激活,类型为 G_VARIANT_TYPE_DOUBLE,其中包含给定轴的值,必须使其具有状态且接受此 GVariantType

层次结构

hierarchy this GtkPadController ancestor_0 GtkEventController ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

构造函数

gtk_pad_controller_new

创建新的 GtkPadController,该控制器将 pad 事件关联到操作。

实例方法

gtk_pad_controller_set_action

将单个操作添加到 controller

gtk_pad_controller_set_action_entries

便利函数,用于在 controller 上添加一组操作条目。

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.PadController:action-group

控制器的操作组。

Gtk.PadController:pad

控制器的填充。

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

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

Gtk.EventController:propagation-limit

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

Gtk.EventController:propagation-phase

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

Gtk.EventController:widget

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

信号

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

当对象的某个属性通过 g_object_set_property()、g_object_set() 等设置值时,会发出 notify 信号。

类结构

struct GtkPadControllerClass {
  /* no available fields */
}

暂无描述。