类
GObjectParamSpecVariant
自:2.26
描述 [src]
final class GObject.ParamSpecVariant : GObject.TypeInstance
{
type: GVariantType*,
default_value: GVariant*
}
一种派生于 GParamSpec
的结构,用于包含 GVariant
属性的元数据。
当使用 g_param_values_cmp() 比较值时,具有相同类型的标量值将使用 g_variant_compare() 进行比较。其他非 NULL
的变体将使用 g_variant_equal() 进行比较,其排序顺序未定义。 NULL
在非 NULL
变体之前排序。两个 NULL
值比较相等。
自:2.26
实例方法
从 GParamSpec 继承的方法(14个)
g_param_spec_get_blurb
获取 GParamSpec
的简短描述。
g_param_spec_get_default_value
获取 pspec
的默认值作为一个指向 GValue
的指针。
自:2.38
g_param_spec_get_name
获取 GParamSpec
的名称。
g_param_spec_get_name_quark
获取名称的 GQuark。
自:2.46
g_param_spec_get_nick
获取 GParamSpec
的昵称。
g_param_spec_get_qdata
获取通过 g_param_spec_set_qdata() 存储的用户数据指针。
g_param_spec_get_redirect_target
如果 paramspec 将操作重定向到另一个 paramspec,则返回该 paramspec。重定向通常用于在派生类型中提供属性的新实现,同时保留父类型中所有属性。通过创建类型为 GParamSpecOverride
的属性来建立重定向。有关此功能使用的示例,请参阅 g_object_class_override_property()
。
自:2.4
g_param_spec_ref
递增 pspec
的引用计数。
g_param_spec_ref_sink
引用和接收 GParamSpec
的便捷函数。
自:2.10
g_param_spec_set_qdata
在 GParamSpec
上设置一个不可见的、命名的指针。该名称通过 GQuark
(例如通过 g_quark_from_static_string() 获取)指定,该指针可以通过 g_param_spec_get_qdata() 从 pspec
中获取。设置先前的用户数据指针将覆盖(释放)旧指针,使用 NULL
作为指针本质上删除存储的数据。
g_param_spec_set_qdata_full
此函数类似于 g_param_spec_set_qdata(),但还可以指定一个接受 data
作为参数的 void (*destroy) (gpointer)
函数,该函数在 pspec
最终化时或在用具有相同 quark
的调用到 g_param_spec_set_qdata() 覆写数据时被调用。
g_param_spec_sink
新创建的 GParamSpec
的初始引用计数为 1,即使迄今为止还没有任何人显式地调用过 g_param_spec_ref()
。因此,初始引用计数被标记为“悬空”,直到有人按顺序在它上面调用 g_param_spec_ref(pspec); g_param_spec_sink(pspec);
,从而接管初始引用计数(结果仍然是 pspec
有 1 的引用计数,但不再标记为“悬空”了)。
g_param_spec_steal_qdata
通过 g_param_spec_set_qdata()
存储的用户数据指针重置,并从 pspec
中移除 data
而不调用其 destroy()
函数(如果设置了)。通常,调用此函数只需要更新具有销毁通知器的用户数据指针。
g_param_spec_unref
递减 pspec
的引用计数。