gi-atk-2.0.21: 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.Relation

Description

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.

Synopsis

Exported types

newtype Relation Source #

Memory-managed wrapper type.

Constructors

Relation (ManagedPtr Relation) 

Instances

Instances details
Eq Relation Source # 
Instance details

Defined in GI.Atk.Objects.Relation

GObject Relation Source # 
Instance details

Defined in GI.Atk.Objects.Relation

Methods

gobjectType :: IO GType #

IsGValue Relation Source #

Convert Relation to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Atk.Objects.Relation

HasParentTypes Relation Source # 
Instance details

Defined in GI.Atk.Objects.Relation

type ParentTypes Relation Source # 
Instance details

Defined in GI.Atk.Objects.Relation

class (GObject o, IsDescendantOf Relation o) => IsRelation o Source #

Type class for types which can be safely cast to Relation, for instance with toRelation.

Instances

Instances details
(GObject o, IsDescendantOf Relation o) => IsRelation o Source # 
Instance details

Defined in GI.Atk.Objects.Relation

toRelation :: (MonadIO m, IsRelation o) => o -> m Relation Source #

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

noRelation :: Maybe Relation Source #

A convenience alias for Nothing :: Maybe Relation.

Methods

Overloaded methods

addTarget

relationAddTarget Source #

Arguments

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

relation: an Relation

-> b

target: an Object

-> m () 

Adds the specified AtkObject to the target for the relation, if it is not already present. See also objectAddRelationship.

Since: 1.9

getRelationType

relationGetRelationType Source #

Arguments

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

relation: an Relation

-> m RelationType

Returns: the type of relation

Gets the type of relation

getTarget

relationGetTarget Source #

Arguments

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

relation: an Relation

-> m [Object]

Returns: the target list of relation

Gets the target list of relation

new

relationNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> [Object]

targets: an array of pointers to AtkObjects

-> RelationType

relationship: an RelationType with which to create the new Relation

-> m Relation

Returns: a pointer to a new Relation

Create a new relation for the specified key and the specified list of targets. See also objectAddRelationship.

removeTarget

relationRemoveTarget Source #

Arguments

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

relation: an Relation

-> b

target: an Object

-> m Bool

Returns: TRUE if the removal is successful.

Remove the specified AtkObject from the target for the relation.

Properties

relationType

No description available in the introspection data.

constructRelationRelationType :: IsRelation o => RelationType -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “relation-type” property. This is rarely needed directly, but it is used by new.

getRelationRelationType :: (MonadIO m, IsRelation o) => o -> m RelationType Source #

Get the value of the “relation-type” property. When overloading is enabled, this is equivalent to

get relation #relationType

setRelationRelationType :: (MonadIO m, IsRelation o) => o -> RelationType -> m () Source #

Set the value of the “relation-type” property. When overloading is enabled, this is equivalent to

set relation [ #relationType := value ]

target

No description available in the introspection data.

clearRelationTarget :: (MonadIO m, IsRelation o) => o -> m () Source #

Set the value of the “target” property to Nothing. When overloading is enabled, this is equivalent to

clear #target

constructRelationTarget :: IsRelation o => ValueArray -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “target” property. This is rarely needed directly, but it is used by new.

getRelationTarget :: (MonadIO m, IsRelation o) => o -> m (Maybe ValueArray) Source #

Get the value of the “target” property. When overloading is enabled, this is equivalent to

get relation #target

setRelationTarget :: (MonadIO m, IsRelation o) => o -> ValueArray -> m () Source #

Set the value of the “target” property. When overloading is enabled, this is equivalent to

set relation [ #target := value ]