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