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.

  • ptr

    Untyped pointer to the underlying AtkRelation instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • relation_ptr Default implementation

    Typed 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)

Relation Class

  • 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 transformation

    transform_to

    ValueTransformer to use for backwards transformation

    Return 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:value:) Extension method

    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

Relation Class: RelationProtocol extension (methods and fields)

  • 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 method

    Gets the type of relation

    Declaration

    Swift

    @inlinable
    func getRelationType() -> AtkRelationType
  • getTarget() Extension method

    Gets 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 method

    Gets the type of relation

    Declaration

    Swift

    @inlinable
    var relationType: AtkRelationType { get }
  • target Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var target: GLib.PtrArrayRef! { get }
  • parent Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var parent: GObject { get }
  • _target Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var _target: PtrArrayRef! { get }
  • relationship Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var relationship: AtkRelationType { get }