方法

GioActionGroupquery_action

自 2.32

声明 [src]

gboolean
g_action_group_query_action (
  GActionGroup* action_group,
  const gchar* action_name,
  gboolean* enabled,
  const GVariantType** parameter_type,
  const GVariantType** state_type,
  GVariant** state_hint,
  GVariant** state
)

描述 [src]

查询action_group中指定动作的所有方面。

该函数通过一次调用从 g_action_group_has_action()g_action_group_get_action_enabled()g_action_group_get_action_parameter_type()g_action_group_get_action_state_type()g_action_group_get_action_state_hint()g_action_group_get_action_state() 获取所有可用信息。

这提供两个主要好处。

首先,由于无需重复查找动作以发现关于它的不同信息,因此提高了效率。其次,现在可以通过仅重写一个虚函数来实现 GActionGroup

接口为此函数提供默认实现,它会根据需要调用各个函数来获取信息。接口还提供了调用此函数的函数的默认实现。因此,所有实现都必须重写此函数或所有其他函数。

如果动作存在,则返回 TRUE,并且可以填充请求的字段(如通过传递非 NULL 引用指示)。如果动作不存在,则返回 FALSE,并且字段可能已更改或未更改。

自 2.32

参数

action_name

类型: const gchar*

组中动作的名称。

数据由方法的调用者拥有。
值是空终止的 UTF-8 字符串。
enabled

类型: gboolean*

如果动作目前已启用。

函数将设置此参数。
parameter_type

类型: GVariantType

参数类型,如果不需要则为 NULL

函数将设置此参数。
此参数可以为 NULL
返回的数据由实例拥有。
state_type

类型: GVariantType

状态类型,如果无状态则为 NULL

函数将设置此参数。
此参数可以为 NULL
返回的数据由实例拥有。
state_hint

类型: GVariant

状态提示,如果没有则 NULL

函数将设置此参数。
此参数可以为 NULL
方法调用方负责释放返回的数据的所有权。
状态

类型: GVariant

当前状态,或者如果无状态则返回 NULL

函数将设置此参数。
此参数可以为 NULL
方法调用方负责释放返回的数据的所有权。

返回值

类型: gboolean

如果动作存在,返回 TRUE;否则返回 FALSE