gi-atk-2.0.28: Atk bindings

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

GI.Atk.Objects.Relation

Contents

- Exported types
- Methods
  - addTarget
  - getRelationType
  - getTarget
  - new
  - removeTarget
- Properties
  - relationType
  - target

Description

An object used to describe a relation between a object and one or more other objects.

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

- newtype Relation = Relation (ManagedPtr Relation)
- class (GObject o, IsDescendantOf Relation o) => IsRelation o
- toRelation :: (MonadIO m, IsRelation o) => o -> m Relation
- relationAddTarget :: (HasCallStack, MonadIO m, IsRelation a, IsObject b) => a -> b -> m ()
- relationGetRelationType :: (HasCallStack, MonadIO m, IsRelation a) => a -> m RelationType
- relationGetTarget :: (HasCallStack, MonadIO m, IsRelation a) => a -> m [Object]
- relationNew :: (HasCallStack, MonadIO m) => [Object] -> RelationType -> m Relation
- relationRemoveTarget :: (HasCallStack, MonadIO m, IsRelation a, IsObject b) => a -> b -> m Bool
- constructRelationRelationType :: (IsRelation o, MonadIO m) => RelationType -> m (GValueConstruct o)
- getRelationRelationType :: (MonadIO m, IsRelation o) => o -> m RelationType
- setRelationRelationType :: (MonadIO m, IsRelation o) => o -> RelationType -> m ()
- clearRelationTarget :: (MonadIO m, IsRelation o) => o -> m ()
- constructRelationTarget :: (IsRelation o, MonadIO m) => ValueArray -> m (GValueConstruct o)
- getRelationTarget :: (MonadIO m, IsRelation o) => o -> m (Maybe ValueArray)
- setRelationTarget :: (MonadIO m, IsRelation o) => o -> ValueArray -> m ()

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

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

# Methods

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

Expand

#### Methods

addTarget, bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, notify, notifyByPspec, ref, refSink, removeTarget, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getData, getProperty, getQdata, getRelationType, getTarget.

#### Setters

setData, setDataFull, setProperty.

## 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, MonadIO m) => RelationType -> m (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, MonadIO m) => ValueArray -> m (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 ]