diff options
author | Padraig O'Briain <padraig.obriain@sun.com> | 2004-11-22 13:21:18 +0000 |
---|---|---|
committer | Padraig O'Briain <padraigo@src.gnome.org> | 2004-11-22 13:21:18 +0000 |
commit | 44d21d4402a64f7ca60b84e8543e205f585d207f (patch) | |
tree | 9cd544e6d4acad38183ed94dc3790c2c51d0b9a9 /atk/atkrelation.c | |
parent | 46270d7db51b3808ffc2aa0324272159bb6e792c (diff) | |
download | atk-44d21d4402a64f7ca60b84e8543e205f585d207f.tar.gz |
Replace DEPRECATED by @Deprecated in comments to fix warning when
2004-11-22 Padraig O'Briain <padraig.obriain@sun.com>
* atk/atkobject.c: Replace DEPRECATED by @Deprecated in comments
to fix warning when documentation is generated.
* atk/atkrelation.[ch]:
* docs/tmpl/atkrelation.sgml: Add atk_relation_add_target.
* atk/atkrelationset.[ch]:
* atk/tmpl/atkrelationset.sgml: Add atk_relation_add_relation_by_type.
* docs/atk-sections.txt: Add atk_relation_add_target and
atk_relation_add_relation_by_type.
Fixes bug #158722.
Diffstat (limited to 'atk/atkrelation.c')
-rwxr-xr-x | atk/atkrelation.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/atk/atkrelation.c b/atk/atkrelation.c index 6ed728e..3452526 100755 --- a/atk/atkrelation.c +++ b/atk/atkrelation.c @@ -304,6 +304,32 @@ delete_object_while_in_relation (gpointer callback_data, g_ptr_array_remove (array, where_the_object_was); } +/** + * atk_relation_add_target: + * @relation: an #AtkRelation + * @target: an #AtkObject + * + * Adds the specified AtkObject to the target for the relation, if it is + * not already present. + **/ +void +atk_relation_add_target (AtkRelation *relation, + AtkObject *target) +{ + guint i; + + g_return_if_fail (ATK_IS_RELATION (relation)); + g_return_if_fail (ATK_IS_OBJECT (target)); + + /* first check if target occurs in array ... */ + for (i = 0; i < relation->target->len; i++) + if (g_ptr_array_index(relation->target, i) == target) + return; + + g_ptr_array_add (relation->target, target); + g_object_weak_ref (G_OBJECT (target), (GWeakNotify) delete_object_while_in_relation, relation->target); +} + static void atk_relation_finalize (GObject *object) { |