[gtk+] GtkMenuItemAccessible: implement selectable/selected states
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkMenuItemAccessible: implement selectable/selected states
- Date: Tue, 18 Dec 2012 05:00:41 +0000 (UTC)
commit 5bee1a994f9ad8b49c584f117db8281136c0a01b
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Dec 17 23:58:24 2012 -0500
GtkMenuItemAccessible: implement selectable/selected states
The automatic handling for this was removed in atk, so
we need to do it ourselves now.
gtk/a11y/gtkmenuitemaccessible.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/gtk/a11y/gtkmenuitemaccessible.c b/gtk/a11y/gtkmenuitemaccessible.c
index 2e5a436..4389639 100644
--- a/gtk/a11y/gtkmenuitemaccessible.c
+++ b/gtk/a11y/gtkmenuitemaccessible.c
@@ -23,6 +23,7 @@
struct _GtkMenuItemAccessiblePrivate
{
gchar *text;
+ gboolean selected;
};
#define KEYBINDING_SEPARATOR ";"
@@ -147,6 +148,10 @@ gtk_menu_item_accessible_ref_state_set (AtkObject *obj)
state_set = ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->ref_state_set (obj);
+ atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
+ if (GTK_MENU_ITEM_ACCESSIBLE (obj)->priv->selected)
+ atk_state_set_add_state (state_set, ATK_STATE_SELECTED);
+
menu_item = atk_object_get_parent (obj);
if (menu_item)
@@ -620,6 +625,7 @@ menu_item_selection (GtkMenuItem *item,
gint i;
obj = gtk_widget_get_accessible (GTK_WIDGET (item));
+ GTK_MENU_ITEM_ACCESSIBLE (obj)->priv->selected = selected;
atk_object_notify_state_change (obj, ATK_STATE_SELECTED, selected);
for (i = 0; i < atk_object_get_n_accessible_children (obj); i++)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]