结构
GioActionEntry
说明 [源代码]
struct GActionEntry {
const gchar* name;
void (* activate) (
GSimpleAction* action,
GVariant* parameter,
gpointer user_data
);
const gchar* parameter_type;
const gchar* state;
void (* change_state) (
GSimpleAction* action,
GVariant* value,
gpointer user_data
);
}
此结构定义了一个单一的动作。可配合 g_action_map_add_action_entries()
使用。
结构中各项的顺序旨在反映使用频率。可以用不完整的初始化程序来省略后面的某些值,使其保持为 NULL
。name
之后的所有值均为可选。未来可能会添加其他可选字段。
请参阅 g_action_map_add_action_entries()
查看示例。
结构成员
name
动作的名称。
activate
用于连接到动作的“activate”信号的回调。自 GLib 2.40 起,对于有状态动作,该值可以为
NULL
,在这种情况下将使用默认处理程序。对于没有参数的布尔状态动作,该值将切换。对于其他状态类型(并且参数类型等于状态类型),该值将是一个仅调用change_state
(它需要提供)的函数。parameter_type
动作的激活函数必须传递的参数类型,以单个 GVariant 类型字符串(或
NULL
(无参数))的形式提供。state
动作的初始状态,以 GVariant 文本格式 提供。该状态在没有额外类型信息的情况下解析,因此如有必要,必须将类型标记添加到字符串中。无状态动作应在此处提供
NULL
。change_state
用于连接到动作的“change-state”信号的回调。所有有状态动作都应在此提供一个处理程序;无状态动作则无需提供。