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 | |
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.
-rw-r--r-- | ChangeLog | 16 | ||||
-rwxr-xr-x | atk/atkobject.c | 6 | ||||
-rwxr-xr-x | atk/atkrelation.c | 26 | ||||
-rwxr-xr-x | atk/atkrelation.h | 3 | ||||
-rwxr-xr-x | atk/atkrelationset.c | 37 | ||||
-rwxr-xr-x | atk/atkrelationset.h | 3 | ||||
-rw-r--r-- | docs/atk-sections.txt | 2 | ||||
-rw-r--r-- | docs/tmpl/atkrelation.sgml | 9 | ||||
-rw-r--r-- | docs/tmpl/atkrelationset.sgml | 10 |
9 files changed, 110 insertions, 2 deletions
@@ -1,3 +1,19 @@ +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. + 2004-11-17 Padraig O'Briain <padraig.obriain@sun.com> * configure.in: Use gmodule-no-export.pc, requires glib 2.5.7. diff --git a/atk/atkobject.c b/atk/atkobject.c index 2ca6636..2c17358 100755 --- a/atk/atkobject.c +++ b/atk/atkobject.c @@ -677,9 +677,10 @@ atk_object_get_role (AtkObject *accessible) * @accessible: an #AtkObject * * Gets the layer of the accessible. - * DEPRECATED: use atk_component_get_layer instead! * * Returns: an #AtkLayer which is the layer of the accessible + * + * @Deprecated: Use atk_component_get_layer instead. **/ AtkLayer atk_object_get_layer (AtkObject *accessible) @@ -701,11 +702,12 @@ atk_object_get_layer (AtkObject *accessible) * * Gets the zorder of the accessible. The value G_MININT will be returned * if the layer of the accessible is not ATK_LAYER_MDI. - * DEPRECATED: use atk_component_get_mdi_zorder instead! * * Returns: a gint which is the zorder of the accessible, i.e. the depth at * which the component is shown in relation to other components in the same * container. + * + * @Deprecated: Use atk_component_get_mdi_zorder instead. **/ gint atk_object_get_mdi_zorder (AtkObject *accessible) 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) { diff --git a/atk/atkrelation.h b/atk/atkrelation.h index 3e89702..08b0708 100755 --- a/atk/atkrelation.h +++ b/atk/atkrelation.h @@ -77,6 +77,9 @@ AtkRelationType atk_relation_get_relation_type (AtkRelation *relation * Returns the target list of a relation. */ GPtrArray* atk_relation_get_target (AtkRelation *relation); +void atk_relation_add_target (AtkRelation *relation, + AtkObject *target); + #ifdef __cplusplus } diff --git a/atk/atkrelationset.c b/atk/atkrelationset.c index 6847ea5..8308bc2 100755 --- a/atk/atkrelationset.c +++ b/atk/atkrelationset.c @@ -264,3 +264,40 @@ atk_relation_set_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); } + +/** + * atk_relation_set_add_relation_by_type: + * @set: an #AtkRelationSet + * @relationship: an #AtkRelationType + * @target: an #AtkObject + * + * 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. + **/ +void +atk_relation_set_add_relation_by_type (AtkRelationSet *set, + AtkRelationType relationship, + AtkObject *target) +{ + AtkRelation *relation; + + g_return_if_fail (ATK_IS_RELATION_SET (set)); + g_return_if_fail (ATK_IS_OBJECT (target)); + + relation = atk_relation_set_get_relation_by_type (set, + relationship); + if (relation) + { + atk_relation_add_target (relation, target); + } + else + { + /* the relation hasn't been created yet ... */ + relation = atk_relation_new (&target, 1, relationship); + atk_relation_set_add (set, relation); + g_object_unref(relation); + } +} + diff --git a/atk/atkrelationset.h b/atk/atkrelationset.h index fcfeb27..2225baf 100755 --- a/atk/atkrelationset.h +++ b/atk/atkrelationset.h @@ -67,6 +67,9 @@ AtkRelation* atk_relation_set_get_relation (AtkRelationSet *set, gint i); AtkRelation* atk_relation_set_get_relation_by_type (AtkRelationSet *set, AtkRelationType relationship); +void atk_relation_set_add_relation_by_type (AtkRelationSet *set, + AtkRelationType relationship, + AtkObject *target); #ifdef __cplusplus } diff --git a/docs/atk-sections.txt b/docs/atk-sections.txt index 9744c1b..755ca85 100644 --- a/docs/atk-sections.txt +++ b/docs/atk-sections.txt @@ -254,6 +254,7 @@ atk_relation_type_for_name atk_relation_new atk_relation_get_relation_type atk_relation_get_target +atk_relation_add_target <SUBSECTION Standard> ATK_RELATION ATK_IS_RELATION @@ -278,6 +279,7 @@ atk_relation_set_add atk_relation_set_get_n_relations atk_relation_set_get_relation atk_relation_set_get_relation_by_type +atk_relation_set_add_relation_by_type <SUBSECTION Standard> ATK_RELATION_SET ATK_IS_RELATION_SET diff --git a/docs/tmpl/atkrelation.sgml b/docs/tmpl/atkrelation.sgml index 657872d..4d0f412 100644 --- a/docs/tmpl/atkrelation.sgml +++ b/docs/tmpl/atkrelation.sgml @@ -103,6 +103,15 @@ The AtkRelation structure should not be accessed directly. @Returns: +<!-- ##### FUNCTION atk_relation_add_target ##### --> +<para> + +</para> + +@relation: +@target: + + <!-- ##### ARG AtkRelation:relation-type ##### --> <para> diff --git a/docs/tmpl/atkrelationset.sgml b/docs/tmpl/atkrelationset.sgml index e4e2f36..ec8c673 100644 --- a/docs/tmpl/atkrelationset.sgml +++ b/docs/tmpl/atkrelationset.sgml @@ -86,3 +86,13 @@ The AtkRelationSet structure should not be accessed directly. @Returns: +<!-- ##### FUNCTION atk_relation_set_add_relation_by_type ##### --> +<para> + +</para> + +@set: +@relationship: +@target: + + |