# Atk::RelationSet Class Reference

A set of Atk::Relations, normally the set of AtkRelations which an Atk::Object has. More...

Inherits Glib::Object.

Collaboration diagram for Atk::RelationSet:
[legend]

List of all members.

## Public Member Functions

virtual | ~RelationSet ()
AtkRelationSet* | gobj ()
| Provides access to the underlying C GObject.
const AtkRelationSet* | gobj () const
| Provides access to the underlying C GObject.
AtkRelationSet* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool | set_contains (RelationType relationship)
| Determines whether the relation set contains a relation that matches the specified type.
void | set_remove (const Glib::RefPtr< Relation >& relation)
| Removes a relation from the relation set.
void | set_add (const Glib::RefPtr< Relation >& relation)
| Add a new relation to the current relation set if it is not already present.
int | get_n_relations () const
| Determines the number of relations in a relation set.
Glib::RefPtr< Relation > | get_relation (gint i)
| Determines the relation at the specified position in the relation set.
Glib::RefPtr< Relation > | get_relation (RelationType relationship)
| Finds a relation that matches the specified type.
void | add_relation_by_type (RelationType relationship, const Glib::RefPtr< Atk::Object >& target)
| 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.

## Static Public Member Functions

static Glib::RefPtr< RelationSet > | create ()

## Protected Member Functions

| RelationSet ()

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Atk::RelationSet > | wrap (AtkRelationSet* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A set of Atk::Relations, normally the set of AtkRelations which an Atk::Object has.

## Constructor & Destructor Documentation

virtual Atk::RelationSet::~RelationSet | ( |  | ) | `[virtual]`

Atk::RelationSet::RelationSet | ( |  | ) | `[protected]`

## Member Function Documentation

void Atk::RelationSet::add_relation_by_type | ( | RelationType | relationship,
|  | const Glib::RefPtr< Atk::Object >& | target |
| ) |  |  |

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 gtkmm 1.9:

Parameters:

  | relationship | An Atk::RelationType.
  | target | An Atk::Object.

static Glib::RefPtr<RelationSet> Atk::RelationSet::create | ( |  | ) | `[static]`

int Atk::RelationSet::get_n_relations | ( |  | ) | const

Determines the number of relations in a relation set.

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

Glib::RefPtr<Relation> Atk::RelationSet::get_relation | ( | RelationType | relationship | ) |

Finds a relation that matches the specified type.

Parameters:

  | relationship | An Atk::RelationType.

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

Glib::RefPtr<Relation> Atk::RelationSet::get_relation | ( | gint | i | ) |

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

Parameters:

  | i | A `int` representing a position in the set, starting from 0.

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

const AtkRelationSet* Atk::RelationSet::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

AtkRelationSet* Atk::RelationSet::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

AtkRelationSet* Atk::RelationSet::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

void Atk::RelationSet::set_add | ( | const Glib::RefPtr< Relation >& | relation | ) |

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.

Parameters:

  | relation | An Atk::Relation.

bool Atk::RelationSet::set_contains | ( | RelationType | relationship | ) |

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

Parameters:

  | relationship | An Atk::RelationType.

Returns:
  `true` if relationship is the relationship type of a relation in set, `false` otherwise.

void Atk::RelationSet::set_remove | ( | const Glib::RefPtr< Relation >& | relation | ) |

Removes a relation from the relation set.

This function unref's the Atk::Relation so it will be deleted unless there is another reference to it.

Parameters:

  | relation | An Atk::Relation.

## Friends And Related Function Documentation

Glib::RefPtr< Atk::RelationSet > wrap | ( | AtkRelationSet * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- atkmm/relationset.h