[gtk+] NotebookPageAccessible: Implement selectable/selected states
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] NotebookPageAccessible: Implement selectable/selected states
- Date: Tue, 18 Dec 2012 05:00:46 +0000 (UTC)
commit f229945dabfc6002ce71433485d8db64a2a6e314
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Dec 17 23:59:23 2012 -0500
NotebookPageAccessible: Implement selectable/selected states
The automatic handling for this was removed from atk, so
we need to do it ourselves here.
gtk/a11y/gtknotebookpageaccessible.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/gtk/a11y/gtknotebookpageaccessible.c b/gtk/a11y/gtknotebookpageaccessible.c
index 8346c0e..49f4797 100644
--- a/gtk/a11y/gtknotebookpageaccessible.c
+++ b/gtk/a11y/gtknotebookpageaccessible.c
@@ -140,12 +140,21 @@ gtk_notebook_page_accessible_ref_child (AtkObject *accessible,
static AtkStateSet *
gtk_notebook_page_accessible_ref_state_set (AtkObject *accessible)
{
+ GtkNotebookPageAccessible *page = GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible);
AtkStateSet *state_set, *label_state_set, *merged_state_set;
AtkObject *atk_label;
GtkWidget *label;
+ AtkObject *selected;
state_set = ATK_OBJECT_CLASS (_gtk_notebook_page_accessible_parent_class)->ref_state_set (accessible);
+ atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
+
+ selected = atk_selection_ref_selection (ATK_SELECTION (page->priv->notebook), 0);
+ if (selected == accessible)
+ atk_state_set_add_state (state_set, ATK_STATE_SELECTED);
+ g_object_unref (selected);
+
label = get_label_from_notebook_page (GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible));
if (label)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]