RelationProtocol
public protocol RelationProtocol : ObjectProtocol
An AtkRelation describes a relation between an object and one or more other objects. The actual relations that an object has with other objects are defined as an AtkRelationSet, which is a set of AtkRelations.
The RelationProtocol
protocol exposes the methods and properties of an underlying AtkRelation
instance.
The default implementation of these can be found in the protocol extension below.
For a concrete class that implements these methods and properties, see Relation
.
Alternatively, use RelationRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
AtkRelation
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
relation_ptr
Default implementationTyped pointer to the underlying
AtkRelation
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
AtkRelation
instance.Declaration
Swift
var relation_ptr: UnsafeMutablePointer<AtkRelation>! { get }
-
Required Initialiser for types conforming to
RelationProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
RelationPropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: RelationPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocol
Parameters
source_property
the source property to bind
target
the target object to bind to
target_property
the target property to bind to
flags
the flags to pass to the
Binding
transform_from
ValueTransformer
to use for forward transformationtransform_to
ValueTransformer
to use for backwards transformationReturn Value
binding reference or
nil
in case of an error -
get(property:
Extension method) Get the value of a Relation property
Declaration
Swift
@inlinable func get(property: RelationPropertyName) -> GLibObject.Value
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
set(property:
Extension methodvalue: ) Set the value of a Relation property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: RelationPropertyName, value v: GLibObject.Value)
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
add(target:
Extension method) Adds the specified AtkObject to the target for the relation, if it is not already present. See also
atk_object_add_relationship()
.Declaration
Swift
@inlinable func add<ObjectT>(target: ObjectT) where ObjectT : ObjectProtocol
-
getRelationType()
Extension methodGets the type of
relation
Declaration
Swift
@inlinable func getRelationType() -> AtkRelationType
-
getTarget()
Extension methodGets the target list of
relation
Declaration
Swift
@inlinable func getTarget() -> GLib.PtrArrayRef!
-
remove(target:
Extension method) Remove the specified AtkObject from the target for the relation.
Declaration
Swift
@inlinable func remove<ObjectT>(target: ObjectT) -> Bool where ObjectT : ObjectProtocol
-
relationType
Extension methodGets the type of
relation
Declaration
Swift
@inlinable var relationType: AtkRelationType { get }
-
target
Extension methodUndocumented
Declaration
Swift
@inlinable var target: GLib.PtrArrayRef! { get }
-
parent
Extension methodUndocumented
Declaration
Swift
@inlinable var parent: GObject { get }
-
_target
Extension methodUndocumented
Declaration
Swift
@inlinable var _target: PtrArrayRef! { get }
-
relationship
Extension methodUndocumented
Declaration
Swift
@inlinable var relationship: AtkRelationType { get }