summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/java/mod/_sw/SwXTextDocument.java')
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDocument.java268
1 files changed, 268 insertions, 0 deletions
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
new file mode 100644
index 000000000000..da2f53168863
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
@@ -0,0 +1,268 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+package mod._sw;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+
+public class SwXTextDocument extends TestCase {
+ XTextDocument xTextDoc;
+ XTextDocument xSecondTextDoc;
+
+ protected void initialize(TestParameters tParam, PrintWriter log) {
+ }
+
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ DesktopTools.closeDoc(xSecondTextDoc);
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a Testenvironment for the interfaces to be tested
+ */
+ public synchronized TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ TestEnvironment tEnv = null;
+ XTextTable the_table = null;
+
+ try {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting some lines");
+
+ try {
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i,
+ false);
+ oText.insertString(oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ oText.insertString(oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.LINE_BREAK,
+ false);
+ }
+ for (int i = 0; i < 11; i++) {
+ oText.insertString(oCursor, "xTextDoc ", false);
+
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert lines", e);
+ }
+
+ //insert two sections parent and child
+ XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xTextDoc);
+
+ XInterface oTS;
+ XTextSection xTS;
+
+ XTextSectionsSupplier oTSSupp = (XTextSectionsSupplier) UnoRuntime.queryInterface(
+ XTextSectionsSupplier.class,
+ xTextDoc);
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ oTS = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.TextSection");
+
+ XTextContent oTSC = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XWordCursor oWordC = (XWordCursor) UnoRuntime.queryInterface(
+ XWordCursor.class, oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+
+ XInterface oTS2 = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.TextSection");
+ oTSC = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
+ oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = (XIndexAccess) UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ oTSSuppName);
+ log.println(
+ "getting a TextSection with the XTextSectionSupplier()");
+ xTS = (XTextSection) UnoRuntime.queryInterface(XTextSection.class,
+ oTSSuppIndex.getByIndex(0));
+
+ XNamed xTSName = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ xTS);
+ xTSName.setName("SwXTextSection");
+
+ log.println(" adding TextTable");
+ the_table = SOfficeFactory.createTextTable(xTextDoc, 6, 4);
+
+ XNamed the_name = (XNamed) UnoRuntime.queryInterface(XNamed.class,
+ the_table);
+ the_name.setName("SwXTextDocument");
+ SOfficeFactory.insertTextContent(xTextDoc,
+ (XTextContent) the_table);
+
+ log.println(" adding ReferenceMark");
+
+ XInterface aMark = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.ReferenceMark");
+ the_name = (XNamed) UnoRuntime.queryInterface(XNamed.class, aMark);
+ the_name.setName("SwXTextDocument");
+
+ XTextContent oTC = (XTextContent) UnoRuntime.queryInterface(
+ XTextContent.class, aMark);
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println(" adding TextGraphic");
+ WriterTools.insertTextGraphic(xTextDoc, oDocMSF, 5200, 4200, 4400,
+ 4000, "space-metal.jpg",
+ "SwXTextDocument");
+
+ log.println(" adding EndNote");
+
+ XInterface aEndNote = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.text.Endnote");
+ oTC = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
+ aEndNote);
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println(" adding Bookmark");
+ SOfficeFactory.insertTextContent(xTextDoc,
+ (XTextContent) SOfficeFactory.createBookmark(
+ xTextDoc));
+
+ log.println(" adding DocumentIndex");
+ oTC = SOfficeFactory.createIndex(xTextDoc,
+ "com.sun.star.text.DocumentIndex");
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println(" adding TextFrame");
+
+ XTextFrame frame = SOfficeFactory.createTextFrame(xTextDoc, 500,
+ 500);
+ oTC = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
+ frame);
+ SOfficeFactory.insertTextContent(xTextDoc, (XTextContent) oTC);
+
+ log.println("creating a second textdocument");
+ xSecondTextDoc = WriterTools.createTextDoc(
+ (XMultiServiceFactory) Param.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occures.FAILED
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't create document", e);
+ }
+
+ if (xTextDoc != null) {
+ log.println("Creating instance...");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oTextCursor = oText.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ oText.insertString(oTextCursor, "xTextDoc ", false);
+ }
+
+ tEnv = new TestEnvironment(xTextDoc);
+ } else {
+ log.println("Failed to create instance.");
+
+ return tEnv;
+ }
+
+ XModel model1 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+ XModel model2 = (XModel) UnoRuntime.queryInterface(XModel.class,
+ xSecondTextDoc);
+
+ XController cont1 = model1.getCurrentController();
+ XController cont2 = model2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = (XSelectionSupplier) UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", the_table);
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT1", cont1);
+ tEnv.addObjRelation("CONT2", cont2);
+
+ return tEnv;
+ }
+} // finish class SwXTextDocument