gi-atk-2.0.22: Atk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Atk.Objects.RelationSet

Description

The AtkRelationSet held by an object establishes its relationships with objects beyond the normal "parent/child" hierarchical relationships that all user interface objects have. AtkRelationSets establish whether objects are labelled or controlled by other components, share group membership with other components (for instance within a radio-button group), or share content which "flows" between them, among other types of possible relationships.

Synopsis

Exported types

newtype RelationSet Source #

Memory-managed wrapper type.

class (GObject o, IsDescendantOf RelationSet o) => IsRelationSet o Source #

Type class for types which can be safely cast to RelationSet, for instance with toRelationSet.

Instances

Instances details
(GObject o, IsDescendantOf RelationSet o) => IsRelationSet o Source # 
Instance details

Defined in GI.Atk.Objects.RelationSet

toRelationSet :: (MonadIO m, IsRelationSet o) => o -> m RelationSet Source #

Cast to RelationSet, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

add

relationSetAdd Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a, IsRelation b) 
=> a

set: an RelationSet

-> b

relation: an Relation

-> m () 

Add a new relation to the current relation set if it is not already present. This function ref's the AtkRelation so the caller of this function should unref it to ensure that it will be destroyed when the AtkRelationSet is destroyed.

addRelationByType

relationSetAddRelationByType Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a, IsObject b) 
=> a

set: an RelationSet

-> RelationType

relationship: an RelationType

-> b

target: an Object

-> m () 

Add a new relation of the specified type with the specified target to the current relation set if the relation set does not contain a relation of that type. If it is does contain a relation of that typea the target is added to the relation.

Since: 1.9

contains

relationSetContains Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a) 
=> a

set: an RelationSet

-> RelationType

relationship: an RelationType

-> m Bool

Returns: True if relationship is the relationship type of a relation in set, False otherwise

Determines whether the relation set contains a relation that matches the specified type.

containsTarget

relationSetContainsTarget Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a, IsObject b) 
=> a

set: an RelationSet

-> RelationType

relationship: an RelationType

-> b

target: an Object

-> m Bool

Returns: True if set contains a relation with the relationship type relationship with an object target, False otherwise

Determines whether the relation set contains a relation that matches the specified pair formed by type relationship and object target.

getNRelations

relationSetGetNRelations Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a) 
=> a

set: an RelationSet

-> m Int32

Returns: an integer representing the number of relations in the set.

Determines the number of relations in a relation set.

getRelation

relationSetGetRelation Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a) 
=> a

set: an RelationSet

-> Int32

i: a gint representing a position in the set, starting from 0.

-> m Relation

Returns: a Relation, which is the relation at position i in the set.

Determines the relation at the specified position in the relation set.

getRelationByType

relationSetGetRelationByType Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a) 
=> a

set: an RelationSet

-> RelationType

relationship: an RelationType

-> m Relation

Returns: an Relation, which is a relation matching the specified type.

Finds a relation that matches the specified type.

new

relationSetNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m RelationSet

Returns: a new RelationSet

Creates a new empty relation set.

remove

relationSetRemove Source #

Arguments

:: (HasCallStack, MonadIO m, IsRelationSet a, IsRelation b) 
=> a

set: an RelationSet

-> b

relation: an Relation

-> m () 

Removes a relation from the relation set. This function unref's the Relation so it will be deleted unless there is another reference to it.