protected TestEnvironment createTestEnvironment(
TestParameters Param, PrintWriter log) {
XInterface oObj = null;
XText oText = xTextDoc.getText();
XTextCursor oCursor = oText.createTextCursor();
log.println( "inserting some lines" );
try {
for (int i=0; i<25; i++){
oText.insertString( oCursor,"Paragraph Number: " + i, false);
oText.insertString( oCursor,
" The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",
false);
oText.insertControlCharacter(
oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
oText.insertString( oCursor,
"THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",
false);
oText.insertControlCharacter(oCursor,
ControlCharacter.PARAGRAPH_BREAK, false );
oText.insertControlCharacter(
oCursor, ControlCharacter.LINE_BREAK, false );
}
} catch ( com.sun.star.lang.IllegalArgumentException e ){
e.printStackTrace(log);
throw new StatusException( "Couldn't insert lines", e );
}
XController xController = xTextDoc.getCurrentController();
XModel aModel = (XModel)
UnoRuntime.queryInterface(XModel.class, xTextDoc);
//switch to 'Print Preview' mode
try {
XDispatchProvider xDispProv = (XDispatchProvider)
UnoRuntime.queryInterface(XDispatchProvider.class, xController);
XURLTransformer xParser = (com.sun.star.util.XURLTransformer)
UnoRuntime.queryInterface(XURLTransformer.class,
( (XMultiServiceFactory) Param.getMSF()).createInstance("com.sun.star.util.URLTransformer"));
// Because it's an in/out parameter we must use an array of URL objects.
URL[] aParseURL = new URL[1];
aParseURL[0] = new URL();
aParseURL[0].Complete = ".uno:PrintPreview";
xParser.parseStrict(aParseURL);
URL aURL = aParseURL[0];
XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
if(xDispatcher != null)
xDispatcher.dispatch( aURL, null );
} catch (com.sun.star.uno.Exception e) {
log.println("Couldn't change mode");
throw new StatusException(Status.failed("Couldn't change mode"));
}
shortWait();
AccessibilityTools at = new AccessibilityTools();
XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel);
XAccessible xRoot = at.getAccessibleObject(xWindow);
at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT );
oObj = AccessibilityTools.SearchedContext;
log.println("ImplementationName " + utils.getImplName(oObj));
TestEnvironment tEnv = new TestEnvironment(oObj);
final XText the_text = oText;
tEnv.addObjRelation("EventProducer",
new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
public void fireEvent() {
String oldText = the_text.getString();
the_text.setString("EVENT FIRED");
shortWait();
the_text.setString(oldText);
}
});
return tEnv;