diff options
author | Benjamin Otte <otte@redhat.com> | 2014-03-24 15:51:38 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2014-03-24 16:38:18 +0100 |
commit | 8374a586235ef356186f309607475fb33aca636b (patch) | |
tree | de42b9ec160c7490eadf365ad49f9d4fa29c6491 /gtk/a11y/gtkcellaccessible.c | |
parent | fef14e0e87d226f7b73d35d548250effcef238ff (diff) | |
download | gtk+-8374a586235ef356186f309607475fb33aca636b.tar.gz |
a11y: Add API to update relationsets of cells to their parents
Diffstat (limited to 'gtk/a11y/gtkcellaccessible.c')
-rw-r--r-- | gtk/a11y/gtkcellaccessible.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gtk/a11y/gtkcellaccessible.c b/gtk/a11y/gtkcellaccessible.c index 051abecec2..11775e4849 100644 --- a/gtk/a11y/gtkcellaccessible.c +++ b/gtk/a11y/gtkcellaccessible.c @@ -70,6 +70,27 @@ gtk_cell_accessible_get_index_in_parent (AtkObject *obj) return gtk_cell_accessible_parent_get_child_index (GTK_CELL_ACCESSIBLE_PARENT (cell->priv->parent), cell); } +static AtkRelationSet * +gtk_cell_accessible_ref_relation_set (AtkObject *object) +{ + GtkCellAccessible *cell; + AtkRelationSet *relationset; + AtkObject *parent; + + relationset = ATK_OBJECT_CLASS (gtk_cell_accessible_parent_class)->ref_relation_set (object); + if (relationset == NULL) + relationset = atk_relation_set_new (); + + cell = GTK_CELL_ACCESSIBLE (object); + parent = gtk_widget_get_accessible (gtk_accessible_get_widget (GTK_ACCESSIBLE (cell))); + + gtk_cell_accessible_parent_update_relationset (GTK_CELL_ACCESSIBLE_PARENT (parent), + cell, + relationset); + + return relationset; +} + static AtkStateSet * gtk_cell_accessible_ref_state_set (AtkObject *accessible) { @@ -130,6 +151,7 @@ gtk_cell_accessible_class_init (GtkCellAccessibleClass *klass) class->get_index_in_parent = gtk_cell_accessible_get_index_in_parent; class->ref_state_set = gtk_cell_accessible_ref_state_set; + class->ref_relation_set = gtk_cell_accessible_ref_relation_set; class->get_parent = gtk_cell_accessible_get_parent; } |