/** Disposes Writer document. */ protected void cleanup(TestParameters tParam, PrintWriter log) { // closing the appearing dialog before disposing the document XInterface toolkit = null; try { toolkit = (XInterface) ((XMultiServiceFactory) tParam.getMSF()).createInstance("com.sun.star.awt.Toolkit"); } catch (com.sun.star.uno.Exception e) { log.println("Couldn't get toolkit"); e.printStackTrace(log); throw new StatusException("Couldn't get toolkit", e); } XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, toolkit); Object atw = tk.getActiveTopWindow(); XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, atw); XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow); XInterface button = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON); XAccessibleAction action = UnoRuntime.queryInterface(XAccessibleAction.class, button); try { action.doAccessibleAction(0); } catch (com.sun.star.lang.IndexOutOfBoundsException iob) { log.println("couldn't close dialog"); } catch (com.sun.star.lang.DisposedException e) { log.println("couldn't close dialog"); } log.println(" disposing xTextDoc "); try { XCloseable closer = UnoRuntime.queryInterface(XCloseable.class, xTextDoc); closer.close(true); } catch (com.sun.star.util.CloseVetoException e) { log.println("couldn't close document"); } catch (com.sun.star.lang.DisposedException e) { log.println("couldn't close document"); } }
protected void actionPerformImpl(GComponent gComponent) { XAccessible xAccessible = getAccessible(gComponent); XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext(); if (xAccessibleContext == null) return; XAccessibleAction xAction = (XAccessibleAction) UnoRuntime.queryInterface(XAccessibleAction.class, xAccessibleContext); if (xAction == null) return; try { int nActions = xAction.getAccessibleActionCount(); for (int j = 0; j < nActions; j++) { xAction.doAccessibleAction(j); } } catch (IndexOutOfBoundsException e) { System.err.println("Cannot click"); e.printStackTrace(); } }