方法

Gio动作映射add_action_entries

始于:2.32

声明 [源]

void
g_action_map_add_action_entries (
  GActionMap* action_map,
  const GActionEntry* entries,
  gint n_entries,
  gpointer user_data
)

描述 [源]

这是一个便利函数,用于创建多个 GSimpleAction 实例并将它们添加到 GActionMap

每个动作按照一个 GActionEntry 的方式构建。

static void
activate_quit (GSimpleAction *simple,
               GVariant      *parameter,
               gpointer       user_data)
{
  exit (0);
}

static void
activate_print_string (GSimpleAction *simple,
                       GVariant      *parameter,
                       gpointer       user_data)
{
  g_print ("%s\n", g_variant_get_string (parameter, NULL));
}

static GActionGroup *
create_action_group (void)
{
  const GActionEntry entries[] = {
    { "quit",         activate_quit              },
    { "print-string", activate_print_string, "s" }
  };
  GSimpleActionGroup *group;

  group = g_simple_action_group_new ();
  g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);

  return G_ACTION_GROUP (group);
}

始于:2.32

参数

entries

类型: 一个数组,元素类型为 None

指向一个 GActionEntry 结构体数组的第一个元素。

数组的长度由参数 n_entries 指定。
数据由方法调用者拥有。
n_entries

类型: gint

entries 的长度,如果 entriesNULL 终结的,则为 -1。

user_data

类型: gpointer

信号连接的用户数据。

参数可以是 NULL
数据由方法调用者拥有。