函数宏

GObjectDEFINE_FLAGS_TYPE

自:2.74

声明 [源代码]

#define G_DEFINE_FLAGS_TYPE (
  TypeName,
  type_name,
  ...
)

描述 [源代码]

用于定义标志类型的便捷宏。

此宏将使用 type_name 作为函数前缀,为给定的 TypeName 生成 *_get_type() 函数。

G_DEFINE_FLAGS_TYPE (GSettingsBindFlags, g_settings_bind_flags,
  G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_DEFAULT, "default"),
  G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_GET, "get"),
  G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_SET, "set"),
  G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_NO_SENSITIVITY, "no-sensitivity"),
  G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_GET_NO_CHANGES, "get-no-changes"),
  G_DEFINE_ENUM_VALUE (G_SETTINGS_BIND_INVERT_BOOLEAN, "invert-boolean"))

对于有多个枚举类型或枚举类型中包含大量值的项目,您应考虑使用 glib-mkenums 生成类型函数。

自:2.74

此函数不直接向语言绑定公开。

参数

TypeName

类型: -

使用 CamelCase 格式的枚举类型。

type_name

类型: -

使用 snake_case 格式的枚举类型前缀。

...

类型: -

使用 G_DEFINE_ENUM_VALUE() 定义的枚举值列表。