虚拟方法

GioActionGroupquery_action

自:2.32

声明 [src]

gboolean
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]

查询组中动作的所有方面。

此函数通过单个函数调用获取从 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
方法调用者承担返回数据的所有权,并负责释放它。
state

类型: GVariant

当前状态,如果没有状态则为 NULL

该参数将由函数设置。
参数可以 NULL
方法调用者承担返回数据的所有权,并负责释放它。

返回值

类型: gboolean

存在该操作返回TRUE,否则返回FALSE