1*cdf0e10cSrcweir import com.sun.star.accessibility.XAccessible;
2*cdf0e10cSrcweir import com.sun.star.accessibility.AccessibleEventObject;
3*cdf0e10cSrcweir import com.sun.star.accessibility.AccessibleEventId;
4*cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime;
5*cdf0e10cSrcweir import com.sun.star.uno.AnyConverter;
6*cdf0e10cSrcweir 
7*cdf0e10cSrcweir import java.io.PrintStream;
8*cdf0e10cSrcweir 
9*cdf0e10cSrcweir import tools.NameProvider;
10*cdf0e10cSrcweir 
11*cdf0e10cSrcweir class ContextEventHandler
12*cdf0e10cSrcweir     extends EventHandler
13*cdf0e10cSrcweir {
14*cdf0e10cSrcweir     public ContextEventHandler (AccessibleEventObject aEvent, AccessibilityTreeModel aTreeModel)
15*cdf0e10cSrcweir     {
16*cdf0e10cSrcweir         super (aEvent, aTreeModel);
17*cdf0e10cSrcweir     }
18*cdf0e10cSrcweir 
19*cdf0e10cSrcweir     public void PrintOldAndNew (PrintStream out)
20*cdf0e10cSrcweir     {
21*cdf0e10cSrcweir         switch (mnEventId)
22*cdf0e10cSrcweir         {
23*cdf0e10cSrcweir             case AccessibleEventId.STATE_CHANGED:
24*cdf0e10cSrcweir                 try
25*cdf0e10cSrcweir                 {
26*cdf0e10cSrcweir                     int nOldValue = AnyConverter.toInt (maEvent.OldValue);
27*cdf0e10cSrcweir                     out.println ("    turning off state " + nOldValue + " ("
28*cdf0e10cSrcweir                         + NameProvider.getStateName (nOldValue) + ")");
29*cdf0e10cSrcweir                 }
30*cdf0e10cSrcweir                 catch (com.sun.star.lang.IllegalArgumentException e)
31*cdf0e10cSrcweir                 {}
32*cdf0e10cSrcweir                 try
33*cdf0e10cSrcweir                 {
34*cdf0e10cSrcweir                     int nNewValue = AnyConverter.toInt (maEvent.NewValue);
35*cdf0e10cSrcweir                     out.println ("    turning on state " + nNewValue + " ("
36*cdf0e10cSrcweir                         + NameProvider.getStateName (nNewValue) + ")");
37*cdf0e10cSrcweir                 }
38*cdf0e10cSrcweir                 catch (com.sun.star.lang.IllegalArgumentException e)
39*cdf0e10cSrcweir                 {}
40*cdf0e10cSrcweir                 break;
41*cdf0e10cSrcweir 
42*cdf0e10cSrcweir             default:
43*cdf0e10cSrcweir                 super.PrintOldAndNew (out);
44*cdf0e10cSrcweir         }
45*cdf0e10cSrcweir 
46*cdf0e10cSrcweir     }
47*cdf0e10cSrcweir 
48*cdf0e10cSrcweir     public void Process ()
49*cdf0e10cSrcweir     {
50*cdf0e10cSrcweir         maTreeModel.updateNode (mxEventSource, AccessibleContextHandler.class);
51*cdf0e10cSrcweir     }
52*cdf0e10cSrcweir }
53