gi-atk-2.0.27: Atk bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | Safe-Inferred
Language | Haskell2010

GI.Atk.Objects.RelationSet

Contents

- Exported types
- Methods
  - add
  - addRelationByType
  - contains
  - containsTarget
  - getNRelations
  - getRelation
  - getRelationByType
  - new
  - remove

Description

A set of AtkRelations, normally the set of AtkRelations which an AtkObject has.

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

- newtype RelationSet = RelationSet (ManagedPtr RelationSet)
- class (GObject o, IsDescendantOf RelationSet o) => IsRelationSet o
- toRelationSet :: (MonadIO m, IsRelationSet o) => o -> m RelationSet
- relationSetAdd :: (HasCallStack, MonadIO m, IsRelationSet a, IsRelation b) => a -> b -> m ()
- relationSetAddRelationByType :: (HasCallStack, MonadIO m, IsRelationSet a, IsObject b) => a -> RelationType -> b -> m ()
- relationSetContains :: (HasCallStack, MonadIO m, IsRelationSet a) => a -> RelationType -> m Bool
- relationSetContainsTarget :: (HasCallStack, MonadIO m, IsRelationSet a, IsObject b) => a -> RelationType -> b -> m Bool
- relationSetGetNRelations :: (HasCallStack, MonadIO m, IsRelationSet a) => a -> m Int32
- relationSetGetRelation :: (HasCallStack, MonadIO m, IsRelationSet a) => a -> Int32 -> m Relation
- relationSetGetRelationByType :: (HasCallStack, MonadIO m, IsRelationSet a) => a -> RelationType -> m Relation
- relationSetNew :: (HasCallStack, MonadIO m) => m RelationSet
- relationSetRemove :: (HasCallStack, MonadIO m, IsRelationSet a, IsRelation b) => a -> b -> m ()

# Exported types

newtype RelationSet Source #

Memory-managed wrapper type.

Constructors

RelationSet (ManagedPtr RelationSet) |

#### Instances

Instances details

Eq RelationSet Source # |
Instance details Defined in GI.Atk.Objects.RelationSet Methods (==) :: RelationSet -> RelationSet -> Bool Source # (/=) :: RelationSet -> RelationSet -> Bool Source #
GObject RelationSet Source # |
Instance details Defined in GI.Atk.Objects.RelationSet
ManagedPtrNewtype RelationSet Source # |
Instance details Defined in GI.Atk.Objects.RelationSet Methods toManagedPtr :: RelationSet -> ManagedPtr RelationSet Source #
TypedObject RelationSet Source # |
Instance details Defined in GI.Atk.Objects.RelationSet Methods glibType :: IO GType Source #
HasParentTypes RelationSet Source # |
Instance details Defined in GI.Atk.Objects.RelationSet
IsGValue (Maybe RelationSet) Source # | Convert `RelationSet` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Atk.Objects.RelationSet Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe RelationSet -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe RelationSet) Source #
type ParentTypes RelationSet Source # |
Instance details Defined in GI.Atk.Objects.RelationSet type ParentTypes RelationSet = '[Object]

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

### Click to display all available methods, including inherited ones

Expand

#### Methods

add, addRelationByType, bindProperty, bindPropertyFull, contains, containsTarget, forceFloating, freezeNotify, getv, isFloating, notify, notifyByPspec, ref, refSink, remove, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getData, getNRelations, getProperty, getQdata, getRelation, getRelationByType.

#### Setters

setData, setDataFull, setProperty.

## 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.