接口
GioAction
描述 [源]
interface Gio.Action : GObject.Object
GAction
代表一个单独命名的行动。
与行动交互的主要方式是可以使用 g_action_activate()
启动它。这会导致发出 'activate' 信号。一个激活有一个 GVariant
参数(可能为 NULL
)。参数的正确类型由静态参数类型确定(在构造时给出)。
一个行动可以可选地有一个状态,在这种情况下,可以使用 g_action_change_state()
来设置状态。这个调用接受一个 GVariant
。状态的正确类型由静态状态类型(在构造时给出)确定。
状态可能有一个与之关联的提示,指定其有效范围。
GAction
仅是上述所描述的行动概念的接口。存在各种行动的实现,包括 GSimpleAction
。
在所有情况下,实现类负责存储行动名称、参数类型、启用状态、可选状态类型以及状态和状态更改时发出适当的信号。实现者负责对 g_action_activate()
和 g_action_change_state()
的调用进行过滤,以确保类型安全,状态处于启用状态。
对 GAction
来说,最有用的事情可能是在一个 GSimpleActionGroup
中使用它。
先决条件
为了实现 Action,您的类型必须继承自 GObject
。
接口结构
struct GioActionInterface {
GTypeInterface g_iface;
const gchar* (* get_name) (
GAction* action
);
const GVariantType* (* get_parameter_type) (
GAction* action
);
const GVariantType* (* get_state_type) (
GAction* action
);
GVariant* (* get_state_hint) (
GAction* action
);
gboolean (* get_enabled) (
GAction* action
);
GVariant* (* get_state) (
GAction* action
);
void (* change_state) (
GAction* action,
GVariant* value
);
void (* activate) (
GAction* action,
GVariant* parameter
);
}
GAction
的虚拟函数表。
接口成员
g_iface |
|
无描述可用。 |
|
get_name |
|
|
|
get_parameter_type |
|
|
|
get_state_type |
|
|
|
get_state_hint |
|
|
|
get_enabled |
|
|
|
get_state |
|
|
|
change_state |
|
|
|
activate |
|
|