1 import com.sun.star.accessibility.XAccessible; 2 import com.sun.star.accessibility.AccessibleEventObject; 3 import com.sun.star.uno.UnoRuntime; 4 5 import java.io.PrintStream; 6 7 class ChildEventHandler 8 extends EventHandler 9 { 10 public ChildEventHandler (AccessibleEventObject aEvent, AccessibilityTreeModel aTreeModel) 11 { 12 super (aEvent, aTreeModel); 13 mxOldChild = (XAccessible)UnoRuntime.queryInterface( 14 XAccessible.class, aEvent.OldValue); 15 mxNewChild = (XAccessible)UnoRuntime.queryInterface( 16 XAccessible.class, aEvent.NewValue); 17 } 18 19 public void PrintOldAndNew (PrintStream out) 20 { 21 if (mxOldChild != null) 22 out.println (" removing child " + mxOldChild); 23 if (mxNewChild != null) 24 out.println (" adding child " + mxNewChild); 25 } 26 27 public void Process () 28 { 29 // Insertion and removal of children should be mutually exclusive. 30 // But this is a test tool and should take everything into account. 31 if (mxOldChild != null) 32 { 33 maTreeModel.removeNode (mxOldChild.getAccessibleContext()); 34 maTreeModel.updateNode (mxEventSource, AccessibleTreeHandler.class); 35 } 36 37 if (mxNewChild != null) 38 { 39 maTreeModel.addChild (mxEventSource, mxNewChild); 40 } 41 } 42 43 44 private XAccessible mxOldChild; 45 private XAccessible mxNewChild; 46 } 47