diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /qadevOOo/tests/java/mod/_sw/SwXTextDocument.java | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qadevOOo/tests/java/mod/_sw/SwXTextDocument.java')
-rw-r--r-- | qadevOOo/tests/java/mod/_sw/SwXTextDocument.java | 215 |
1 files changed, 215 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 000000000..442d94b2c --- /dev/null +++ b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java @@ -0,0 +1,215 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +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.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; + + @Override + 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 + */ + @Override + public TestEnvironment createTestEnvironment( + TestParameters Param, PrintWriter log) throws Exception { + TestEnvironment tEnv = null; + XTextTable the_table = null; + + log.println("creating a textdocument"); + xTextDoc = WriterTools.createTextDoc(Param.getMSF()); + + XText oText = xTextDoc.getText(); + XTextCursor oCursor = oText.createTextCursor(); + + log.println("inserting some lines"); + + 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); + + } + + // insert two sections parent and child + XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( + XMultiServiceFactory.class, xTextDoc); + + XInterface oTS; + XTextSection xTS; + + XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface( + XTextSectionsSupplier.class, xTextDoc); + XNameAccess oTSSuppName = oTSSupp.getTextSections(); + + oTS = (XInterface) oDocMSF + .createInstance("com.sun.star.text.TextSection"); + + XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS); + oText.insertTextContent(oCursor, oTSC, false); + + XWordCursor oWordC = 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 = UnoRuntime.queryInterface(XTextContent.class, oTS2); + oText.insertTextContent(oCursor, oTSC, false); + + XIndexAccess oTSSuppIndex = UnoRuntime.queryInterface( + XIndexAccess.class, oTSSuppName); + log.println("getting a TextSection with the XTextSectionSupplier()"); + xTS = UnoRuntime.queryInterface(XTextSection.class, + oTSSuppIndex.getByIndex(0)); + + XNamed xTSName = UnoRuntime.queryInterface(XNamed.class, xTS); + xTSName.setName("SwXTextSection"); + + log.println(" adding TextTable"); + the_table = SOfficeFactory.createTextTable(xTextDoc, 6, 4); + + XNamed the_name = UnoRuntime.queryInterface(XNamed.class, the_table); + the_name.setName("SwXTextDocument"); + SOfficeFactory.insertTextContent(xTextDoc, the_table); + + log.println(" adding ReferenceMark"); + + XInterface aMark = (XInterface) oDocMSF + .createInstance("com.sun.star.text.ReferenceMark"); + the_name = UnoRuntime.queryInterface(XNamed.class, aMark); + the_name.setName("SwXTextDocument"); + + XTextContent oTC = UnoRuntime.queryInterface(XTextContent.class, aMark); + SOfficeFactory.insertTextContent(xTextDoc, oTC); + + log.println(" adding TextGraphic"); + WriterTools.insertTextGraphic(xTextDoc, oDocMSF, Param.getComponentContext(), + 5200, 4200, 4400, 4000, "space-metal.jpg", "SwXTextDocument"); + + log.println(" adding EndNote"); + + XInterface aEndNote = (XInterface) oDocMSF + .createInstance("com.sun.star.text.Endnote"); + oTC = UnoRuntime.queryInterface(XTextContent.class, aEndNote); + SOfficeFactory.insertTextContent(xTextDoc, oTC); + + log.println(" adding Bookmark"); + SOfficeFactory.insertTextContent(xTextDoc, + SOfficeFactory.createBookmark(xTextDoc)); + + log.println(" adding DocumentIndex"); + oTC = SOfficeFactory.createIndex(xTextDoc, + "com.sun.star.text.DocumentIndex"); + SOfficeFactory.insertTextContent(xTextDoc, oTC); + + log.println(" adding TextFrame"); + + XTextFrame frame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500); + oTC = UnoRuntime.queryInterface(XTextContent.class, frame); + SOfficeFactory.insertTextContent(xTextDoc, oTC); + + log.println("creating a second textdocument"); + xSecondTextDoc = WriterTools.createTextDoc(Param.getMSF()); + + XText oText2 = xTextDoc.getText(); + XTextCursor oTextCursor = oText2.createTextCursor(); + + for (int i = 0; i < 11; i++) { + oText2.insertString(oTextCursor, "xTextDoc ", false); + } + + tEnv = new TestEnvironment(xTextDoc); + + XModel model1 = UnoRuntime.queryInterface(XModel.class, xTextDoc); + XModel model2 = UnoRuntime.queryInterface(XModel.class, xSecondTextDoc); + + XController cont1 = model1.getCurrentController(); + XController cont2 = model2.getCurrentController(); + + cont1.getFrame().setName("cont1"); + cont2.getFrame().setName("cont2"); + + XSelectionSupplier sel = 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 |