[java-atk-wrapper] Added code to get more accurate application name



commit 21c827525fa9a87c3fe389b7cb52c8d2c5cc72d9
Author: Ke Wang <ke wang sun com>
Date:   Thu Jun 25 15:54:57 2009 +0800

    Added code to get more accurate application name

 jni/src/AtkWrapper.c  |    4 ++++
 jni/src/jawtoplevel.c |   14 ++++++++++++--
 2 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/jni/src/AtkWrapper.c b/jni/src/AtkWrapper.c
index f6b0d66..6bacdb7 100644
--- a/jni/src/AtkWrapper.c
+++ b/jni/src/AtkWrapper.c
@@ -205,6 +205,8 @@ window_open_handler (gpointer p)
 	if (is_toplevel) {
 		gint n = jaw_toplevel_add_window(JAW_TOPLEVEL(atk_get_root()), atk_obj);
 		
+		g_object_notify(G_OBJECT(atk_get_root()), "accessible-name");
+		
 		g_signal_emit_by_name(ATK_OBJECT(atk_get_root()),
 				"children-changed::add", n, atk_obj, NULL);
 		g_signal_emit(atk_obj, g_signal_lookup("window_create", JAW_TYPE_OBJECT), 0);
@@ -254,6 +256,8 @@ window_close_handler (gpointer p)
 
 	if (is_toplevel) {
 		gint n = jaw_toplevel_remove_window(JAW_TOPLEVEL(atk_get_root()), atk_obj);
+		
+		g_object_notify(G_OBJECT(atk_get_root()), "accessible-name");
 
 		g_signal_emit_by_name(ATK_OBJECT(atk_get_root()),
 				"children-changed::remove", n, atk_obj, NULL);
diff --git a/jni/src/jawtoplevel.c b/jni/src/jawtoplevel.c
index a22c61a..8391338 100644
--- a/jni/src/jawtoplevel.c
+++ b/jni/src/jawtoplevel.c
@@ -85,13 +85,23 @@ jaw_toplevel_object_finalize (GObject *obj)
 static G_CONST_RETURN gchar*
 jaw_toplevel_get_name (AtkObject *obj)
 {
-	return "Jaw test app";
+	for(gint i = 0; i < atk_object_get_n_accessible_children(obj); i++) {
+		AtkObject* child = atk_object_ref_accessible_child(obj, i);
+		const gchar* name = atk_object_get_name(child);
+		if (name && strlen(name) > 0) {
+			g_object_unref(G_OBJECT(child));
+			return name;
+		}
+		g_object_unref(G_OBJECT(child));
+	}
+
+	return "Java Application";
 }
 
 static G_CONST_RETURN gchar*
 jaw_toplevel_get_description (AtkObject *obj)
 {
-	return "For jaw test purpose";
+	return "Accessible Java application";
 }
 
 static gint



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]