1 import com.sun.star.accessibility.XAccessible;
2 import com.sun.star.accessibility.XAccessibleContext;
3 import com.sun.star.accessibility.AccessibleEventObject;
4 import com.sun.star.uno.UnoRuntime;
5 
6 import java.io.PrintStream;
7 
8 import tools.NameProvider;
9 
10 /** Base class for handling of accessibility events.
11 */
12 class EventHandler
13 {
14     public EventHandler (AccessibleEventObject aEvent, AccessibilityTreeModel aTreeModel)
15     {
16         maEvent = aEvent;
17         maTreeModel = aTreeModel;
18 
19         mnEventId = aEvent.EventId;
20 
21         mxEventSource = (XAccessibleContext)UnoRuntime.queryInterface(
22             XAccessibleContext.class, aEvent.Source);
23         if (mxEventSource == null)
24         {
25             XAccessible xAccessible = (XAccessible)UnoRuntime.queryInterface(
26                 XAccessible.class, aEvent.Source);
27             if (xAccessible != null)
28                 mxEventSource = xAccessible.getAccessibleContext();
29         }
30     }
31 
32     public void Print (PrintStream out)
33     {
34         out.println ("Event id is " + mnEventId
35             + " (" + NameProvider.getEventName(mnEventId)+")"
36             + " for " + mxEventSource.getAccessibleName() + " / "
37             + NameProvider.getRoleName (mxEventSource.getAccessibleRole()));
38         PrintOldAndNew (out);
39     }
40 
41     public void PrintOldAndNew (PrintStream out)
42     {
43         out.println ("    old value is " + maEvent.OldValue);
44         out.println ("    new value is " + maEvent.NewValue);
45     }
46 
47     public void Process ()
48     {
49         System.out.println ("processing of event " + maEvent + " not implemented");
50     }
51 
52     protected AccessibleEventObject maEvent;
53     protected AccessibilityTreeModel maTreeModel;
54 
55     protected int mnEventId;
56     protected XAccessibleContext mxEventSource;
57 }
58