GiPropertyAction

自从:2.38

描述 [源位置]

final class Gio.PropertyAction : GObject.Object
  implements Gio.Action {
  /* No available fields */
}

GPropertyAction 是一种获取 并以状态值反映和控制系统属性值的机制。

操作的状态将与属性值相对应。更改它将更改属性(假设请求的值符合在 GParamSpec 中指定的要求)。

目前仅支持最常见的类型。布尔值映射为布尔值,字符串映射为字符串,有符号/无符号整数映射为 int32/uint32,浮点数和双精度浮点数映射为 double。

如果属性是枚举类型,则状态将是字符串类型的,并将根据 GEnumValue 表自动在枚举值和 'nick' 字符串之间进行转换。

目前不支持标志类型。

不支持对象类型、boxed 类型和指针类型的属性,可能永远不会支持。

不支持 GVariant 类型属性。

如果属性是布尔值的,则操作将没有参数类型,激活操作(不带参数)将切换属性的值。

在所有其他情况下,参数类型将与属性的类型相对应。

这里的总体思路是减少存储特定状态的位置数量(因此需要在它们之间进行同步)。GPropertyAction 没有单独的状态与属性值同步 - 它的状态就是属性值。

例如,可以创建一个对应于 GtkStackvisible-child-name 属性的 GAction,以便可以通过菜单切换当前页面。菜单中的活动单选指示器随后将直接由 GtkStack 的活动页面确定。

一个反例是将绑定到 GtkComboBoxactive-id 属性。这是因为组合框本身的状态可能没有多大意义,实际上被用来控制其他内容。

另一个反例是对GtkStackvisible-child-name属性进行绑定,如果这个值实际上存储在GSettings中。在这种情况下,值的真正来源是* GSettings。如果您想要一个 GAction 控制存储在 GSettings 中的设置,请参阅 g_settings_create_action(),并可能将其与 g_settings_bind() 的使用相结合。

自 2.38 起可用

祖先

实现

构造函数

g_property_action_new

创建与objectproperty_name属性值相对应的GAction

自从:2.38

实例方法

GObject继承的方法(43个)

请参阅GObject获取方法列表的完整列表。

GAction继承的方法(8个)
g_action_activate

激活操作。

从版本:2.28开始

g_action_change_state

请求将action的状态更改为value

从版本:2.30开始

g_action_get_enabled

检查action是否当前已启用。

从版本:2.28开始

g_action_get_name

查询action的名称。

从版本:2.28开始

g_action_get_parameter_type

查询激活action时必须提供的参数类型。

从版本:2.28开始

g_action_get_state

查询action的当前状态。

从版本:2.28开始

g_action_get_state_hint

请求有关action状态有效值范围的提示。

从版本:2.28开始

g_action_get_state_type

查询action状态的类型。

从版本:2.28开始

属性

Gio.PropertyAction:enabled

如果action当前已启用。

自从:2.38

Gio.PropertyAction:invert-boolean

如果TRUE,并且属性是布尔类型,则操作的状态将是属性值的否定。

从版本:2.46开始

Gio.PropertyAction:name

操作名称。这主要用于在将操作添加到GActionMap后识别操作。

自从:2.38

Gio.PropertyAction:object

包装属性的对象。

自从:2.38

Gio.PropertyAction:parameter-type

激活操作时必须提供的参数类型。

自从:2.38

Gio.PropertyAction:property-name

要包装在对象上的属性名称。

自从:2.38

Gio.PropertyAction:state

操作状态,如果没有状态则返回NULL

自从:2.38

Gio.PropertyAction:state-type

动作的状态所具有的GVariantType,如果没有状态则返回NULL

自从:2.38

GAction继承的属性(5个)
GAction:enabled

如果action当前已启用。

从版本:2.28开始

GAction:name

操作名称。这主要用于在将操作添加到GActionGroup后识别操作。这是不可变的。

从版本:2.28开始

GAction:parameter-type

激活操作时必须提供的参数类型。这是不可变的,并且在没有参数需要的情况下可以是NULL

从版本:2.28开始

GAction:state

操作状态,如果没有状态则返回NULL

从版本:2.28开始

GAction:state-type

动作的状态所具有的GVariantType,如果没有状态则返回NULL。这是不可变的。

从版本:2.28开始

信号

GObject继承的信号(1个)
GObject::notify

当一个对象的属性通过g_object_set_property()、g_object_set()等方法设置值时,发出notify信号。