X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=test%2Fevent-listener-test.c;h=d166d533eb202b94c2f6079cc2172137dd976846;hb=86f8d3aba567c16a9791c9b1f80832339fc57e59;hp=c3374b019b17a38ea6125b78a2853317448effd9;hpb=3af8a4e874f524c212a01e4469db1c8043f1427f;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/test/event-listener-test.c b/test/event-listener-test.c index c3374b0..d166d53 100644 --- a/test/event-listener-test.c +++ b/test/event-listener-test.c @@ -2,8 +2,8 @@ * AT-SPI - Assistive Technology Service Provider Interface * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) * - * Copyright 2001, 2002 Sun Microsystems Inc., - * Copyright 2001, 2002 Ximian, Inc. + * Copyright 2001, 2002, 2003 Sun Microsystems Inc., + * Copyright 2001, 2002, 2003 Ximian, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -21,6 +21,7 @@ * Boston, MA 02111-1307, USA. */ +#include #include #include #include "../cspi/spi-private.h" /* A hack for now */ @@ -29,14 +30,40 @@ static void traverse_accessible_tree (Accessible *accessible); static void report_event (const AccessibleEvent *event, void *user_data); static void report_detail_event (const AccessibleEvent *event, void *user_data); +static void report_detail1_event (const AccessibleEvent *event, void *user_data); static void report_text_event (const AccessibleEvent *event, void *user_data); +static void report_text_selection_event (const AccessibleEvent *event, void *user_data); +static void report_active_descendant_event (const AccessibleEvent *event, void *user_data); +static void report_children_changed_event (const AccessibleEvent *event, void *user_data); +static void report_name_changed_event (const AccessibleEvent *event, void *user_data); +static void report_description_changed_event (const AccessibleEvent *event, void *user_data); +static void report_parent_changed_event (const AccessibleEvent *event, void *user_data); +static void report_window_event (const AccessibleEvent *event, void *user_data); +static void report_table_summary_event (const AccessibleEvent *event, void *user_data); +static void report_table_header_event (const AccessibleEvent *event, void *user_data); +static void report_table_caption_event (const AccessibleEvent *event, void *user_data); +static void report_table_row_description_event (const AccessibleEvent *event, void *user_data); +static void report_table_column_description_event (const AccessibleEvent *event, void *user_data); static void timing_test_event (const AccessibleEvent *event, void *user_data); static SPIBoolean report_mouse_event (const AccessibleDeviceEvent *event, void *user_data); static AccessibleEventListener *generic_listener; static AccessibleEventListener *specific_listener; +static AccessibleEventListener *detail1_listener; static AccessibleEventListener *test_listener; static AccessibleEventListener *text_listener; +static AccessibleEventListener *text_selection_listener; +static AccessibleEventListener *active_descendant_listener; +static AccessibleEventListener *children_changed_listener; +static AccessibleEventListener *name_changed_listener; +static AccessibleEventListener *description_changed_listener; +static AccessibleEventListener *parent_changed_listener; +static AccessibleEventListener *window_listener; +static AccessibleEventListener *table_summary_listener; +static AccessibleEventListener *table_header_listener; +static AccessibleEventListener *table_caption_listener; +static AccessibleEventListener *table_row_description_listener; +static AccessibleEventListener *table_column_description_listener; static AccessibleDeviceListener *mouse_device_listener; static gint n_elements_traversed = 0; static GTimer *timer; @@ -92,10 +119,36 @@ main (int argc, char **argv) report_detail_event, NULL); text_listener = SPI_createAccessibleEventListener ( report_text_event, NULL); + text_selection_listener = SPI_createAccessibleEventListener ( + report_text_selection_event, NULL); + active_descendant_listener = SPI_createAccessibleEventListener ( + report_active_descendant_event, NULL); + children_changed_listener = SPI_createAccessibleEventListener ( + report_children_changed_event, NULL); + name_changed_listener = SPI_createAccessibleEventListener ( + report_name_changed_event, NULL); + description_changed_listener = SPI_createAccessibleEventListener ( + report_description_changed_event, NULL); + parent_changed_listener = SPI_createAccessibleEventListener ( + report_parent_changed_event, NULL); + window_listener = SPI_createAccessibleEventListener ( + report_window_event, NULL); + table_summary_listener = SPI_createAccessibleEventListener ( + report_table_summary_event, NULL); + table_header_listener = SPI_createAccessibleEventListener ( + report_table_header_event, NULL); + table_caption_listener = SPI_createAccessibleEventListener ( + report_table_caption_event, NULL); + table_row_description_listener = SPI_createAccessibleEventListener ( + report_table_row_description_event, NULL); + table_column_description_listener = SPI_createAccessibleEventListener ( + report_table_column_description_event, NULL); test_listener = SPI_createAccessibleEventListener ( timing_test_event, NULL); mouse_device_listener = SPI_createAccessibleDeviceListener ( report_mouse_event, NULL); + detail1_listener = SPI_createAccessibleEventListener ( + report_detail1_event, NULL); SPI_registerGlobalEventListener (generic_listener, "focus:"); @@ -114,23 +167,25 @@ main (int argc, char **argv) "keyboard:modifiers"); SPI_registerGlobalEventListener (generic_listener, "object:property-change"); -/* SPI_registerGlobalEventListener (specific_listener, - "object:property-change:accessible-name");*/ + SPI_registerGlobalEventListener (name_changed_listener, + "object:property-change:accessible-name"); + SPI_registerGlobalEventListener (description_changed_listener, + "object:property-change:accessible-description"); + SPI_registerGlobalEventListener (parent_changed_listener, + "object:property-change:accessible-parent"); SPI_registerGlobalEventListener (generic_listener, "object:state-changed"); /* SPI_registerGlobalEventListener (specific_listener, "object:state-changed:focused"); */ SPI_registerGlobalEventListener (generic_listener, "object:selection-changed"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (children_changed_listener, "object:children-changed"); -/* SPI_registerGlobalEventListener (specific_listener, - "object:children-changed:add"); */ - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (active_descendant_listener, "object:active-descendant"); SPI_registerGlobalEventListener (generic_listener, "object:visible-data-changed"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (text_selection_listener, "object:text-selection-changed"); SPI_registerGlobalEventListener (generic_listener, @@ -151,28 +206,42 @@ main (int argc, char **argv) "object:row-deleted"); SPI_registerGlobalEventListener (generic_listener, "object:model-changed"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (detail1_listener, + "object:link-selected"); + SPI_registerGlobalEventListener (window_listener, "window:minimize"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:maximize"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:restore"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:activate"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:deactivate"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:close"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:lower"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:raise"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:resize"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:shade"); - SPI_registerGlobalEventListener (generic_listener, + SPI_registerGlobalEventListener (window_listener, "window:unshade"); + SPI_registerGlobalEventListener (table_summary_listener, + "object:property-change:accessible-table-summary"); + SPI_registerGlobalEventListener (table_header_listener, + "object:property-change:accessible-table-row-header"); + SPI_registerGlobalEventListener (table_header_listener, + "object:property-change:accessible-table-column-header"); + SPI_registerGlobalEventListener (table_summary_listener, + "object:property-change:accessible-table-summary"); + SPI_registerGlobalEventListener (table_row_description_listener, + "object:property-change:accessible-table-row-description"); + SPI_registerGlobalEventListener (table_column_description_listener, + "object:property-change:accessible-table-column-description"); SPI_registerGlobalEventListener (test_listener, "object:test"); #ifdef NOT_YET_IMPLEMENTED @@ -269,14 +338,192 @@ report_detail_event (const AccessibleEvent *event, void *user_data) } void +report_detail1_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d\n", event->type, s, + event->detail1); + if (s) SPI_freeString (s); +} + +void report_text_event (const AccessibleEvent *event, void *user_data) { char *s = Accessible_getName (event->source); fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, event->detail1, event->detail2); - if (s) SPI_freeString (s); - s = AccessibleEvent_getContextString (event); + SPI_freeString (s); + s = AccessibleTextChangedEvent_getChangeString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_text_selection_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleTextSelectionChangedEvent_getSelectionString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_active_descendant_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + char *s1; + Accessible *ao; + + ao = AccessibleActiveDescendantChangedEvent_getActiveDescendant (event); + s1 = Accessible_getName (ao); + fprintf (stderr, "(detail) %s parent: %s child: %s %d %d\n", event->type, + s ? s : "", s1 ? s1 : "", + event->detail1, event->detail2); + SPI_freeString (s); + SPI_freeString (s1); + Accessible_unref (ao); +} +void +report_children_changed_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + char *s1; + Accessible *ao; + + ao = AccessibleChildChangedEvent_getChildAccessible (event); + s1 = Accessible_getName (ao); + fprintf (stderr, "(detail) %s parent: %s child: %s %d %d\n", event->type, + s ? s : "", s1 ? s1 : "", + event->detail1, event->detail2); + SPI_freeString (s); + SPI_freeString (s1); + Accessible_unref (ao); +} + +void +report_name_changed_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleNameChangedEvent_getNameString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_description_changed_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleDescriptionChangedEvent_getDescriptionString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_parent_changed_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + char *s1; + Accessible *ao; + + ao = AccessibleParentChangedEvent_getParentAccessible (event); + s1 = Accessible_getName (ao); + fprintf (stderr, "(detail) %s parent: %s child: %s %d %d\n", event->type, + s ? s : "", s1 ? s1 : "", + event->detail1, event->detail2); + SPI_freeString (s); + SPI_freeString (s1); + Accessible_unref (ao); +} + +void +report_window_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleWindowEvent_getTitleString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_table_summary_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + char *s1; + Accessible *ao; + + ao = AccessibleTableSummaryChangedEvent_getSummaryAccessible (event); + s1 = Accessible_getName (ao); + fprintf (stderr, "(detail) %s parent: %s child: %s %d %d\n", event->type, + s ? s : "", s1 ? s1 : "", + event->detail1, event->detail2); + SPI_freeString (s); + SPI_freeString (s1); + Accessible_unref (ao); +} + +void +report_table_header_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + char *s1; + Accessible *ao; + + ao = AccessibleTableHeaderChangedEvent_getHeaderAccessible (event); + s1 = Accessible_getName (ao); + fprintf (stderr, "(detail) %s parent: %s child: %s %d %d\n", event->type, + s ? s : "", s1 ? s1 : "", + event->detail1, event->detail2); + SPI_freeString (s); + SPI_freeString (s1); + Accessible_unref (ao); +} + +void +report_table_caption_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleTableCaptionChangedEvent_getCaptionString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_table_row_description_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleTableRowDescriptionChangedEvent_getDescriptionString (event); + fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); +} + +void +report_table_column_description_event (const AccessibleEvent *event, void *user_data) +{ + char *s = Accessible_getName (event->source); + fprintf (stderr, "(detail) %s %s %d %d\n", event->type, s, + event->detail1, event->detail2); + SPI_freeString (s); + s = AccessibleTableColumnDescriptionChangedEvent_getDescriptionString (event); fprintf (stderr, "context string %s\n", (s) ? s : ""); + SPI_freeString (s); } SPIBoolean