]> Pileus Git - ~andy/gtk/commitdiff
Add api for setting the layer
authorMatthias Clasen <mclasen@redhat.com>
Sun, 3 Jul 2011 19:34:06 +0000 (15:34 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 5 Jul 2011 20:10:26 +0000 (16:10 -0400)
Add api for setting the component layer, instead of open-coding
the object data key, and use it.

gtk/a11y/gtkmenuaccessible.c
gtk/a11y/gtkmenuitemaccessible.c
gtk/a11y/gtkwidgetaccessible.c
gtk/a11y/gtkwidgetaccessible.h
gtk/a11y/gtkwindowaccessible.c

index 648b9d35cdc7be9a6a2794ea688a7f9172a86f7e..4f38f6ec22b7365a2987b4848dd87ca6b97b0e0a 100644 (file)
@@ -32,8 +32,7 @@ gtk_menu_accessible_initialize (AtkObject *obj,
 
   obj->role = ATK_ROLE_MENU;
 
-  g_object_set_data (G_OBJECT (obj), "atk-component-layer",
-                     GINT_TO_POINTER (ATK_LAYER_POPUP));
+  gtk_widget_accessible_set_layer (GTK_WIDGET_ACCESSIBLE (obj), ATK_LAYER_POPUP);
 }
 
 static AtkObject *
index 303dafa966396079b5c471a4ecdea3ba8f262e47..5d83bd4a877fdf278d73a182a6a00c2ed2bdd23b 100644 (file)
@@ -62,7 +62,7 @@ gtk_menu_item_accessible_initialize (AtkObject *obj,
         atk_object_set_parent (obj, gtk_widget_get_accessible (parent_widget));
     }
 
-  g_object_set_data (G_OBJECT (obj), "atk-component-layer", GINT_TO_POINTER (ATK_LAYER_POPUP));
+  gtk_widget_accessible_set_layer (GTK_WIDGET_ACCESSIBLE (obj), ATK_LAYER_POPUP);
 
   if (GTK_IS_TEAROFF_MENU_ITEM (data))
     obj->role = ATK_ROLE_TEAR_OFF_MENU_ITEM;
index c52225652dcb4bd0f59c727a6bdce19d6904288e..f7c1fd160e72f99a5dfb936427419ed4648fa202 100644 (file)
@@ -133,8 +133,6 @@ gtk_widget_accessible_initialize (AtkObject *obj,
 
   g_signal_connect (accessible, "focus-event", G_CALLBACK (focus_event), NULL);
 
-  g_object_set_data (G_OBJECT (obj), "atk-component-layer", GINT_TO_POINTER (ATK_LAYER_WIDGET));
-
   obj->role = ATK_ROLE_UNKNOWN;
 }
 
@@ -651,7 +649,17 @@ gtk_widget_accessible_get_layer (AtkComponent *component)
 
   layer = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (component), "atk-component-layer"));
 
-  return (AtkLayer) layer;
+  if (layer == 0)
+    return ATK_LAYER_WIDGET;
+  else
+    return (AtkLayer) layer;
+}
+
+void
+gtk_widget_accessible_set_layer (GtkWidgetAccessible *accessible,
+                                 AtkLayer             layer)
+{
+  g_object_set_data (G_OBJECT (accessible), "atk-component-layer", GINT_TO_POINTER (layer));
 }
 
 static gboolean
index f51f3f06c6d559f42d529a86d0b21c879b0b935f..05931ea26d8e2edd7fa797ab608dc0a49b0e9479 100644 (file)
@@ -58,6 +58,9 @@ struct _GtkWidgetAccessibleClass
 
 GType gtk_widget_accessible_get_type (void);
 
+void  gtk_widget_accessible_set_layer (GtkWidgetAccessible *obj,
+                                       AtkLayer             layer);
+
 G_END_DECLS
 
 #endif /* __GTK_WIDGET_ACCESSIBLE_H__ */
index 4ca157f04f9ec3a0a6d593c1309749d8831eba1b..d166e2325b24ef76a6c6f8535a1653d31af5f8da 100644 (file)
@@ -114,7 +114,7 @@ gtk_window_accessible_initialize (AtkObject *obj,
   ATK_OBJECT_CLASS (gtk_window_accessible_parent_class)->initialize (obj, data);
 
   g_signal_connect (data, "window_state_event", G_CALLBACK (window_state_event_cb), NULL);
-  g_object_set_data (G_OBJECT (obj), "atk-component-layer", GINT_TO_POINTER (ATK_LAYER_WINDOW));
+  gtk_widget_accessible_set_layer (GTK_WIDGET_ACCESSIBLE (obj), ATK_LAYER_WINDOW);
 
   if (GTK_IS_FILE_CHOOSER_DIALOG (widget))
     obj->role = ATK_ROLE_FILE_CHOOSER;