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