diff --git a/ChangeLog b/ChangeLog index ad991dc5348ad998fad6e66b7bf76525f513b82a..f9c842b86490552c53a95b804a3510feeb1bc1e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-08-29 Benedikt Meurer <benny@xfce.org> + + * thunar/thunar-column-editor.c, thunar/thunar-preferences-dialog.c, + thunar/thunar-gtk-extensions.{c,h}, thunar/thunar-location-dialog.c, + thunar/thunar-permissions-chooser.c, thunar/thunar-create-dialog.c: + Add helper function thunar_gtk_label_set_a11y_relation(), which sets + up the ATK_RELATION_LABEL_FOR for a label and a widget, so we don't + need to repeat the same code over and over again. + 2006-08-29 Benedikt Meurer <benny@xfce.org> * thunar/thunar-file.{c,h}, thunar/thunar-location-button.c, diff --git a/thunar/thunar-column-editor.c b/thunar/thunar-column-editor.c index acd7b530c2ff3fdc7ab797e5f0721517a1bcc93f..4b6a95ff70bbc88d5c636289100ed2531617242a 100644 --- a/thunar/thunar-column-editor.c +++ b/thunar/thunar-column-editor.c @@ -23,6 +23,7 @@ #include <thunar/thunar-abstract-dialog.h> #include <thunar/thunar-column-editor.h> +#include <thunar/thunar-gtk-extensions.h> #include <thunar/thunar-pango-extensions.h> #include <thunar/thunar-preferences.h> #include <thunar/thunar-private.h> @@ -122,10 +123,7 @@ thunar_column_editor_init (ThunarColumnEditor *column_editor) GtkTreeViewColumn *column; GtkTreeSelection *selection; GtkCellRenderer *renderer; - AtkRelationSet *relations; - AtkRelation *relation; GtkTreeIter iter; - AtkObject *object; GtkWidget *separator; GtkWidget *button; GtkWidget *frame; @@ -287,15 +285,9 @@ thunar_column_editor_init (ThunarColumnEditor *column_editor) button = gtk_check_button_new_with_mnemonic (_("Automatically _expand columns as needed")); exo_mutual_binding_new_with_negation (G_OBJECT (column_editor->preferences), "last-details-view-fixed-columns", G_OBJECT (button), "active"); gtk_table_attach (GTK_TABLE (table), button, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), button); gtk_widget_show (button); - /* set Atk label relation for the button */ - object = gtk_widget_get_accessible (button); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - /* setup the tree selection */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (column_editor->tree_view)); g_signal_connect_swapped (G_OBJECT (selection), "changed", G_CALLBACK (thunar_column_editor_update_buttons), column_editor); diff --git a/thunar/thunar-create-dialog.c b/thunar/thunar-create-dialog.c index d8b79e3a9ab49a8cb19b184ca24110e38a3622c5..94d3d4baad370efadedb0b294b84036ff022b484 100644 --- a/thunar/thunar-create-dialog.c +++ b/thunar/thunar-create-dialog.c @@ -25,6 +25,7 @@ #include <thunar/thunar-create-dialog.h> #include <thunar/thunar-dialogs.h> #include <thunar/thunar-gobject-extensions.h> +#include <thunar/thunar-gtk-extensions.h> #include <thunar/thunar-icon-factory.h> #include <thunar/thunar-private.h> @@ -153,11 +154,8 @@ thunar_create_dialog_class_init (ThunarCreateDialogClass *klass) static void thunar_create_dialog_init (ThunarCreateDialog *dialog) { - AtkRelationSet *relations; - AtkRelation *relation; - AtkObject *object; - GtkWidget *label; - GtkWidget *table; + GtkWidget *label; + GtkWidget *table; /* configure the dialog itself */ gtk_dialog_add_buttons (GTK_DIALOG (dialog), @@ -184,14 +182,8 @@ thunar_create_dialog_init (ThunarCreateDialog *dialog) dialog->entry = g_object_new (GTK_TYPE_ENTRY, "activates-default", TRUE, NULL); g_signal_connect (G_OBJECT (dialog->entry), "changed", G_CALLBACK (thunar_create_dialog_text_changed), dialog); gtk_table_attach (GTK_TABLE (table), dialog->entry, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), dialog->entry); gtk_widget_show (dialog->entry); - - /* set Atk label relation for the entry */ - object = gtk_widget_get_accessible (dialog->entry); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); } diff --git a/thunar/thunar-gtk-extensions.c b/thunar/thunar-gtk-extensions.c index 763c5acae91b0d4246d6ddde4dacb9aa11b6e06c..18e0255becd3b1aabd021711de75d180d5dce3fe 100644 --- a/thunar/thunar-gtk-extensions.c +++ b/thunar/thunar-gtk-extensions.c @@ -135,6 +135,35 @@ thunar_gtk_icon_factory_insert_icon (GtkIconFactory *icon_factory, +/** + * thunar_gtk_label_set_a11y_relation: + * @label : a #GtkLabel. + * @widget : a #GtkWidget. + * + * Sets the %ATK_RELATION_LABEL_FOR relation on @label for @widget, which means + * accessiblity tools will identify @label as descriptive item for the specified + * @widget. + **/ +void +thunar_gtk_label_set_a11y_relation (GtkLabel *label, + GtkWidget *widget) +{ + AtkRelationSet *relations; + AtkRelation *relation; + AtkObject *object; + + _thunar_return_if_fail (GTK_IS_WIDGET (widget)); + _thunar_return_if_fail (GTK_IS_LABEL (label)); + + object = gtk_widget_get_accessible (widget); + relations = atk_object_ref_relation_set (gtk_widget_get_accessible (GTK_WIDGET (label))); + relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); + atk_relation_set_add (relations, relation); + g_object_unref (G_OBJECT (relation)); +} + + + /** * thunar_gtk_menu_run: * @menu : a #GtkMenu. diff --git a/thunar/thunar-gtk-extensions.h b/thunar/thunar-gtk-extensions.h index dcccee5185a80065bb1376a7995d10744f0dfc44..a3f1de000c64830039d031953fc9f8febe27fba2 100644 --- a/thunar/thunar-gtk-extensions.h +++ b/thunar/thunar-gtk-extensions.h @@ -36,6 +36,9 @@ void thunar_gtk_icon_factory_insert_icon (GtkIconFactory *i const gchar *stock_id, const gchar *icon_name) G_GNUC_INTERNAL; +void thunar_gtk_label_set_a11y_relation (GtkLabel *label, + GtkWidget *widget) G_GNUC_INTERNAL; + void thunar_gtk_menu_run (GtkMenu *menu, gpointer parent, GtkMenuPositionFunc func, diff --git a/thunar/thunar-location-dialog.c b/thunar/thunar-location-dialog.c index ee8f8116d44789f58395f161e34a922e7fba5fec..240ca9193a26d004ccb18a87d27e5749523b24f9 100644 --- a/thunar/thunar-location-dialog.c +++ b/thunar/thunar-location-dialog.c @@ -21,6 +21,7 @@ #include <config.h> #endif +#include <thunar/thunar-gtk-extensions.h> #include <thunar/thunar-location-dialog.h> #include <thunar/thunar-path-entry.h> #include <thunar/thunar-private.h> @@ -74,13 +75,10 @@ transform_object_to_boolean (const GValue *src_value, static void thunar_location_dialog_init (ThunarLocationDialog *location_dialog) { - AtkRelationSet *relations; - AtkRelation *relation; - AtkObject *object; - GtkWidget *cancel_button; - GtkWidget *open_button; - GtkWidget *hbox; - GtkWidget *label; + GtkWidget *cancel_button; + GtkWidget *open_button; + GtkWidget *hbox; + GtkWidget *label; gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (location_dialog)->vbox), 2); gtk_container_set_border_width (GTK_CONTAINER (location_dialog), 5); @@ -107,15 +105,10 @@ thunar_location_dialog_init (ThunarLocationDialog *location_dialog) location_dialog->entry = thunar_path_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (location_dialog->entry), TRUE); gtk_box_pack_start (GTK_BOX (hbox), location_dialog->entry, TRUE, TRUE, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), location_dialog->entry); + gtk_label_set_mnemonic_widget (GTK_LABEL (label), location_dialog->entry); gtk_widget_show (location_dialog->entry); - /* set Atk label relation for the entry */ - object = gtk_widget_get_accessible (location_dialog->entry); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - /* the "Open" button is only sensitive if a valid file is entered */ exo_binding_new_full (G_OBJECT (location_dialog->entry), "current-file", G_OBJECT (open_button), "sensitive", diff --git a/thunar/thunar-permissions-chooser.c b/thunar/thunar-permissions-chooser.c index 6d13e888eafb5be6f494fe39a71e13f75fad4272..f355db1425936b404788a6e862ba1c66b490b9c3 100644 --- a/thunar/thunar-permissions-chooser.c +++ b/thunar/thunar-permissions-chooser.c @@ -224,11 +224,8 @@ static void thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) { GtkCellRenderer *renderer_text; - AtkRelationSet *relations; GtkListStore *store; - AtkRelation *relation; GtkTreeIter iter; - AtkObject *object; GtkWidget *separator; GtkWidget *button; GtkWidget *label; @@ -272,15 +269,9 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) chooser->user_label = gtk_label_new (_("Unknown")); gtk_misc_set_alignment (GTK_MISC (chooser->user_label), 0.0f, 0.5f); gtk_box_pack_start (GTK_BOX (hbox), chooser->user_label, TRUE, TRUE, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), chooser->user_label); gtk_widget_show (chooser->user_label); - /* set Atk label relation for the user_label */ - object = gtk_widget_get_accessible (chooser->user_label); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - row += 1; label = gtk_label_new (_("Access:")); @@ -295,15 +286,9 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (chooser->access_combos[2]), "sensitive"); g_signal_connect_swapped (G_OBJECT (chooser->access_combos[2]), "changed", G_CALLBACK (thunar_permissions_chooser_access_changed), chooser); gtk_table_attach (GTK_TABLE (chooser->table), chooser->access_combos[2], 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), chooser->access_combos[2]); gtk_widget_show (chooser->access_combos[2]); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (chooser->access_combos[2]); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - row += 1; separator = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); @@ -325,15 +310,9 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (chooser->group_combo), "sensitive"); g_signal_connect_swapped (G_OBJECT (chooser->group_combo), "changed", G_CALLBACK (thunar_permissions_chooser_group_changed), chooser); gtk_table_attach (GTK_TABLE (chooser->table), chooser->group_combo, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), chooser->group_combo); gtk_widget_show (chooser->group_combo); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (chooser->group_combo); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - row += 1; label = gtk_label_new (_("Access:")); @@ -348,15 +327,9 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (chooser->access_combos[1]), "sensitive"); g_signal_connect_swapped (G_OBJECT (chooser->access_combos[1]), "changed", G_CALLBACK (thunar_permissions_chooser_access_changed), chooser); gtk_table_attach (GTK_TABLE (chooser->table), chooser->access_combos[1], 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), chooser->access_combos[1]); gtk_widget_show (chooser->access_combos[1]); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (chooser->access_combos[1]); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - row += 1; separator = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); @@ -377,15 +350,9 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (chooser->access_combos[0]), "sensitive"); g_signal_connect_swapped (G_OBJECT (chooser->access_combos[0]), "changed", G_CALLBACK (thunar_permissions_chooser_access_changed), chooser); gtk_table_attach (GTK_TABLE (chooser->table), chooser->access_combos[0], 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), chooser->access_combos[0]); gtk_widget_show (chooser->access_combos[0]); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (chooser->access_combos[0]); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - row += 1; separator = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); @@ -405,15 +372,9 @@ thunar_permissions_chooser_init (ThunarPermissionsChooser *chooser) exo_binding_new (G_OBJECT (chooser), "mutable", G_OBJECT (chooser->program_button), "sensitive"); g_signal_connect_swapped (G_OBJECT (chooser->program_button), "toggled", G_CALLBACK (thunar_permissions_chooser_program_toggled), chooser); gtk_table_attach (GTK_TABLE (chooser->table), chooser->program_button, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), chooser->program_button); gtk_widget_show (chooser->program_button); - /* set Atk label relation for the button */ - object = gtk_widget_get_accessible (chooser->program_button); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - row += 1; hbox = gtk_hbox_new (FALSE, 6); diff --git a/thunar/thunar-preferences-dialog.c b/thunar/thunar-preferences-dialog.c index f3efe186b81defbe2a0e63a76b5b8fe44ef73530..ff3eb2903a730a7e0eb186867539f997a13864ef 100644 --- a/thunar/thunar-preferences-dialog.c +++ b/thunar/thunar-preferences-dialog.c @@ -196,21 +196,18 @@ thunar_preferences_dialog_class_init (ThunarPreferencesDialogClass *klass) static void thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) { - AtkRelationSet *relations; - GtkAdjustment *adjustment; - AtkRelation *relation; - AtkObject *object; - GtkWidget *notebook; - GtkWidget *button; - GtkWidget *align; - GtkWidget *combo; - GtkWidget *frame; - GtkWidget *label; - GtkWidget *range; - GtkWidget *table; - GtkWidget *hbox; - GtkWidget *ibox; - GtkWidget *vbox; + GtkAdjustment *adjustment; + GtkWidget *notebook; + GtkWidget *button; + GtkWidget *align; + GtkWidget *combo; + GtkWidget *frame; + GtkWidget *label; + GtkWidget *range; + GtkWidget *table; + GtkWidget *hbox; + GtkWidget *ibox; + GtkWidget *vbox; /* grab a reference on the preferences */ dialog->preferences = thunar_preferences_get (); @@ -273,16 +270,10 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) exo_mutual_binding_new_full (G_OBJECT (dialog->preferences), "default-view", G_OBJECT (combo), "active", transform_view_string_to_index, transform_view_index_to_string, NULL, NULL); gtk_table_attach (GTK_TABLE (table), combo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), combo); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo); gtk_widget_show (combo); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (combo); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - button = gtk_check_button_new_with_mnemonic (_("Sort _folders before files")); exo_mutual_binding_new (G_OBJECT (dialog->preferences), "misc-folders-first", G_OBJECT (button), "active"); thunar_gtk_widget_set_tooltip (button, _("Select this option to list folders before files when you sort a folder.")); @@ -363,16 +354,10 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) exo_mutual_binding_new_full (G_OBJECT (dialog->preferences), "shortcuts-icon-size", G_OBJECT (combo), "active", transform_icon_size_to_index, transform_index_to_icon_size, NULL, NULL); gtk_table_attach (GTK_TABLE (table), combo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), combo); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo); gtk_widget_show (combo); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (combo); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - button = gtk_check_button_new_with_mnemonic (_("Show Icon _Emblems")); exo_mutual_binding_new (G_OBJECT (dialog->preferences), "shortcuts-icon-emblems", G_OBJECT (button), "active"); thunar_gtk_widget_set_tooltip (button, _("Select this option to display icon emblems in the shortcuts pane for all folders " @@ -414,16 +399,10 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) exo_mutual_binding_new_full (G_OBJECT (dialog->preferences), "tree-icon-size", G_OBJECT (combo), "active", transform_icon_size_to_index, transform_index_to_icon_size, NULL, NULL); gtk_table_attach (GTK_TABLE (table), combo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), combo); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo); gtk_widget_show (combo); - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (combo); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - button = gtk_check_button_new_with_mnemonic (_("Show Icon E_mblems")); exo_mutual_binding_new (G_OBJECT (dialog->preferences), "tree-icon-emblems", G_OBJECT (button), "active"); thunar_gtk_widget_set_tooltip (button, _("Select this option to display icon emblems in the tree pane for all folders " @@ -495,6 +474,7 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) "useful when single clicks activate items, and you want only to select the item " "without activating it.")); gtk_box_pack_start (GTK_BOX (ibox), range, FALSE, FALSE, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), range); gtk_label_set_mnemonic_widget (GTK_LABEL (label), range); gtk_widget_show (range); @@ -502,13 +482,6 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) adjustment = gtk_range_get_adjustment (GTK_RANGE (range)); exo_mutual_binding_new (G_OBJECT (dialog->preferences), "misc-single-click-timeout", G_OBJECT (adjustment), "value"); - /* set Atk label relation for the range */ - object = gtk_widget_get_accessible (range); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); - hbox = gtk_hbox_new (TRUE, 6); gtk_box_pack_start (GTK_BOX (ibox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -579,14 +552,8 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog) #endif exo_mutual_binding_new (G_OBJECT (dialog->preferences), "misc-recursive-permissions", G_OBJECT (combo), "active"); gtk_table_attach (GTK_TABLE (table), combo, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + thunar_gtk_label_set_a11y_relation (GTK_LABEL (label), combo); gtk_widget_show (combo); - - /* set Atk label relation for the combo */ - object = gtk_widget_get_accessible (combo); - relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); - relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); - atk_relation_set_add (relations, relation); - g_object_unref (G_OBJECT (relation)); }