summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
Diffstat (limited to 'sw')
-rw-r--r--[-rwxr-xr-x]sw/prj/build.lst8
-rw-r--r--sw/prj/d.lst3
-rw-r--r--sw/qa/complex/accessibility/AccessibleRelationSet.java173
-rw-r--r--sw/qa/complex/accessibility/makefile.mk43
-rwxr-xr-xsw/qa/complex/checkColor/CheckChangeColor.java119
-rwxr-xr-xsw/qa/complex/checkColor/makefile.mk61
-rwxr-xr-xsw/qa/complex/indeterminateState/CheckIndeterminateState.java133
-rwxr-xr-xsw/qa/complex/indeterminateState/makefile.mk66
-rw-r--r--sw/qa/complex/writer/CheckBookmarks.java127
-rw-r--r--sw/qa/complex/writer/CheckCrossReferences.java334
-rw-r--r--sw/qa/complex/writer/CheckFlies.java219
-rwxr-xr-xsw/qa/complex/writer/CheckIndexedPropertyValues.java184
-rwxr-xr-xsw/qa/complex/writer/CheckNamedPropertyValues.java200
-rw-r--r--sw/qa/complex/writer/TestDocument.java39
-rwxr-xr-xsw/qa/complex/writer/TextPortionEnumerationTest.java645
-rwxr-xr-xsw/qa/complex/writer/makefile.mk100
-rw-r--r--sw/qa/unoapi/knownissues.xcl14
-rw-r--r--sw/qa/unoapi/sw.sce6
-rw-r--r--[-rwxr-xr-x]sw/source/core/doc/doc.cxx12
-rw-r--r--sw/source/core/doc/number.cxx9
-rw-r--r--sw/source/core/docnode/ndtbl.cxx8
-rw-r--r--sw/source/core/draw/dcontact.cxx33
-rw-r--r--sw/source/core/frmedt/feshview.cxx12
-rw-r--r--sw/source/core/layout/fly.cxx27
-rw-r--r--sw/source/filter/rtf/rtfnum.cxx8
-rw-r--r--sw/source/filter/ww8/docxexportfilter.cxx24
-rw-r--r--sw/source/filter/ww8/ww8par3.cxx4
-rw-r--r--sw/source/filter/ww8/ww8scan.cxx12
-rw-r--r--sw/source/filter/xml/xmlexpit.cxx12
-rw-r--r--sw/source/ui/docvw/edtwin.cxx47
-rw-r--r--sw/source/ui/lingu/olmenu.cxx1
-rwxr-xr-xsw/source/ui/ribbar/inputwin.cxx19
-rw-r--r--sw/source/ui/uiview/pview.cxx488
-rw-r--r--sw/source/ui/uiview/pview.src293
-rw-r--r--sw/source/ui/uiview/view.hrc1
-rw-r--r--sw/source/ui/uno/SwXDocumentSettings.cxx2
-rw-r--r--sw/source/ui/uno/SwXPrintPreviewSettings.cxx375
-rw-r--r--sw/source/ui/uno/SwXPrintPreviewSettings.hxx89
-rw-r--r--sw/source/ui/uno/detreg.cxx24
-rw-r--r--sw/source/ui/uno/makefile.mk1
-rw-r--r--sw/source/ui/uno/unofreg.cxx93
-rw-r--r--sw/source/ui/uno/unotxdoc.cxx26
-rw-r--r--sw/source/ui/vba/service.cxx10
-rw-r--r--sw/util/makefile.mk20
-rw-r--r--sw/util/sw.component104
-rw-r--r--sw/util/swd.component36
-rw-r--r--sw/util/vbaswobj.component43
47 files changed, 1419 insertions, 2888 deletions
diff --git a/sw/prj/build.lst b/sw/prj/build.lst
index 87d163d72648..8b6cecba92ba 100755..100644
--- a/sw/prj/build.lst
+++ b/sw/prj/build.lst
@@ -74,4 +74,10 @@ sw sw\source\ui nmake - all sw_ui sw_app
sw sw\source\core nmake - all sw_core sw_attr sw_bast sw_crsr sw_dcnd sw_doc sw_draw sw_edit sw_excpt sw_fld sw_frmed sw_grph sw_layo sw_ole sw_para sw_sw3io sw_swg sw_text sw_tox sw_txtnd sw_uco sw_undo sw_view sw_acc sw_objpos sw_NumberTree sw_tablecore NULL
sw sw\source\filter nmake - all sw_flt sw_ascii sw_bsflt sw_html sw_rtf sw_wrtr sw_ww1 sw_ww8 sw_xml NULL
sw sw\util nmake - all sw_util sw_core sw_flt sw_sdi sw_ui NULL
-sw sw\qa\unoapi nmake - all sw_qa_unoapi NULL
+
+sw sw\qa\complex\accessibility nmake - all sw_qa_complex_accessibility sw_util NULL
+sw sw\qa\complex\checkColor nmake - all sw_qa_complex_checkColor sw_util NULL
+# fails
+# sw sw\qa\complex\indeterminateState nmake - all sw_qa_complex_indeterminateState sw_util NULL
+# sw sw\qa\complex\writer nmake - all sw_qa_complex_writer sw_util NULL
+sw sw\qa\unoapi nmake - all sw_qa_unoapi sw_util NULL
diff --git a/sw/prj/d.lst b/sw/prj/d.lst
index d7e75a09564e..0cb261c5f0f1 100644
--- a/sw/prj/d.lst
+++ b/sw/prj/d.lst
@@ -36,6 +36,7 @@ mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\swreport\statusbar
..\%__SRC%\bin\vbaswobj*.dll %_DEST%\bin%_EXT%\vbaswobj*.dll
..\%__SRC%\bin\sw*.res %_DEST%\bin%_EXT%\sw*.res
..\%__SRC%\lib\lib*.* %_DEST%\lib%_EXT%\lib*.*
+..\%__SRC%\misc\swd.component %_DEST%\xml%_EXT%\swd.component
..\uiconfig\swriter\menubar\*.xml %_DEST%\xml%_EXT%\uiconfig\modules\swriter\menubar\*.xml
..\uiconfig\swxform\menubar\*.xml %_DEST%\xml%_EXT%\uiconfig\modules\swxform\menubar\*.xml
@@ -57,3 +58,5 @@ mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\swreport\statusbar
..\uiconfig\swreport\statusbar\*.xml %_DEST%\xml%_EXT%\uiconfig\modules\swreport\statusbar\*.xml
..\%__SRC%\bin\*-layout.zip %_DEST%\pck%_EXT%\*.*
+..\%__SRC%\misc\sw.component %_DEST%\xml%_EXT%\sw.component
+..\%__SRC%\misc\vbaswobj.component %_DEST%\xml%_EXT%\vbaswobj.component
diff --git a/sw/qa/complex/accessibility/AccessibleRelationSet.java b/sw/qa/complex/accessibility/AccessibleRelationSet.java
index b7f45d25db2b..a6da2f29115a 100644
--- a/sw/qa/complex/accessibility/AccessibleRelationSet.java
+++ b/sw/qa/complex/accessibility/AccessibleRelationSet.java
@@ -27,7 +27,6 @@
package complex.accessibility;
-import com.sun.star.accessibility.AccessibleRelation;
import com.sun.star.accessibility.AccessibleRole;
import com.sun.star.accessibility.XAccessible;
import com.sun.star.accessibility.XAccessibleText;
@@ -42,68 +41,61 @@ import com.sun.star.text.XText;
import com.sun.star.text.XTextCursor;
import com.sun.star.text.XTextDocument;
import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
-import java.io.PrintWriter;
-import lib.StatusException;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
import util.AccessibilityTools;
import util.WriterTools;
-import util.utils;
+import static org.junit.Assert.*;
-public class AccessibleRelationSet extends ComplexTestCase {
-
- private static XAccessible para1 = null;
- private static XAccessible para2 = null;
- private static XAccessible para3 = null;
- private static XTextDocument xTextDoc = null;
+public class AccessibleRelationSet {
+ private XAccessible para1 = null;
+ private XAccessible para2 = null;
+ private XAccessible para3 = null;
+ private XTextDocument xTextDoc = null;
private final static String[] types = {"INVALID","CONTENT_FLOWS_FROM","CONTENT_FLOWS_TO","CONTROLLED_BY","CONTROLLER_FOR","LABEL_FOR","LABELED_BY","MEMBER_OF","SUB_WINDOW_OF"};
- public String[] getTestMethodNames() {
- return new String[]{"contents_flows_to","contents_flows_from"};
- }
-
- public void contents_flows_to() {
+ @Test public void contents_flows_to() {
XAccessibleRelationSet set = getAccessibleRelation(para1);
- boolean res = true;
short firstrelation=-1;
XAccessibleText atarget=null;
if (set != null) {
- log.println("Count of relations "+set.getRelationCount());
- assure("didn't gain correct count of relations",
- set.getRelationCount() == 1);
+ assertEquals(
+ "didn't gain correct count of relations", 1,
+ set.getRelationCount());
try {
firstrelation = set.getRelation(0).RelationType;
Object oTmp = set.getRelation(0).TargetSet[0];
atarget = (XAccessibleText) UnoRuntime.queryInterface(XAccessibleText.class, oTmp);
} catch (IndexOutOfBoundsException e) {
- log.println("Exception when getting relations "+e);
- res = false;
+ fail("Exception when getting relations "+e);
}
}
- log.println("Expected for paragraph 0 "+types[2]);
- log.println("gained for paragraph 0 "+types[firstrelation]);
- res = types[2].equals(types[firstrelation]);
- assure("didn't gain correct relation type",res);
+ assertEquals(
+ "didn't gain correct relation type for paragraph 0", types[2],
+ types[firstrelation]);
- log.println("Text of target paragraph "+atarget.getText());
XAccessibleText paraTxt2 =
(XAccessibleText) UnoRuntime.queryInterface(XAccessibleText.class, para2);
- assure("didn't gain correct target paragraph",
- atarget.getText().equals(paraTxt2.getText()) );
+ assertEquals(
+ "didn't gain correct target paragraph", atarget.getText(),
+ paraTxt2.getText());
}
- public void contents_flows_from() {
+ @Test public void contents_flows_from() {
XAccessibleRelationSet set = getAccessibleRelation(para2);
- boolean res = true;
short[] relationtypes = new short[2];
XAccessibleText[] atargets = new XAccessibleText[2];
if (set != null) {
- log.println("Count of relations "+set.getRelationCount());
- assure("didn't gain correct count of relations",
- set.getRelationCount() == 2);
+ assertEquals(
+ "didn't gain correct count of relations", 2,
+ set.getRelationCount());
try {
short tmprelation = set.getRelation(0).RelationType;
if ( tmprelation == 1 )
@@ -120,7 +112,7 @@ public class AccessibleRelationSet extends ComplexTestCase {
}
else
{
- assure("didn't gain correct relation type", false);
+ fail("didn't gain correct relation type");
}
tmprelation = set.getRelation(1).RelationType;
if ( tmprelation == 1 )
@@ -137,79 +129,51 @@ public class AccessibleRelationSet extends ComplexTestCase {
}
else
{
- assure("didn't gain correct relation type", false);
+ fail("didn't gain correct relation type");
}
} catch (IndexOutOfBoundsException e) {
- log.println("Exception when getting relations "+e);
- res = false;
+ fail("Exception when getting relations "+e);
}
}
- log.println("### Checking "+types[1]+" for paragraph 1");
- log.println("Expected for paragraph 1 "+types[1]);
- log.println("gained for paragraph 1 "+types[relationtypes[0]]);
- res = types[1].equals(types[relationtypes[0]]);
- assure("didn't gain correct relation type",res);
+ assertEquals(
+ "didn't gain correct relation type for paragraph 1", types[1],
+ types[relationtypes[0]]);
- log.println("Text of target paragraph "+atargets[0].getText());
XAccessibleText paraTxt1 =
(XAccessibleText) UnoRuntime.queryInterface(XAccessibleText.class, para1);
- assure("didn't gain correct target paragraph",
- atargets[0].getText().equals(paraTxt1.getText()) );
+ assertEquals(
+ "didn't gain correct target paragraph", atargets[0].getText(),
+ paraTxt1.getText());
- log.println("### Checking "+types[2]+" for paragraph 1");
- log.println("Expected for paragraph 1 "+types[2]);
- log.println("gained for paragraph 1 "+types[relationtypes[1]]);
- res = types[2].equals(types[relationtypes[1]]);
- assure("didn't gain correct relation type",res);
+ assertEquals(
+ "didn't gain correct relation type for paragraph 3", types[2],
+ types[relationtypes[1]]);
- log.println("Text of target paragraph "+atargets[1].getText());
XAccessibleText paraTxt3 =
(XAccessibleText) UnoRuntime.queryInterface(XAccessibleText.class, para3);
- assure("didn't gain correct target paragraph",
- atargets[1].getText().equals(paraTxt3.getText()) );
+ assertEquals(
+ "didn't gain correct target paragraph", atargets[1].getText(),
+ paraTxt3.getText());
}
- private boolean getResult(XAccessible aPara, short index, int nr) {
- XAccessibleRelationSet set = getAccessibleRelation(aPara);
-
- boolean res = true;
- short firstrelation=-1;
- if (set != null) {
- log.println("Count of relations "+set.getRelationCount());
- try {
- firstrelation = set.getRelation(0).RelationType;
- } catch (IndexOutOfBoundsException e) {
- log.println("Exception when getting relations "+e);
- res = false;
- }
- }
+ @Before public void before()
+ throws com.sun.star.lang.IllegalArgumentException,
+ IndexOutOfBoundsException
+ {
+ XMultiServiceFactory factory = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager());
-
- log.println("Expected for paragraph "+nr+" "+types[index]);
- log.println("gained for paragraph "+nr+" "+types[firstrelation]);
- res = types[index].equals(types[firstrelation]);
- return res;
- }
-
-
- public void before() {
- log.println( "creating a text document" );
- xTextDoc = WriterTools.createTextDoc( (XMultiServiceFactory) param.getMSF());
+ xTextDoc = WriterTools.createTextDoc(factory);
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.insertControlCharacter(
- oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
- }
- } catch ( com.sun.star.lang.IllegalArgumentException e ){
- e.printStackTrace((PrintWriter)log);
- throw new StatusException( "Couldn't insert lines", e );
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
}
XModel aModel = (XModel)
@@ -217,26 +181,17 @@ public class AccessibleRelationSet extends ComplexTestCase {
AccessibilityTools at = new AccessibilityTools();
- XWindow xWindow = at.getCurrentWindow( (XMultiServiceFactory) param.getMSF(), aModel);
+ XWindow xWindow = at.getCurrentWindow(factory, aModel);
XAccessible xRoot = at.getAccessibleObject(xWindow);
at.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
- try {
- para1 = at.SearchedContext.getAccessibleChild(0);
- para2 = at.SearchedContext.getAccessibleChild(1);
- para3 = at.SearchedContext.getAccessibleChild(2);
- } catch(IndexOutOfBoundsException e) {
- e.printStackTrace((PrintWriter)log);
- throw new StatusException( "Couldn't insert lines", e );
- }
-
- log.println("ImplementationName (para1)" + utils.getImplName(para1));
- log.println("ImplementationName (para2)" + utils.getImplName(para2));
+ para1 = at.SearchedContext.getAccessibleChild(0);
+ para2 = at.SearchedContext.getAccessibleChild(1);
+ para3 = at.SearchedContext.getAccessibleChild(2);
}
- public void after() {
- log.println("close text document");
+ @After public void after() {
util.DesktopTools.closeDoc(xTextDoc);
}
@@ -248,5 +203,15 @@ public class AccessibleRelationSet extends ComplexTestCase {
return set;
}
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/accessibility/makefile.mk b/sw/qa/complex/accessibility/makefile.mk
index e4096829bb22..06e7c6a70408 100644
--- a/sw/qa/complex/accessibility/makefile.mk
+++ b/sw/qa/complex/accessibility/makefile.mk
@@ -25,33 +25,26 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = AccessibleRelationSet
-PRJNAME = sw
-PACKAGE = complex$/accessibility
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = AccessibleRelationSet.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
-
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+PRJ = ../../..
+PRJNAME = sw
+TARGET = qa_complex_accessibility
-# --- Targets ------------------------------------------------------
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/accessibility
+JAVATESTFILES = AccessibleRelationSet.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
+ALLTAR : javatest
-run:
- +java -cp $(CLASSPATH) org.openoffice.Runner -TimeOut 0 -tb java_complex -o $(PACKAGE:s#$/#.#).$(JAVAFILES:b)
+.END
diff --git a/sw/qa/complex/checkColor/CheckChangeColor.java b/sw/qa/complex/checkColor/CheckChangeColor.java
index 8a8c563c7eea..a072072e18c8 100755
--- a/sw/qa/complex/checkColor/CheckChangeColor.java
+++ b/sw/qa/complex/checkColor/CheckChangeColor.java
@@ -1,90 +1,89 @@
package complex.checkColor;
-import com.sun.star.awt.Rectangle;
import com.sun.star.awt.Size;
-import com.sun.star.awt.WindowDescriptor;
-import com.sun.star.awt.XControlModel;
-import com.sun.star.awt.XToolkit;
-import com.sun.star.awt.XWindow;
-import com.sun.star.awt.XWindowPeer;
-import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XNameAccess;
import com.sun.star.container.XNameContainer;
-import com.sun.star.drawing.XControlShape;
-import com.sun.star.drawing.XShape;
-import com.sun.star.frame.XComponentLoader;
-import com.sun.star.frame.XController;
-import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.style.XStyleFamiliesSupplier;
import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XInterface;
-import com.sun.star.view.XControlAccess;
-import complexlib.ComplexTestCase;
-import java.io.PrintWriter;
-import util.FormTools;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import util.DesktopTools;
import util.SOfficeFactory;
-import util.WriterTools;
+import static org.junit.Assert.*;
/**
* Created because of complaint on dev@openoffice.org: check the changing of
* BackColor and IsLandscape properties on the PageStyle service.
*/
-public class CheckChangeColor extends ComplexTestCase {
-
- private XToolkit xToolkit = null;
- private XWindowPeer xWinPeer = null;
-
- /**
- * Get all test method names.
- * @return The test methods.
- */
- public String[] getTestMethodNames() {
- return new String[] {"checkChangeColor"};
- }
-
-
+public class CheckChangeColor {
/**
* Check BackColor and IsLandscape properties, wait for an exception: test
* is ok if no exception happened.
*/
- public void checkChangeColor() {
- try {
- XMultiServiceFactory m_xMSF_ = (XMultiServiceFactory)param.getMSF();
- XComponentLoader aLoader = (XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class,m_xMSF_.createInstance( "com.sun.star.frame.Desktop" ));
- XComponent xDocument = (XComponent)UnoRuntime.queryInterface(XComponent.class, aLoader.loadComponentFromURL( "private:factory/swriter", "_blank", 0, new PropertyValue[ 0 ] ) );
- // xDocument.addEventListener( this );
+ @Test public void checkChangeColor() throws Exception {
+ // create a supplier to get the Style family collection
+ XStyleFamiliesSupplier xSupplier = ( XStyleFamiliesSupplier ) UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, document);
- XTextDocument oDoc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, xDocument);
- XMultiServiceFactory oDocMSF = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc );
+ // get the NameAccess interface from the Style family collection
+ XNameAccess xNameAccess = xSupplier.getStyleFamilies();
- // XInterface xInterface = (XInterface) oDocMSF.createInstance( "com.sun.star.style.PageStyle" );
+ XNameContainer xPageStyleCollection = (XNameContainer) UnoRuntime.queryInterface(XNameContainer.class, xNameAccess.getByName( "PageStyles" ));
- // create a supplier to get the Style family collection
- XStyleFamiliesSupplier xSupplier = ( XStyleFamiliesSupplier ) UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, oDoc );
+ // create a PropertySet to set the properties for the new Pagestyle
+ XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xPageStyleCollection.getByName("Standard") );
- // get the NameAccess interface from the Style family collection
- XNameAccess xNameAccess = xSupplier.getStyleFamilies();
+ assertEquals(
+ "BackColor", new Any(Type.LONG, 0xFFFFFFFF),
+ Any.complete(xPropertySet.getPropertyValue("BackColor")));
+ assertEquals(
+ "IsLandscape", new Any(Type.BOOLEAN, false),
+ Any.complete(xPropertySet.getPropertyValue("IsLandscape")));
+ assertEquals(
+ "Size", new Type(Size.class),
+ Any.complete(xPropertySet.getPropertyValue("Size")).getType());
- XNameContainer xPageStyleCollection = (XNameContainer) UnoRuntime.queryInterface(XNameContainer.class, xNameAccess.getByName( "PageStyles" ));
+ xPropertySet.setPropertyValue("BackColor", 0xFF000000);
+ xPropertySet.setPropertyValue("IsLandscape", true);
+ assertEquals(
+ "BackColor", new Any(Type.LONG, 0xFF000000),
+ Any.complete(xPropertySet.getPropertyValue("BackColor")));
+ assertEquals(
+ "IsLandscape", new Any(Type.BOOLEAN, true),
+ Any.complete(xPropertySet.getPropertyValue("IsLandscape")));
+ }
+
+ @Before public void setUpDocument() throws com.sun.star.uno.Exception {
+ document = SOfficeFactory.getFactory(
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager())).
+ createTextDoc(null);
+ }
- // create a PropertySet to set the properties for the new Pagestyle
- XPropertySet xPropertySet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xPageStyleCollection.getByName("Standard") );
+ @After public void tearDownDocument() {
+ DesktopTools.closeDoc(document);
+ }
- log.println("BackColor @ "+xPropertySet.getPropertyValue("BackColor").toString());
- log.println("IsLandscape @ "+xPropertySet.getPropertyValue("IsLandscape").toString());
- log.println("Size @ H:"+((Size)xPropertySet.getPropertyValue("Size")).Height+" W:"+((Size)xPropertySet.getPropertyValue("Size")).Width);
+ private XTextDocument document = null;
- log.println("Set Landscape");
- xPropertySet.setPropertyValue("IsLandscape",new Boolean(true) );
- log.println("Set BackColor");
- xPropertySet.setPropertyValue("BackColor",new Integer((int)255000000) );
- }
- catch(Exception e) {
- e.printStackTrace();
- failed("Exception.");
- }
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
}
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/checkColor/makefile.mk b/sw/qa/complex/checkColor/makefile.mk
index 3048fb8fff95..e5b368083ada 100755
--- a/sw/qa/complex/checkColor/makefile.mk
+++ b/sw/qa/complex/checkColor/makefile.mk
@@ -25,51 +25,26 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = CheckChangeColor
-PRJNAME = $(TARGET)
-PACKAGE = complex$/checkColor
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar
-JAVAFILES = CheckChangeColor.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
-
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
-
-# --- Parameters for the test --------------------------------------
-
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
-
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
-
-# start the runner application
-CT_APP = org.openoffice.Runner
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-# --- Targets ------------------------------------------------------
+PRJ = ../../..
+PRJNAME = sw
+TARGET = qa_complex_checkColor
-.IF "$(depend)" == ""
-ALL : ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/checkColor
+JAVATESTFILES = CheckChangeColor.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-RUN: run
+ALLTAR : javatest
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_NOOFFICE) $(CT_TEST)
+.END
diff --git a/sw/qa/complex/indeterminateState/CheckIndeterminateState.java b/sw/qa/complex/indeterminateState/CheckIndeterminateState.java
index 7c3bf14f2e01..23a6d89ccf51 100755
--- a/sw/qa/complex/indeterminateState/CheckIndeterminateState.java
+++ b/sw/qa/complex/indeterminateState/CheckIndeterminateState.java
@@ -27,110 +27,99 @@
package complex.indeterminateState;
-import complexlib.ComplexTestCase;
-import helper.OfficeProvider;
-import util.SOfficeFactory;
-import util.AccessibilityTools;
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.AccessibleStateType;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleStateSet;
+import com.sun.star.awt.FontWeight;
import com.sun.star.awt.XWindow;
-import com.sun.star.awt.XExtendedToolkit;
-import com.sun.star.frame.XDispatch;
+import com.sun.star.beans.XPropertySet;
import com.sun.star.frame.XController;
-import com.sun.star.frame.XDesktop;
import com.sun.star.frame.XModel;
-import com.sun.star.text.XTextDocument;
import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextViewCursorSupplier;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XInterface;
-import com.sun.star.accessibility.AccessibleRole;
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleValue;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.accessibility.XAccessibleStateSet;
-import com.sun.star.accessibility.AccessibleStateType;
-import com.sun.star.accessibility.XAccessibleAction;
-import com.sun.star.awt.XTopWindow;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.frame.XDispatchProvider;
-import com.sun.star.util.URL;
-import com.sun.star.util.XURLTransformer;
-
-import java.io.PrintWriter;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import static org.junit.Assert.*;
/**
*/
-public class CheckIndeterminateState extends ComplexTestCase {
-
- /**
- * Return all test methods.
- * @return The test methods.
- */
- public String[] getTestMethodNames() {
- return new String[]{"checkToolBoxItem"};
- }
-
+public class CheckIndeterminateState {
/*
* Test the indeterminate state of AccessibleToolBarItem
* The used tools are in project qadevOOo/runner
*/
- public void checkToolBoxItem() {
- log.println( "creating a test environment" );
- XTextDocument xTextDoc = null;
- // get a soffice factory object
- SOfficeFactory SOF = SOfficeFactory.getFactory((XMultiServiceFactory) param.getMSF());
-
- try {
- log.println( "creating a text document" );
- xTextDoc = SOF.createTextDoc(null);
- } catch ( com.sun.star.uno.Exception e ) {
- // Some exception occures.FAILED
- e.printStackTrace( (java.io.PrintWriter)log );
- failed (e.getMessage());
- }
-
+ @Test public void checkToolBoxItem() throws Exception {
XModel aModel = (XModel)
- UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ UnoRuntime.queryInterface(XModel.class, document);
XController xController = aModel.getCurrentController();
- XInterface oObj = null;
+ XText text = document.getText();
+ text.setString("normal");
+ XTextRange end = text.getEnd();
+ end.setString("bold");
+ UnoRuntime.queryInterface(XPropertySet.class, end).setPropertyValue(
+ "CharWeight", FontWeight.BOLD);
+ UnoRuntime.queryInterface(XTextViewCursorSupplier.class, xController).
+ getViewCursor().gotoRange(text, false);
- System.out.println("Press any key after making 'Bold' indeterminate.");
- try{
- byte[]b = new byte[16];
- System.in.read(b);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ XInterface oObj = null;
AccessibilityTools at = new AccessibilityTools();
- XWindow xWindow = at.getCurrentContainerWindow((XMultiServiceFactory)param.getMSF(), aModel);
+ XWindow xWindow = at.getCurrentContainerWindow(getFactory(), aModel);
XAccessible xRoot = at.getAccessibleObject(xWindow);
- // uncomment to print the whole accessible tree.
-// at.printAccessibleTree((java.io.PrintWriter)log,xRoot);
-
- oObj = at.getAccessibleObjectForRole(xRoot,
- AccessibleRole.PUSH_BUTTON, "Bold");
- System.out.println("Found a PUSH_BUTTON: " + (oObj != null));
-
oObj = at.getAccessibleObjectForRole(xRoot,
AccessibleRole.TOGGLE_BUTTON, "Bold");
- System.out.println("Found a TOGGLE_BUTTON: " + (oObj != null));
-
- log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+ assertNotNull("Found a TOGGLE_BUTTON", oObj);
XAccessibleContext oContext = (XAccessibleContext)
UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
XAccessibleStateSet oSet = oContext.getAccessibleStateSet();
- short[]states = oSet.getStates();
- for(int i=0; i<states.length; i++)
- System.out.println("State "+i+": "+states[i]);
+ assertTrue("The 'INDETERMINATE' state is not set.",oSet.contains(AccessibleStateType.INDETERMINATE));
+ }
- assure("The 'INDETERMINATE' state is not set.",oSet.contains(AccessibleStateType.INDETERMINATE));
+ @Before public void setUpDocument() throws com.sun.star.uno.Exception {
+ document = SOfficeFactory.getFactory(getFactory()).createTextDoc(null);
}
-}
+ @After public void tearDownDocument() {
+ DesktopTools.closeDoc(document);
+ }
+ private XTextDocument document = null;
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
+ private static final XMultiServiceFactory getFactory() {
+ return UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager());
+ }
+}
diff --git a/sw/qa/complex/indeterminateState/makefile.mk b/sw/qa/complex/indeterminateState/makefile.mk
index 8850da116f5b..d19915b1e2fe 100755
--- a/sw/qa/complex/indeterminateState/makefile.mk
+++ b/sw/qa/complex/indeterminateState/makefile.mk
@@ -25,58 +25,26 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = CheckIndexedPropertyValue
-PRJNAME = $(TARGET)
-PACKAGE = complex$/indeterminateState
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = CheckIndeterminateState.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
-
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
-
-# --- Parameters for the test --------------------------------------
-
-# start an office if the parameter is set for the makefile
-.IF "$(OFFICE)" == ""
-CT_APPEXECCOMMAND =
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
.ELSE
-CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-.ENDIF
-
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
-
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
-# start the runner application
-CT_APP = org.openoffice.Runner
+PRJ = ../../..
+PRJNAME = sw
+TARGET = qa_complex_indeterminateState
-# --- Targets ------------------------------------------------------
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/indeterminateState
+JAVATESTFILES = CheckIndeterminateState.java
+JAVAFILES = $(JAVATESTFILES)
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
-.IF "$(depend)" == ""
-ALL: ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
-
-.INCLUDE : target.mk
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-RUN:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+ALLTAR : javatest
-run: RUN
+.END
diff --git a/sw/qa/complex/writer/CheckBookmarks.java b/sw/qa/complex/writer/CheckBookmarks.java
index 0915db42e6ac..84bfe15ba045 100644
--- a/sw/qa/complex/writer/CheckBookmarks.java
+++ b/sw/qa/complex/writer/CheckBookmarks.java
@@ -43,9 +43,15 @@ import com.sun.star.text.XTextRange;
import com.sun.star.uno.UnoRuntime;
import complexlib.ComplexTestCase;
import java.math.BigInteger;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
class BookmarkHashes {
- public String m_sName;
public BigInteger m_nSetupHash;
public BigInteger m_nInsertRandomHash;
public BigInteger m_nDeleteRandomHash;
@@ -53,40 +59,13 @@ class BookmarkHashes {
public BigInteger m_nOdfReloadHash;
public BigInteger m_nMsWordReloadHash;
- public BookmarkHashes(String sName) {
- m_sName = sName;
- }
-
- public String checkExpectationString(BookmarkHashes aExpectation) {
- StringBuffer buffer = new StringBuffer();
- buffer.append("Comparing " + m_sName + " to expectations from " + aExpectation.m_sName + "\n");
- buffer.append(compareHashString("after setup", m_nSetupHash, aExpectation.m_nSetupHash));
- buffer.append(compareHashString("after insert random", m_nInsertRandomHash, aExpectation.m_nInsertRandomHash));
- buffer.append(compareHashString("after delete random", m_nDeleteRandomHash, aExpectation.m_nDeleteRandomHash));
- buffer.append(compareHashString("after line breaks", m_nLinebreakHash, aExpectation.m_nLinebreakHash));
- buffer.append(compareHashString("after ODF roundtrip", m_nOdfReloadHash, aExpectation.m_nOdfReloadHash));
- buffer.append(compareHashString("after MsWord roundtrip", m_nMsWordReloadHash, aExpectation.m_nMsWordReloadHash));
- return buffer.toString();
- };
-
- public boolean meetsExpectation(BookmarkHashes aExpectation) {
- return m_nSetupHash.equals(aExpectation.m_nSetupHash)
- && m_nInsertRandomHash.equals(aExpectation.m_nInsertRandomHash)
- && m_nDeleteRandomHash.equals(aExpectation.m_nDeleteRandomHash)
- && m_nLinebreakHash.equals(aExpectation.m_nLinebreakHash)
- && m_nOdfReloadHash.equals(aExpectation.m_nOdfReloadHash)
- && m_nMsWordReloadHash.equals(aExpectation.m_nMsWordReloadHash);
- }
-
- private String compareHashString(String sCheckName, BigInteger nActual, BigInteger nExpectation) {
- StringBuffer buffer = new StringBuffer(sCheckName);
- buffer.append(": ");
- if(nActual.equals(nExpectation))
- buffer.append("good (" + nActual.toString(16) + ")");
- else
- buffer.append("bad (actual:" + nActual.toString(16) + ", expected: " + nExpectation.toString(16) + ")");
- buffer.append("\n");
- return buffer.toString();
+ public void assertExpectation(BookmarkHashes aExpectation) {
+ assertEquals(aExpectation.m_nSetupHash, m_nSetupHash);
+ assertEquals(aExpectation.m_nInsertRandomHash, m_nInsertRandomHash);
+ assertEquals(aExpectation.m_nDeleteRandomHash, m_nDeleteRandomHash);
+ assertEquals(aExpectation.m_nLinebreakHash, m_nLinebreakHash);
+ assertEquals(aExpectation.m_nOdfReloadHash, m_nOdfReloadHash);
+ assertEquals(aExpectation.m_nMsWordReloadHash, m_nMsWordReloadHash);
}
static public java.math.BigInteger getBookmarksHash(XTextDocument xDoc)
@@ -114,18 +93,15 @@ class BookmarkHashes {
}
}
-public class CheckBookmarks extends ComplexTestCase {
+public class CheckBookmarks {
private XMultiServiceFactory m_xMsf = null;
private XTextDocument m_xDoc = null;
private XTextDocument m_xOdfReloadedDoc = null;
private XTextDocument m_xMsWordReloadedDoc = null;
-
- public String[] getTestMethodNames() {
- return new String[]{"checkBookmarks"};
- }
+ private final BookmarkHashes actualHashes = new BookmarkHashes();
private BookmarkHashes getDEV300m41Expectations() {
- BookmarkHashes result = new BookmarkHashes("DEV300m41");
+ BookmarkHashes result = new BookmarkHashes();
result.m_nSetupHash = new BigInteger("-4b0706744e8452fe1ae9d5e1c28cf70fb6194795",16);
result.m_nInsertRandomHash = new BigInteger("25aa0fad3f4881832dcdfe658ec2efa8a1a02bc5",16);
result.m_nDeleteRandomHash = new BigInteger("-3ec87e810b46d734677c351ad893bbbf9ea10f55",16);
@@ -135,42 +111,51 @@ public class CheckBookmarks extends ComplexTestCase {
return result;
}
- public void checkBookmarks()
+ @Test public void checkBookmarks()
throws com.sun.star.uno.Exception,
com.sun.star.io.IOException,
java.security.NoSuchAlgorithmException
{
- try {
- m_xMsf = (XMultiServiceFactory)param.getMSF();
- m_xDoc = util.WriterTools.createTextDoc(m_xMsf);
- BookmarkHashes actualHashes = new BookmarkHashes("actual");
- BookmarkHashes expectedHashes = getDEV300m41Expectations();
- setupBookmarks();
- actualHashes.m_nSetupHash = BookmarkHashes.getBookmarksHash(m_xDoc);
- insertRandomParts(200177);
- actualHashes.m_nInsertRandomHash = BookmarkHashes.getBookmarksHash(m_xDoc);
- deleteRandomParts(4711);
- actualHashes.m_nDeleteRandomHash = BookmarkHashes.getBookmarksHash(m_xDoc);
- insertLinebreaks(007);
- actualHashes.m_nLinebreakHash = BookmarkHashes.getBookmarksHash(m_xDoc);
- m_xOdfReloadedDoc = reloadFrom("StarOffice XML (Writer)", "odf");
- actualHashes.m_nOdfReloadHash = BookmarkHashes.getBookmarksHash(m_xOdfReloadedDoc);
- m_xMsWordReloadedDoc = reloadFrom("MS Word 97", "doc");
- actualHashes.m_nMsWordReloadHash = BookmarkHashes.getBookmarksHash(m_xMsWordReloadedDoc);
- log.println(actualHashes.checkExpectationString(expectedHashes));
- if(!actualHashes.meetsExpectation(expectedHashes))
- failed("CheckBookmark did not meet expectations (" + expectedHashes.m_sName + ").");
- } finally {
- // closing test document
- if(m_xDoc != null)
- util.DesktopTools.closeDoc(m_xDoc);
- if(m_xOdfReloadedDoc!= null)
- util.DesktopTools.closeDoc(m_xOdfReloadedDoc);
- if(m_xMsWordReloadedDoc!= null)
- util.DesktopTools.closeDoc(m_xMsWordReloadedDoc);
- }
+ actualHashes.assertExpectation(getDEV300m41Expectations());
}
+ @Before public void setUpDocuments() throws Exception {
+ m_xMsf = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager());
+ m_xDoc = util.WriterTools.createTextDoc(m_xMsf);
+ setupBookmarks();
+ actualHashes.m_nSetupHash = BookmarkHashes.getBookmarksHash(m_xDoc);
+ insertRandomParts(200177);
+ actualHashes.m_nInsertRandomHash = BookmarkHashes.getBookmarksHash(m_xDoc);
+ deleteRandomParts(4711);
+ actualHashes.m_nDeleteRandomHash = BookmarkHashes.getBookmarksHash(m_xDoc);
+ insertLinebreaks(007);
+ actualHashes.m_nLinebreakHash = BookmarkHashes.getBookmarksHash(m_xDoc);
+ m_xOdfReloadedDoc = reloadFrom("StarOffice XML (Writer)", "odf");
+ actualHashes.m_nOdfReloadHash = BookmarkHashes.getBookmarksHash(m_xOdfReloadedDoc);
+ m_xMsWordReloadedDoc = reloadFrom("MS Word 97", "doc");
+ actualHashes.m_nMsWordReloadHash = BookmarkHashes.getBookmarksHash(m_xMsWordReloadedDoc);
+ }
+
+ @After public void tearDownDocuments() {
+ util.DesktopTools.closeDoc(m_xDoc);
+ util.DesktopTools.closeDoc(m_xOdfReloadedDoc);
+ util.DesktopTools.closeDoc(m_xMsWordReloadedDoc);
+ }
+
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
private void setupBookmarks()
throws com.sun.star.uno.Exception
{
diff --git a/sw/qa/complex/writer/CheckCrossReferences.java b/sw/qa/complex/writer/CheckCrossReferences.java
index 7b469c0a4afc..cc7fcb1c7e53 100644
--- a/sw/qa/complex/writer/CheckCrossReferences.java
+++ b/sw/qa/complex/writer/CheckCrossReferences.java
@@ -1,123 +1,96 @@
-/*
- * CheckCrossReferences.java
- *
- * Created on November 1, 2007, 1:49 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
+/*************************************************************************
+*
+* 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 complex.writer;
-import complexlib.ComplexTestCase;
import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
import com.sun.star.uno.UnoRuntime;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
*
* @author od138299
*/
-public class CheckCrossReferences extends ComplexTestCase {
+public class CheckCrossReferences {
- private com.sun.star.text.XTextDocument xDoc;
private com.sun.star.container.XEnumeration xParaEnum;
private com.sun.star.container.XEnumeration xPortionEnum;
private com.sun.star.util.XRefreshable xFldsRefresh;
- public String[] getTestMethodNames() {
- return new String[]{"checkCrossReferences"};
- }
-
- public com.sun.star.text.XTextField getNextField() {
-
- com.sun.star.text.XTextField xField = null;
+ public com.sun.star.text.XTextField getNextField()
+ throws com.sun.star.uno.Exception
+ {
if ( xPortionEnum != null ) {
- try {
- while ( xPortionEnum.hasMoreElements() ) {
- com.sun.star.beans.XPropertySet xPortionProps =
- (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
- com.sun.star.beans.XPropertySet.class , xPortionEnum.nextElement());
- final String sPortionType =
- xPortionProps.getPropertyValue( "TextPortionType" ).toString();
- if ( sPortionType.equals( "TextField") ) {
- xField = (com.sun.star.text.XTextField)UnoRuntime.queryInterface(
- com.sun.star.text.XTextField.class,
- xPortionProps.getPropertyValue( "TextField" ) );
- if ( xField == null ) {
- System.out.println("Cannot retrieve next field.");
- failed("Cannot retrieve next field.");
- return null;
- }
- return xField;
- }
+ while ( xPortionEnum.hasMoreElements() ) {
+ com.sun.star.beans.XPropertySet xPortionProps =
+ (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
+ com.sun.star.beans.XPropertySet.class , xPortionEnum.nextElement());
+ final String sPortionType =
+ xPortionProps.getPropertyValue( "TextPortionType" ).toString();
+ if ( sPortionType.equals( "TextField") ) {
+ com.sun.star.text.XTextField xField = (com.sun.star.text.XTextField)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextField.class,
+ xPortionProps.getPropertyValue( "TextField" ) );
+ assertNotNull("Cannot retrieve next field.", xField);
+ return xField;
}
- } catch (com.sun.star.container.NoSuchElementException e) {
- System.out.println("Cannot retrieve next field.");
- e.printStackTrace();
- failed(e.getMessage());
- return null;
- } catch (com.sun.star.beans.UnknownPropertyException e) {
- System.out.println("Cannot retrieve next field.");
- e.printStackTrace();
- failed(e.getMessage());
- return null;
- } catch (com.sun.star.lang.WrappedTargetException e) {
- System.out.println("Cannot retrieve next field.");
- e.printStackTrace();
- failed(e.getMessage());
- return null;
}
}
while ( xParaEnum.hasMoreElements() ) {
- try {
- com.sun.star.container.XEnumerationAccess aPara =
- (com.sun.star.container.XEnumerationAccess)UnoRuntime.queryInterface(
- com.sun.star.container.XEnumerationAccess.class, xParaEnum.nextElement());
- xPortionEnum = aPara.createEnumeration();
- while ( xPortionEnum.hasMoreElements() ) {
- com.sun.star.beans.XPropertySet xPortionProps =
- (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
- com.sun.star.beans.XPropertySet.class , xPortionEnum.nextElement());
- final String sPortionType =
- xPortionProps.getPropertyValue( "TextPortionType" ).toString();
- if ( sPortionType.equals( "TextField") ) {
- xField = (com.sun.star.text.XTextField)UnoRuntime.queryInterface(
- com.sun.star.text.XTextField.class,
- xPortionProps.getPropertyValue( "TextField" ) );
- if ( xField == null ) {
- System.out.println("Cannot retrieve next field.");
- failed("Cannot retrieve next field.");
- return null;
- }
- return xField;
- }
+ com.sun.star.container.XEnumerationAccess aPara =
+ (com.sun.star.container.XEnumerationAccess)UnoRuntime.queryInterface(
+ com.sun.star.container.XEnumerationAccess.class, xParaEnum.nextElement());
+ xPortionEnum = aPara.createEnumeration();
+ while ( xPortionEnum.hasMoreElements() ) {
+ com.sun.star.beans.XPropertySet xPortionProps =
+ (com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
+ com.sun.star.beans.XPropertySet.class , xPortionEnum.nextElement());
+ final String sPortionType =
+ xPortionProps.getPropertyValue( "TextPortionType" ).toString();
+ if ( sPortionType.equals( "TextField") ) {
+ com.sun.star.text.XTextField xField = (com.sun.star.text.XTextField)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextField.class,
+ xPortionProps.getPropertyValue( "TextField" ) );
+ assertNotNull("Cannot retrieve next field.", xField);
+ return xField;
}
- } catch (com.sun.star.container.NoSuchElementException e) {
- System.out.println("Cannot retrieve next field.");
- e.printStackTrace();
- failed(e.getMessage());
- return null;
- } catch (com.sun.star.beans.UnknownPropertyException e) {
- System.out.println("Cannot retrieve next field.");
- e.printStackTrace();
- failed(e.getMessage());
- return null;
- } catch (com.sun.star.lang.WrappedTargetException e) {
- System.out.println("Cannot retrieve next field.");
- e.printStackTrace();
- failed(e.getMessage());
- return null;
}
}
- if ( xField == null ) {
- System.out.println("Cannot retrieve next field.");
- failed("Cannot retrieve next field.");
- return null;
- }
-
- return xField;
+ fail("Cannot retrieve next field.");
+ return null; // unreachable
}
public com.sun.star.beans.XPropertySet getFieldProps(
@@ -126,11 +99,7 @@ public class CheckCrossReferences extends ComplexTestCase {
(com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
com.sun.star.beans.XPropertySet.class, xField );
- if ( xProps == null ) {
- System.out.println("Cannot retrieve field properties.");
- failed("Cannot retrieve field properties.");
- return null;
- }
+ assertNotNull("Cannot retrieve field properties.", xProps);
return xProps;
}
@@ -138,56 +107,26 @@ public class CheckCrossReferences extends ComplexTestCase {
public void checkField( com.sun.star.text.XTextField xField,
com.sun.star.beans.XPropertySet xProps,
short nFormat,
- String aExpectedFldResult ) {
+ String aExpectedFldResult )
+ throws com.sun.star.uno.Exception
+ {
// set requested format
- try {
- xProps.setPropertyValue("ReferenceFieldPart", new Short(nFormat));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.out.println("Cannot set ReferenceFieldPart property at field.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- } catch (com.sun.star.beans.PropertyVetoException e) {
- System.out.println("Cannot set ReferenceFieldPart property at field.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- } catch (com.sun.star.lang.WrappedTargetException e) {
- System.out.println("Cannot set ReferenceFieldPart property at field.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- } catch (com.sun.star.beans.UnknownPropertyException e) {
- System.out.println("Cannot set ReferenceFieldPart property at field.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- }
+ xProps.setPropertyValue("ReferenceFieldPart", new Short(nFormat));
+
// refresh fields in order to get new format applied
xFldsRefresh.refresh();
String aFldResult = xField.getPresentation( false );
- assure( "set reference field format doesn't result in correct field result",
- aFldResult.equals(aExpectedFldResult), true );
+ assertEquals( "set reference field format doesn't result in correct field result",
+ aExpectedFldResult, aFldResult);
}
- public void checkCrossReferences() throws com.sun.star.uno.Exception {
- // load test document
- try {
- XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
- xDoc = util.WriterTools.loadTextDoc( xMSF, util.utils.getFullTestURL("CheckCrossReferences.odt"));
- } catch(com.sun.star.uno.RuntimeException e) {
- System.out.println("Cannot load test document.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- }
-
+ @Test public void checkCrossReferences() throws com.sun.star.uno.Exception {
// setup paragraph enumeration
{
com.sun.star.container.XEnumerationAccess xParaEnumAccess =
(com.sun.star.container.XEnumerationAccess)UnoRuntime.queryInterface(
- com.sun.star.container.XEnumerationAccess.class, xDoc.getText());
+ com.sun.star.container.XEnumerationAccess.class, document.getText());
xParaEnum = xParaEnumAccess.createEnumeration();
}
@@ -195,7 +134,7 @@ public class CheckCrossReferences extends ComplexTestCase {
{
com.sun.star.text.XTextFieldsSupplier xFieldSupp =
(com.sun.star.text.XTextFieldsSupplier)UnoRuntime.queryInterface(
- com.sun.star.text.XTextFieldsSupplier.class, xDoc);
+ com.sun.star.text.XTextFieldsSupplier.class, document);
xFldsRefresh = (com.sun.star.util.XRefreshable)UnoRuntime.queryInterface(
com.sun.star.util.XRefreshable.class, xFieldSupp.getTextFields());
}
@@ -214,7 +153,6 @@ public class CheckCrossReferences extends ComplexTestCase {
com.sun.star.text.XTextField xField = null;
com.sun.star.beans.XPropertySet xProps = null;
- log.println( "Checking field reference formats NUMBER, NUMBER_NO_CONTEXT and NUMBER_FULL_CONTEXT for existing fields" );
xField = getNextField();
xProps = getFieldProps( xField );
checkField( xField, xProps, com.sun.star.text.ReferenceFieldPart.NUMBER, FldResult2 );
@@ -254,63 +192,36 @@ public class CheckCrossReferences extends ComplexTestCase {
// insert a certain cross-reference bookmark and a reference field to this bookmark
{
- log.println("Checking insert of cross-reference bookmark and corresponding reference field");
// restart paragraph enumeration
com.sun.star.container.XEnumerationAccess xParaEnumAccess =
(com.sun.star.container.XEnumerationAccess)UnoRuntime.queryInterface(
- com.sun.star.container.XEnumerationAccess.class, xDoc.getText());
+ com.sun.star.container.XEnumerationAccess.class, document.getText());
xParaEnum = xParaEnumAccess.createEnumeration();
// iterate on the paragraphs to find certain paragraph to insert the bookmark
com.sun.star.text.XTextRange xParaTextRange = null;
while ( xParaEnum.hasMoreElements() ) {
- try {
- xParaTextRange = (com.sun.star.text.XTextRange)UnoRuntime.queryInterface(
- com.sun.star.text.XTextRange.class, xParaEnum.nextElement());
- if ( xParaTextRange.getString().equals( "J" ) ) {
- break;
- }
- else {
- xParaTextRange = null;
- }
- } catch (com.sun.star.container.NoSuchElementException e) {
- System.out.println("Cannot find paragraph to insert cross-reference bookmark.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- } catch (com.sun.star.lang.WrappedTargetException e) {
- System.out.println("Cannot find paragraph to insert cross-reference bookmark.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
+ xParaTextRange = (com.sun.star.text.XTextRange)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextRange.class, xParaEnum.nextElement());
+ if ( xParaTextRange.getString().equals( "J" ) ) {
+ break;
+ }
+ else {
+ xParaTextRange = null;
}
}
- if ( xParaTextRange == null ) {
- System.out.println("Cannot find paragraph to insert cross-reference bookmark.");
- failed("Cannot find paragraph to insert cross-reference bookmark.");
- return;
- }
+ assertNotNull(
+ "Cannot find paragraph to insert cross-reference bookmark.",
+ xParaTextRange);
// insert bookmark
XMultiServiceFactory xFac = (XMultiServiceFactory)UnoRuntime.queryInterface(
- XMultiServiceFactory.class, xDoc);
+ XMultiServiceFactory.class, document);
final String cBookmarkName = "__RefNumPara__47114711";
- com.sun.star.text.XTextContent xBookmark = null;
- try {
- xBookmark = (com.sun.star.text.XTextContent)UnoRuntime.queryInterface(
- com.sun.star.text.XTextContent.class,
- xFac.createInstance( "com.sun.star.text.Bookmark" ) );
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.out.println("Cannot create bookmark.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- } catch (com.sun.star.uno.Exception e) {
- System.out.println("Cannot create bookmark.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- }
+ com.sun.star.text.XTextContent xBookmark =
+ (com.sun.star.text.XTextContent)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextContent.class,
+ xFac.createInstance( "com.sun.star.text.Bookmark" ) );
if ( xBookmark != null ) {
com.sun.star.container.XNamed xName =
(com.sun.star.container.XNamed)UnoRuntime.queryInterface(
@@ -320,22 +231,10 @@ public class CheckCrossReferences extends ComplexTestCase {
}
// insert reference field, which references the inserted bookmark
- com.sun.star.text.XTextContent xNewField = null;
- try {
- xNewField = (com.sun.star.text.XTextContent)UnoRuntime.queryInterface(
- com.sun.star.text.XTextContent.class,
- xFac.createInstance( "com.sun.star.text.TextField.GetReference" ) );
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.out.println("Cannot create new field.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- } catch (com.sun.star.uno.Exception e) {
- System.out.println("Cannot create new field.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- }
+ com.sun.star.text.XTextContent xNewField =
+ (com.sun.star.text.XTextContent)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextContent.class,
+ xFac.createInstance( "com.sun.star.text.TextField.GetReference" ) );
if ( xNewField != null ) {
com.sun.star.beans.XPropertySet xFieldProps =
(com.sun.star.beans.XPropertySet)UnoRuntime.queryInterface(
@@ -354,16 +253,39 @@ public class CheckCrossReferences extends ComplexTestCase {
com.sun.star.text.XTextField xField =
(com.sun.star.text.XTextField)UnoRuntime.queryInterface(
com.sun.star.text.XTextField.class, xNewField );
- assure( "inserted reference field doesn't has correct field result",
- xField.getPresentation( false ).equals("J"), true );
+ assertEquals( "inserted reference field doesn't has correct field result",
+ "J", xField.getPresentation( false ) );
xParaTextRange.getStart().setString( "Hallo new bookmark: " );
xFldsRefresh.refresh();
- assure( "inserted reference field doesn't has correct field result. Instead it's: "+xField.getPresentation( false ),
- xField.getPresentation( false ).equals("Hallo new bookmark: J"), true );
+ assertEquals( "inserted reference field doesn't has correct field result",
+ "Hallo new bookmark: J", xField.getPresentation( false ) );
}
+ }
+
+ @Before public void setUpDocument() throws com.sun.star.uno.Exception {
+ document = util.WriterTools.loadTextDoc(
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager()),
+ TestDocument.getUrl("CheckCrossReferences.odt"));
+ }
- // closing test document
- util.DesktopTools.closeDoc( xDoc );
+ @After public void tearDownDocument() {
+ util.DesktopTools.closeDoc(document);
}
+
+ private XTextDocument document = null;
+
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/writer/CheckFlies.java b/sw/qa/complex/writer/CheckFlies.java
index 50e94290c5b2..a65c01ec147d 100644
--- a/sw/qa/complex/writer/CheckFlies.java
+++ b/sw/qa/complex/writer/CheckFlies.java
@@ -38,43 +38,34 @@ import complexlib.ComplexTestCase;
import java.math.BigInteger;
import java.util.Collection;
import java.util.ArrayList;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
-public class CheckFlies extends ComplexTestCase {
- private XMultiServiceFactory m_xMsf = null;
- private XTextDocument m_xDoc = null;
-
- public String[] getTestMethodNames() {
- return new String[]{"checkFlies"};
- }
-
- public void checkFlies()
- throws com.sun.star.uno.Exception,
- com.sun.star.io.IOException
+public class CheckFlies {
+ @Test public void checkFlies()
+ throws com.sun.star.uno.Exception
{
- try {
- m_xMsf = (XMultiServiceFactory)param.getMSF();
- m_xDoc = util.WriterTools.loadTextDoc(m_xMsf, util.utils.getFullTestURL("CheckFlies.odt"));
- com.sun.star.text.XTextFramesSupplier xTFS = (com.sun.star.text.XTextFramesSupplier)UnoRuntime.queryInterface(
- com.sun.star.text.XTextFramesSupplier.class,
- m_xDoc);
- checkTextFrames(xTFS);
- com.sun.star.text.XTextGraphicObjectsSupplier xTGOS = (com.sun.star.text.XTextGraphicObjectsSupplier)UnoRuntime.queryInterface(
- com.sun.star.text.XTextGraphicObjectsSupplier.class,
- m_xDoc);
- checkGraphicFrames(xTGOS);
- com.sun.star.text.XTextEmbeddedObjectsSupplier xTEOS = (com.sun.star.text.XTextEmbeddedObjectsSupplier)UnoRuntime.queryInterface(
- com.sun.star.text.XTextEmbeddedObjectsSupplier.class,
- m_xDoc);
- checkEmbeddedFrames(xTEOS);
- } finally {
- // closing test document
- if(m_xDoc != null)
- util.DesktopTools.closeDoc(m_xDoc);
- }
+ com.sun.star.text.XTextFramesSupplier xTFS = (com.sun.star.text.XTextFramesSupplier)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextFramesSupplier.class,
+ document);
+ checkTextFrames(xTFS);
+ com.sun.star.text.XTextGraphicObjectsSupplier xTGOS = (com.sun.star.text.XTextGraphicObjectsSupplier)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextGraphicObjectsSupplier.class,
+ document);
+ checkGraphicFrames(xTGOS);
+ com.sun.star.text.XTextEmbeddedObjectsSupplier xTEOS = (com.sun.star.text.XTextEmbeddedObjectsSupplier)UnoRuntime.queryInterface(
+ com.sun.star.text.XTextEmbeddedObjectsSupplier.class,
+ document);
+ checkEmbeddedFrames(xTEOS);
}
private void checkEmbeddedFrames(com.sun.star.text.XTextEmbeddedObjectsSupplier xTGOS)
- throws com.sun.star.lang.WrappedTargetException
+ throws com.sun.star.uno.Exception
{
Collection<String> vExpectedEmbeddedFrames = new ArrayList<String>();
vExpectedEmbeddedFrames.add("Object1");
@@ -82,51 +73,42 @@ public class CheckFlies extends ComplexTestCase {
com.sun.star.container.XNameAccess xEmbeddedFrames = xTGOS.getEmbeddedObjects();
for(String sFrameName : xEmbeddedFrames.getElementNames())
{
- if(!vExpectedEmbeddedFrames.remove(sFrameName))
- failed("Unexpected frame name");
- try
- {
- xEmbeddedFrames.getByName(sFrameName);
- }
- catch(com.sun.star.container.NoSuchElementException e)
- {
- failed("Could not get embedded frame by name.");
- }
- if(!xEmbeddedFrames.hasByName(sFrameName))
- failed("Could not find embedded frame by name.");
+ assertTrue(
+ "Unexpected frame name",
+ vExpectedEmbeddedFrames.remove(sFrameName));
+ xEmbeddedFrames.getByName(sFrameName);
+ assertTrue(
+ "Could not find embedded frame by name.",
+ xEmbeddedFrames.hasByName(sFrameName));
}
- if(!vExpectedEmbeddedFrames.isEmpty())
- failed("Missing expected embedded frames.");
+ assertTrue(
+ "Missing expected embedded frames.",
+ vExpectedEmbeddedFrames.isEmpty());
try
{
xEmbeddedFrames.getByName("Nonexisting embedded frame");
- failed("Got nonexisting embedded frame");
+ fail("Got nonexisting embedded frame");
}
catch(com.sun.star.container.NoSuchElementException e)
{}
- if(xEmbeddedFrames.hasByName("Nonexisting embedded frame"))
- failed("Has nonexisting embedded frame");
+ assertFalse(
+ "Has nonexisting embedded frame",
+ xEmbeddedFrames.hasByName("Nonexisting embedded frame"));
com.sun.star.container.XIndexAccess xEmbeddedFramesIdx = (com.sun.star.container.XIndexAccess)UnoRuntime.queryInterface(
com.sun.star.container.XIndexAccess.class,
xEmbeddedFrames);
- if(xEmbeddedFramesIdx.getCount() != nEmbeddedFrames)
- failed("Unexpected number of embedded frames reported.");
+ assertEquals(
+ "Unexpected number of embedded frames reported.", nEmbeddedFrames,
+ xEmbeddedFramesIdx.getCount());
for(int nCurrentFrameIdx = 0; nCurrentFrameIdx < xEmbeddedFramesIdx.getCount(); nCurrentFrameIdx++)
{
- try
- {
- xEmbeddedFramesIdx.getByIndex(nCurrentFrameIdx);
- }
- catch(com.sun.star.lang.IndexOutOfBoundsException e)
- {
- failed("Could not get embedded frame by index.");
- }
+ xEmbeddedFramesIdx.getByIndex(nCurrentFrameIdx);
}
}
private void checkGraphicFrames(com.sun.star.text.XTextGraphicObjectsSupplier xTGOS)
- throws com.sun.star.lang.WrappedTargetException
+ throws com.sun.star.uno.Exception
{
Collection<String> vExpectedGraphicFrames = new ArrayList<String>();
vExpectedGraphicFrames.add("graphics1");
@@ -134,51 +116,42 @@ public class CheckFlies extends ComplexTestCase {
com.sun.star.container.XNameAccess xGraphicFrames = xTGOS.getGraphicObjects();
for(String sFrameName : xGraphicFrames.getElementNames())
{
- if(!vExpectedGraphicFrames.remove(sFrameName))
- failed("Unexpected frame name");
- try
- {
- xGraphicFrames.getByName(sFrameName);
- }
- catch(com.sun.star.container.NoSuchElementException e)
- {
- failed("Could not get graphics frame by name.");
- }
- if(!xGraphicFrames.hasByName(sFrameName))
- failed("Could not find graphics frame by name.");
+ assertTrue(
+ "Unexpected frame name",
+ vExpectedGraphicFrames.remove(sFrameName));
+ xGraphicFrames.getByName(sFrameName);
+ assertTrue(
+ "Could not find graphics frame by name.",
+ xGraphicFrames.hasByName(sFrameName));
}
- if(!vExpectedGraphicFrames.isEmpty())
- failed("Missing expected graphics frames.");
+ assertTrue(
+ "Missing expected graphics frames.",
+ vExpectedGraphicFrames.isEmpty());
try
{
xGraphicFrames.getByName("Nonexisting graphics frame");
- failed("Got nonexisting graphics frame");
+ fail("Got nonexisting graphics frame");
}
catch(com.sun.star.container.NoSuchElementException e)
{}
- if(xGraphicFrames.hasByName("Nonexisting graphics frame"))
- failed("Has nonexisting graphics frame");
+ assertFalse(
+ "Has nonexisting graphics frame",
+ xGraphicFrames.hasByName("Nonexisting graphics frame"));
com.sun.star.container.XIndexAccess xGraphicFramesIdx = (com.sun.star.container.XIndexAccess)UnoRuntime.queryInterface(
com.sun.star.container.XIndexAccess.class,
xGraphicFrames);
- if(xGraphicFramesIdx.getCount() != nGraphicFrames)
- failed("Unexpected number of graphics frames reported.");
+ assertEquals(
+ "Unexpected number of graphics frames reported.", nGraphicFrames,
+ xGraphicFramesIdx.getCount());
for(int nCurrentFrameIdx = 0; nCurrentFrameIdx < xGraphicFramesIdx.getCount(); nCurrentFrameIdx++)
{
- try
- {
- xGraphicFramesIdx.getByIndex(nCurrentFrameIdx);
- }
- catch(com.sun.star.lang.IndexOutOfBoundsException e)
- {
- failed("Could not get graphics frame by index.");
- }
+ xGraphicFramesIdx.getByIndex(nCurrentFrameIdx);
}
}
private void checkTextFrames(com.sun.star.text.XTextFramesSupplier xTFS)
- throws com.sun.star.lang.WrappedTargetException
+ throws com.sun.star.uno.Exception
{
Collection<String> vExpectedTextFrames = new ArrayList<String>();
vExpectedTextFrames.add("Frame1");
@@ -188,46 +161,62 @@ public class CheckFlies extends ComplexTestCase {
com.sun.star.container.XNameAccess xTextFrames = xTFS.getTextFrames();
for(String sFrameName : xTextFrames.getElementNames())
{
- if(!vExpectedTextFrames.remove(sFrameName))
- failed("Unexpected frame name");
- try
- {
- xTextFrames.getByName(sFrameName);
- }
- catch(com.sun.star.container.NoSuchElementException e)
- {
- failed("Could not get text frame by name.");
- }
- if(!xTextFrames.hasByName(sFrameName))
- failed("Could not find text frame by name.");
+ assertTrue(
+ "Unexpected frame name",
+ vExpectedTextFrames.remove(sFrameName));
+ xTextFrames.getByName(sFrameName);
+ assertTrue(
+ "Could not find text frame by name.",
+ xTextFrames.hasByName(sFrameName));
}
- if(!vExpectedTextFrames.isEmpty())
- failed("Missing expected text frames.");
+ assertTrue(
+ "Missing expected text frames.", vExpectedTextFrames.isEmpty());
try
{
xTextFrames.getByName("Nonexisting Textframe");
- failed("Got nonexisting text frame.");
+ fail("Got nonexisting text frame.");
}
catch(com.sun.star.container.NoSuchElementException e)
{}
- if(xTextFrames.hasByName("Nonexisting text frame"))
- failed("Has nonexisting text frame.");
+ assertFalse(
+ "Has nonexisting text frame.",
+ xTextFrames.hasByName("Nonexisting text frame"));
com.sun.star.container.XIndexAccess xTextFramesIdx = (com.sun.star.container.XIndexAccess)UnoRuntime.queryInterface(
com.sun.star.container.XIndexAccess.class,
xTextFrames);
- if(xTextFramesIdx.getCount() != nTextFrames)
- failed("Unexpected number of text frames reported.");
+ assertEquals(
+ "Unexpected number of text frames reported.", nTextFrames,
+ xTextFramesIdx.getCount());
for(int nCurrentFrameIdx = 0; nCurrentFrameIdx < xTextFramesIdx.getCount(); nCurrentFrameIdx++)
{
- try
- {
- xTextFramesIdx.getByIndex(nCurrentFrameIdx);
- }
- catch(com.sun.star.lang.IndexOutOfBoundsException e)
- {
- failed("Could not get text frame by index.");
- }
+ xTextFramesIdx.getByIndex(nCurrentFrameIdx);
}
}
+
+ @Before public void setUpDocument() throws com.sun.star.uno.Exception {
+ document = util.WriterTools.loadTextDoc(
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager()),
+ TestDocument.getUrl("CheckFlies.odt"));
+ }
+
+ @After public void tearDownDocument() {
+ util.DesktopTools.closeDoc(document);
+ }
+
+ private XTextDocument document = null;
+
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/writer/CheckIndexedPropertyValues.java b/sw/qa/complex/writer/CheckIndexedPropertyValues.java
index aca4f68c7ec2..c381cd5825c4 100755
--- a/sw/qa/complex/writer/CheckIndexedPropertyValues.java
+++ b/sw/qa/complex/writer/CheckIndexedPropertyValues.java
@@ -27,53 +27,31 @@
package complex.writer;
-import complexlib.ComplexTestCase;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.uno.XInterface;
import com.sun.star.beans.PropertyValue;
import com.sun.star.container.XIndexContainer;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.Type;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
* Test the com.sun.star.document.IndexedPropertyValues service
*/
-public class CheckIndexedPropertyValues extends ComplexTestCase {
+public class CheckIndexedPropertyValues {
+ @Test public void checkIndexedPropertyValues()
+ throws com.sun.star.uno.Exception
+ {
+ XIndexContainer xCont = UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ (connection.getComponentContext().getServiceManager().
+ createInstanceWithContext(
+ "com.sun.star.document.IndexedPropertyValues",
+ connection.getComponentContext())));
- private final String testedServiceName =
- "com.sun.star.document.IndexedPropertyValues";
- public String[] getTestMethodNames() {
- return new String[]{"checkIndexedPropertyValues"};
- }
-
-/* public String getTestObjectName() {
- return testedServiceName;
- }
-*/
- public void checkIndexedPropertyValues() {
- Object oObj = null;
- try {
- // print information about the service
- XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
- oObj = xMSF.createInstance(testedServiceName);
- System.out.println("****************");
- System.out.println("Service Name:");
- util.dbg.getSuppServices(oObj);
- System.out.println("****************");
- System.out.println("Interfaces:");
- util.dbg.printInterfaces((XInterface)oObj, true);
- }
- catch(com.sun.star.uno.Exception e) {
- System.out.println("Cannot create object.");
- e.printStackTrace();
- failed(e.getMessage());
- return;
- }
- XIndexContainer xCont = (XIndexContainer)UnoRuntime.queryInterface(
- XIndexContainer.class, oObj);
-
- assure("XIndexContainer was queried but returned null.",
- (xCont != null));
+ assertNotNull("XIndexContainer was queried but returned null.", xCont);
PropertyValue[] prop1 = new PropertyValue[1];
prop1[0] = new PropertyValue();
prop1[0].Name = "Jupp";
@@ -84,99 +62,55 @@ public class CheckIndexedPropertyValues extends ComplexTestCase {
prop2[0].Name = "Horst";
prop2[0].Value = "BadGuy";
- try {
- Type t = xCont.getElementType();
- log.println("Insertable Type: " + t.getTypeName());
- assure("Initial container is not empty: " + xCont.getCount(), xCont.getCount()==0);
- log.println("Inserting a PropertyValue.");
- xCont.insertByIndex(0, prop1);
- PropertyValue[]ret = (PropertyValue[])xCont.getByIndex(0);
- assure("Got the wrong PropertyValue: " +
- ret[0].Name + " " +(String)ret[0].Value,
- ret[0].Name.equals(prop1[0].Name) &&
- ret[0].Value.equals(prop1[0].Value));
- log.println("Replace the PropertyValue.");
- xCont.replaceByIndex(0, prop2);
- ret = (PropertyValue[])xCont.getByIndex(0);
- assure("Got the wrong PropertyValue: " +
- ret[0].Name + " " +(String)ret[0].Value,
- ret[0].Name.equals(prop2[0].Name) &&
- ret[0].Value.equals(prop2[0].Value));
- log.println("Remove the PropertyValue.");
- xCont.removeByIndex(0);
- assure("Could not remove PropertyValue.",
- !xCont.hasElements() && xCont.getCount()==0);
- log.println("Insert again.");
- xCont.insertByIndex(0, prop1);
- xCont.insertByIndex(1, prop2);
- assure("Did not insert PropertyValue.",
- xCont.hasElements() && xCont.getCount()==2);
-
- try {
- log.println("Insert with wrong index.");
- xCont.insertByIndex(25, prop2);
- failed("IllegalArgumentException was not thrown.");
- }
- catch(com.sun.star.lang.IllegalArgumentException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
- catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- log.println("Expected exception thrown: "+e);
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
-
- try {
- log.println("Remove non-existing index.");
- xCont.removeByIndex(25);
- failed("IndexOutOfBoundsException was not thrown.");
- }
- catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- log.println("Expected exception thrown: "+e);
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
-
- try {
- log.println("Insert wrong argument.");
- xCont.insertByIndex(2, "Example String");
- failed("IllegalArgumentException was not thrown.");
- }
- catch(com.sun.star.lang.IllegalArgumentException e) {
- log.println("Expected exception thrown: " + e);
- }
- catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
+ Type t = xCont.getElementType();
+ assertEquals("Initial container is not empty", 0, xCont.getCount());
+ xCont.insertByIndex(0, prop1);
+ PropertyValue[]ret = (PropertyValue[])xCont.getByIndex(0);
+ assertEquals(prop1[0].Name, ret[0].Name);
+ assertEquals(prop1[0].Value, ret[0].Value);
+ xCont.replaceByIndex(0, prop2);
+ ret = (PropertyValue[])xCont.getByIndex(0);
+ assertEquals(prop2[0].Name, ret[0].Name);
+ assertEquals(prop2[0].Value, ret[0].Value);
+ xCont.removeByIndex(0);
+ assertTrue("Could not remove PropertyValue.",
+ !xCont.hasElements() && xCont.getCount()==0);
+ xCont.insertByIndex(0, prop1);
+ xCont.insertByIndex(1, prop2);
+ assertTrue("Did not insert PropertyValue.",
+ xCont.hasElements() && xCont.getCount()==2);
+ try {
+ xCont.insertByIndex(25, prop2);
+ fail("IllegalArgumentException was not thrown.");
}
- catch(com.sun.star.lang.IllegalArgumentException e) {
- failed(e.getMessage());
- e.printStackTrace();
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ try {
+ xCont.removeByIndex(25);
+ fail("IndexOutOfBoundsException was not thrown.");
}
catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- failed(e.getMessage());
- e.printStackTrace();
}
- catch(com.sun.star.lang.WrappedTargetException e) {
- failed(e.getMessage());
- e.printStackTrace();
+
+ try {
+ xCont.insertByIndex(2, "Example String");
+ fail("IllegalArgumentException was not thrown.");
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
}
}
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/writer/CheckNamedPropertyValues.java b/sw/qa/complex/writer/CheckNamedPropertyValues.java
index 851381cf3c24..b2541954ce9f 100755
--- a/sw/qa/complex/writer/CheckNamedPropertyValues.java
+++ b/sw/qa/complex/writer/CheckNamedPropertyValues.java
@@ -27,53 +27,31 @@
package complex.writer;
-
-import complexlib.ComplexTestCase;
import com.sun.star.beans.PropertyValue;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.uno.XInterface;
import com.sun.star.container.XNameContainer;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.Type;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
*
*/
-public class CheckNamedPropertyValues extends ComplexTestCase {
-
- private final String testedServiceName =
- "com.sun.star.document.NamedPropertyValues";
-
- public String[] getTestMethodNames() {
- return new String[]{"checkNamedPropertyValues"};
- }
-
-/* public String getTestObjectName() {
- return "complex.writer.CheckNamedPropertyValues";
- } */
-
- public void checkNamedPropertyValues() {
- Object oObj = null;
- try {
- XMultiServiceFactory xMSF = (XMultiServiceFactory)param.getMSF();
- oObj = xMSF.createInstance(testedServiceName);
- System.out.println("****************");
- System.out.println("Service Name:");
- util.dbg.getSuppServices(oObj);
- System.out.println("****************");
- System.out.println("Interfaces:");
- util.dbg.printInterfaces((XInterface)oObj, true);
- }
- catch(com.sun.star.uno.Exception e) {
- e.printStackTrace();
- failed(e.getMessage());
- return;
- }
- XNameContainer xCont = (XNameContainer)UnoRuntime.queryInterface(
- XNameContainer.class, oObj);
-
- assure("XNameContainer was queried but returned null.",
- (xCont != null));
+public class CheckNamedPropertyValues {
+ @Test public void checkNamedPropertyValues()
+ throws com.sun.star.uno.Exception
+ {
+ XNameContainer xCont = UnoRuntime.queryInterface(
+ XNameContainer.class,
+ (connection.getComponentContext().getServiceManager().
+ createInstanceWithContext(
+ "com.sun.star.document.NamedPropertyValues",
+ connection.getComponentContext())));
+
+ assertNotNull("XNameContainer was queried but returned null.", xCont);
PropertyValue[] prop1 = new PropertyValue[1];
prop1[0] = new PropertyValue();
prop1[0].Name = "Jupp";
@@ -84,113 +62,61 @@ public class CheckNamedPropertyValues extends ComplexTestCase {
prop2[0].Name = "Horst";
prop2[0].Value = "BadGuy";
- try {
- Type t = xCont.getElementType();
- log.println("Insertable Type: " + t.getTypeName());
- assure("Initial container is not empty.", !xCont.hasElements());
-
- log.println("Insert a PropertyValue.");
- xCont.insertByName("prop1", prop1);
- PropertyValue[]ret = (PropertyValue[])xCont.getByName("prop1");
- assure("Got the wrong PropertyValue: " +
- ret[0].Name + " " +(String)ret[0].Value,
- ret[0].Name.equals(prop1[0].Name) &&
- ret[0].Value.equals(prop1[0].Value));
- log.println("Replace the PropertyValue.");
- xCont.replaceByName("prop1", prop2);
- ret = (PropertyValue[])xCont.getByName("prop1");
- assure("Got the wrong PropertyValue: " +
- ret[0].Name + " " +(String)ret[0].Value,
- ret[0].Name.equals(prop2[0].Name) &&
- ret[0].Value.equals(prop2[0].Value));
- log.println("Remove the PropertyValue.");
- xCont.removeByName("prop1");
- assure("Could not remove PropertyValue.", !xCont.hasElements());
- log.println("Insert again.");
- xCont.insertByName("prop1", prop1);
- xCont.insertByName("prop2", prop2);
- assure("Did not insert PropertyValue.", xCont.hasElements());
- String[] names = xCont.getElementNames();
- int count = 0;
- for (int i=0; i<names.length; i++) {
- if (names[i].equals("prop1") || names[i].equals("prop2"))
- count++;
- else
- failed("Got a wrong element name: "+names[i]);
- }
- if (count != 2)
- failed("Not all element names were returned.");
-
- try {
- log.println("Insert PropertyValue with an existing name.");
- xCont.insertByName("prop2", prop1);
- failed("ElementExistException was not thrown.");
- }
- catch(com.sun.star.lang.IllegalArgumentException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
- catch(com.sun.star.container.ElementExistException e) {
- log.println("Expected exception thrown: "+e);
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
-
- try {
- log.println("Inserting a wrong argument.");
- xCont.insertByName("prop3", "Example String");
- failed("IllegalArgumentException was not thrown.");
- }
- catch(com.sun.star.lang.IllegalArgumentException e) {
- log.println("Expected exception thrown: "+e);
- }
- catch(com.sun.star.container.ElementExistException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
+ Type t = xCont.getElementType();
+ assertFalse("Initial container is not empty.", xCont.hasElements());
+
+ xCont.insertByName("prop1", prop1);
+ PropertyValue[]ret = (PropertyValue[])xCont.getByName("prop1");
+ assertEquals(prop1[0].Name, ret[0].Name);
+ assertEquals(prop1[0].Value, ret[0].Value);
+ xCont.replaceByName("prop1", prop2);
+ ret = (PropertyValue[])xCont.getByName("prop1");
+ assertEquals(prop2[0].Name, ret[0].Name);
+ assertEquals(prop2[0].Value, ret[0].Value);
+ xCont.removeByName("prop1");
+ assertFalse("Could not remove PropertyValue.", xCont.hasElements());
+ xCont.insertByName("prop1", prop1);
+ xCont.insertByName("prop2", prop2);
+ assertTrue("Did not insert PropertyValue.", xCont.hasElements());
+ String[] names = xCont.getElementNames();
+ assertEquals("Not all element names were returned.", 2, names.length);
+ for (int i=0; i<names.length; i++) {
+ assertTrue(
+ "Got a wrong element name",
+ names[i].equals("prop1") || names[i].equals("prop2"));
+ }
- try {
- log.println("Remove a non-existing element.");
- xCont.removeByName("prop3");
- failed("NoSuchElementException was not thrown.");
- }
- catch(com.sun.star.container.NoSuchElementException e) {
- log.println("Expected exception thrown: "+e);
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- log.println("Wrong exception thrown.");
- failed(e.getMessage());
- e.printStackTrace();
- }
+ try {
+ xCont.insertByName("prop2", prop1);
+ fail("ElementExistException was not thrown.");
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ }
+ try {
+ xCont.insertByName("prop3", "Example String");
+ fail("IllegalArgumentException was not thrown.");
}
catch(com.sun.star.lang.IllegalArgumentException e) {
- failed(e.getMessage());
- e.printStackTrace();
}
- catch(com.sun.star.container.ElementExistException e) {
- failed(e.getMessage());
- e.printStackTrace();
+
+ try {
+ xCont.removeByName("prop3");
+ fail("NoSuchElementException was not thrown.");
}
catch(com.sun.star.container.NoSuchElementException e) {
- failed(e.getMessage());
- e.printStackTrace();
- }
- catch(com.sun.star.lang.WrappedTargetException e) {
- failed(e.getMessage());
- e.printStackTrace();
}
}
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/writer/TestDocument.java b/sw/qa/complex/writer/TestDocument.java
new file mode 100644
index 000000000000..25a11338ae5c
--- /dev/null
+++ b/sw/qa/complex/writer/TestDocument.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+*
+* 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 complex.writer;
+
+import java.io.File;
+import org.openoffice.test.OfficeFileUrl;
+
+final class TestDocument {
+ public static String getUrl(String name) {
+ return OfficeFileUrl.getAbsolute(new File("testdocuments", name));
+ }
+
+ private TestDocument() {}
+}
diff --git a/sw/qa/complex/writer/TextPortionEnumerationTest.java b/sw/qa/complex/writer/TextPortionEnumerationTest.java
index 2eda02bfa518..114359bc3581 100755
--- a/sw/qa/complex/writer/TextPortionEnumerationTest.java
+++ b/sw/qa/complex/writer/TextPortionEnumerationTest.java
@@ -27,7 +27,6 @@
package complex.writer;
-import complexlib.ComplexTestCase;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.AnyConverter;
import com.sun.star.uno.XComponentContext;
@@ -70,6 +69,13 @@ import com.sun.star.rdf.XMetadatable;
import com.sun.star.rdf.Statement;
import com.sun.star.rdf.XDocumentRepository;
import com.sun.star.rdf.XRepositorySupplier;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
import java.util.Map;
import java.util.HashMap;
@@ -432,10 +438,8 @@ class FuzzyTester
private Stack<Pair<TreeNode, TreeNodeEnum>> m_StackActual;
private List<TreeNode> m_BufferExpected;
private List<TreeNode> m_BufferActual;
- private share.LogWriter m_Log;
- FuzzyTester(share.LogWriter log) {
- m_Log = log;
+ FuzzyTester() {
m_BufferExpected = new ArrayList<TreeNode>();
m_BufferActual = new ArrayList<TreeNode>();
m_StackExpected = new Stack<Pair<TreeNode, TreeNodeEnum>>();
@@ -444,12 +448,10 @@ class FuzzyTester
/** idea: traverse both trees, enumerate nodes, stopping at content nodes.
then compare buffers. */
- boolean doTest(TreeNode expected, TreeNode actual)
+ void doTest(TreeNode expected, TreeNode actual)
{
- if (!expected.getType().equals("__ROOT__"))
- throw new RuntimeException("doTest: expected: root");
- if (!actual.getType().equals("__ROOT__"))
- throw new RuntimeException("doTest: actual: root");
+ assertEquals("__ROOT__", expected.getType());
+ assertEquals("__ROOT__", actual.getType());
m_StackExpected.push(new Pair(expected, expected.createEnumeration()));
m_StackActual.push(new Pair(actual, actual.createEnumeration()));
do {
@@ -459,18 +461,19 @@ class FuzzyTester
testBuffer();
} while (!m_StackExpected.empty() || !m_StackActual.empty());
if (m_DiffSequence != 0) {
- m_Log.println("warning: " + m_DiffSequence
+ System.out.println("warning: " + m_DiffSequence
+ " differences in sequence");
}
if (m_DiffSpuriousEmptyText != 0) {
- m_Log.println("warning: " + m_DiffSpuriousEmptyText
+ System.out.println("warning: " + m_DiffSpuriousEmptyText
+ " spurious empty text nodes");
}
if (m_DiffNesting != 0) {
- m_Log.println("WARNING: " + m_DiffNesting
+ System.out.println("WARNING: " + m_DiffNesting
+ " differences in nesting");
}
- return (m_DiffContent == 0) && (m_DiffMissing == 0);
+ assertEquals(0, m_DiffContent);
+ assertEquals(0, m_DiffMissing);
}
private void traverse(Stack<Pair<TreeNode, TreeNodeEnum>> stack,
@@ -563,7 +566,7 @@ class FuzzyTester
}
m_BufferActual.set(j, null);
} else {
-//m_Log.println("testBuffer:");
+//System.out.println("testBuffer:");
printMissing(node);
m_DiffMissing++;
}
@@ -573,7 +576,7 @@ class FuzzyTester
TreeNode node = m_BufferActual.get(j);
if (node != null)
{
-//m_Log.println("testBuffer:");
+//System.out.println("testBuffer:");
printUnexpected(node);
if ((node instanceof TextNode) &&
((TextNode) node).getContent().length() == 0) {
@@ -590,25 +593,25 @@ class FuzzyTester
void printDiff(String prefix, String expected, String actual)
{
- m_Log.println(prefix +
+ System.out.println(prefix +
":\texpected: " + expected + "\tactual: " + actual);
}
void printNesting(TreeNode node, TreeNode nesting)
{
- m_Log.println("node: " + node.toString()
+ System.out.println("node: " + node.toString()
+ " possibly moved across nesting " + nesting.toString());
}
void printMissing(TreeNode node)
{
- m_Log.println(" missing node: " + node.toString());
+ System.out.println(" missing node: " + node.toString());
}
void printUnexpected(TreeNode node)
{
- m_Log.println("unexpected node: " + node.toString());
+ System.out.println("unexpected node: " + node.toString());
}
}
@@ -619,10 +622,9 @@ class FuzzyTester
class EnumConverter
{
private Stack<TreeNode> m_Stack;
- TextPortionEnumerationTest m_T;
- EnumConverter(TextPortionEnumerationTest err) {
- m_Stack = new Stack<TreeNode>(); m_T = err;
+ EnumConverter() {
+ m_Stack = new Stack<TreeNode>();
}
TreeNode convert(XEnumeration xEnum) throws Exception
@@ -630,7 +632,7 @@ class EnumConverter
TreeNode root = new TreeNode();
m_Stack.push(root);
TreeNode ret = convertChildren(xEnum);
- m_T.assure("EnumConverter.convert: stack", m_Stack.empty());
+ assertTrue("EnumConverter.convert: stack", m_Stack.empty());
return ret;
}
@@ -670,7 +672,7 @@ class EnumConverter
xMeta);
XEnumeration xEnumChildren = xEA.createEnumeration();
TreeNode node2 = convertChildren(xEnumChildren);
- m_T.assure("stack error: meta-field", node == node2);
+ assertSame("stack error: meta-field", node2, node);
} else {
XPropertySet xFieldPropSet = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, xField);
@@ -678,7 +680,7 @@ class EnumConverter
xFieldPropSet.getPropertyValue("Content");
boolean isFixed = (Boolean)
xFieldPropSet.getPropertyValue("IsFixed");
- m_T.assure("field not fixed?", isFixed);
+ assertTrue("field not fixed?", isFixed);
node = new TextFieldNode(content);
}
} else if (type.equals("Footnote")) {
@@ -781,10 +783,8 @@ class EnumConverter
continue;
} else {
node = m_Stack.pop();
- m_T.assure("stack error: Ruby expected; is: " +
- node.toString(), node instanceof RubyNode);
-// m_T.assure("stack error: ruby",
-// ruby.equals(((RubyNode)node).getRubyText()));
+ assertTrue("stack error: Ruby expected; is: " +
+ node.toString(), node instanceof RubyNode);
}
} else if (type.equals("InContentMetadata")) {
Object xMeta = xPropSet.getPropertyValue("InContentMetadata");
@@ -797,9 +797,7 @@ class EnumConverter
UnoRuntime.queryInterface(XEnumerationAccess.class, xMeta);
XEnumeration xEnumChildren = xEA.createEnumeration();
TreeNode node2 = convertChildren(xEnumChildren);
- m_T.assure("stack error: meta", node == node2);
-// } else if (type.equals("MetadataField")) {
-// Object xMeta = xPropSet.getPropertyValue("MetadataField");
+ assertSame("stack error: meta", node2, node);
} else {
throw new RuntimeException("unexpected type: " + type);
}
@@ -1240,7 +1238,7 @@ class RangeInserter extends Inserter
//----------------------------------------------------------------------
-public class TextPortionEnumerationTest extends ComplexTestCase
+public class TextPortionEnumerationTest
{
private XMultiServiceFactory m_xMSF = null;
private XComponentContext m_xContext = null;
@@ -1249,115 +1247,28 @@ public class TextPortionEnumerationTest extends ComplexTestCase
private int m_Count = 1;
-// public String[] getTestMethodNames() { return new String[] { "testLoadStore" }; }
- public String[] getTestMethodNames() {
- return new String[] {
- "testText",
- "testTextField",
-// "testControlChar",
-// "testSoftPageBreak",
- "testFootnote",
- "testFrameAs",
- "testFrameAt",
- "testBookmarkPoint",
- "testBookmark",
- "testBookmarkPointXmlId",
- "testBookmarkXmlId",
- "testRefmarkPoint",
- "testRefmark",
- "testToxmarkPoint",
- "testToxmark",
- "testHyperlink",
- "testHyperlinkEmpty",
- "testRuby",
- "testRubyEmpty",
- "testMeta",
- "testMetaEmpty",
- "testMetaField",
- "testMetaFieldEmpty",
- "testBookmark1",
- "testBookmark2",
- "testRefMark2",
- "testRefMark3",
- "testToxMark2",
- "testToxMark3",
- "testMarks1",
- "testMarks2",
- "testMarks3",
- "testFrameMark1",
- "testFrameMark2",
- "testFrameMark3",
- "testFrameMark4",
- "testFrames1",
- "testFrames2",
- "testFrames3",
- "testFrames4",
- "testFrames5",
- "testRubyHyperlink1",
- "testRubyHyperlink2",
- "testEnd1",
- "testEnd2",
- "testEnd3",
- "testEnd4",
- "testEnd5",
- "testEmpty1",
- "testEmpty2",
- "testEmpty3",
- "test1",
- "testRange1",
- "testRangeHyperlinkHyperlink",
- "testRangeHyperlinkRuby",
- "testRangeRubyHyperlink",
- "testRangeRubyRuby",
- "testRangeHyperlinkMeta",
- "testRangeRubyMeta",
- "testRangeMetaHyperlink",
- "testRangeMetaRuby",
- "testRangeMetaMeta",
- "testRange2",
- "testRange3",
- "testRange4",
- "testRange5",
- "testRange6",
- "testRange7",
- "testMetaXChild",
- "testMetaXText",
- "testMetaXTextCursor",
- "testMetaXTextAttachToxMark",
- "testMetaXTextAttachRefMark",
- "testMetaXTextAttachTextField",
- "testMetaXTextAttachFootnote",
- "testMetaXTextAttachMeta",
- "testMetaFieldXTextField",
- "testMetaFieldXPropertySet",
- "testLoadStore",
- "testLoadStoreXmlid",
- };
- }
-
- public void before() throws Exception
+ @Before public void before() throws Exception
{
- m_xMSF = (XMultiServiceFactory) param.getMSF();
+ m_xMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ connection.getComponentContext().getServiceManager());
XPropertySet xPropertySet = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, m_xMSF);
Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
m_xContext = (XComponentContext)
UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
- assure("could not get component context.", m_xContext != null);
+ assertNotNull("could not get component context.", m_xContext);
m_xDoc = util.WriterTools.createTextDoc(m_xMSF);
m_TmpDir = util.utils.getOfficeTemp/*Dir*/(m_xMSF);
- log.println("tempdir: " + m_TmpDir);
+ System.out.println("tempdir: " + m_TmpDir);
}
- public void after()
+ @After public void after()
{
- if (m_xDoc != null) {
- util.DesktopTools.closeDoc(m_xDoc);
- m_xDoc = null;
- }
+ util.DesktopTools.closeDoc(m_xDoc);
}
- public void testText() throws Exception
+ @Test public void testText() throws Exception
{
TreeNode root = new TreeNode();
TreeNode text = new TextNode("abc");
@@ -1365,7 +1276,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testTextField() throws Exception
+ @Test public void testTextField() throws Exception
{
String name = mkName("ruby");
TreeNode root = new TreeNode();
@@ -1374,7 +1285,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testControlChar() throws Exception
+ /*@Test*/ public void testControlChar() throws Exception
{
//FIXME this is converted to a text portion: ControlCharacter is obsolete
TreeNode root = new TreeNode();
@@ -1383,7 +1294,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testSoftPageBreak() throws Exception
+ /*@Test*/ public void testSoftPageBreak() throws Exception
{
//FIXME: insert a soft page break: not done
TreeNode root = new TreeNode();
@@ -1394,7 +1305,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFootnote() throws Exception
+ @Test public void testFootnote() throws Exception
{
String name = mkName("ftn");
TreeNode root = new TreeNode();
@@ -1403,7 +1314,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrameAs() throws Exception
+ @Test public void testFrameAs() throws Exception
{
String name = mkName("frame");
TreeNode root = new TreeNode();
@@ -1412,7 +1323,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrameAt() throws Exception
+ @Test public void testFrameAt() throws Exception
{
String name = mkName("frame");
TreeNode root = new TreeNode();
@@ -1423,7 +1334,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testBookmarkPoint() throws Exception
+ @Test public void testBookmarkPoint() throws Exception
{
String name = mkName("mark");
TreeNode root = new TreeNode();
@@ -1434,7 +1345,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testBookmark() throws Exception
+ @Test public void testBookmark() throws Exception
{
String name = mkName("mark");
TreeNode root = new TreeNode();
@@ -1447,7 +1358,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testBookmarkPointXmlId() throws Exception
+ @Test public void testBookmarkPointXmlId() throws Exception
{
String name = mkName("mark");
StringPair id = mkId("id");
@@ -1459,7 +1370,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testBookmarkXmlId() throws Exception
+ @Test public void testBookmarkXmlId() throws Exception
{
String name = mkName("mark");
StringPair id = mkId("id");
@@ -1473,7 +1384,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRefmarkPoint() throws Exception
+ @Test public void testRefmarkPoint() throws Exception
{
String name = mkName("refmark");
TreeNode root = new TreeNode();
@@ -1484,7 +1395,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRefmark() throws Exception
+ @Test public void testRefmark() throws Exception
{
String name = mkName("refmark");
TreeNode root = new TreeNode();
@@ -1497,7 +1408,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testToxmarkPoint() throws Exception
+ @Test public void testToxmarkPoint() throws Exception
{
String name = mkName("toxmark");
TreeNode root = new TreeNode();
@@ -1508,7 +1419,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testToxmark() throws Exception
+ @Test public void testToxmark() throws Exception
{
String name = mkName("toxmark");
TreeNode root = new TreeNode();
@@ -1521,7 +1432,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testHyperlink() throws Exception
+ @Test public void testHyperlink() throws Exception
{
String name = mkName("url");
TreeNode root = new TreeNode();
@@ -1532,7 +1443,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testHyperlinkEmpty() throws Exception
+ @Test public void testHyperlinkEmpty() throws Exception
{
String name = mkName("url");
TreeNode root = new TreeNode();
@@ -1543,7 +1454,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRuby() throws Exception
+ @Test public void testRuby() throws Exception
{
String name = mkName("ruby");
TreeNode root = new TreeNode();
@@ -1554,7 +1465,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRubyEmpty() throws Exception
+ @Test public void testRubyEmpty() throws Exception
{
// BUG: #i91534#
String name = mkName("ruby");
@@ -1564,7 +1475,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMeta() throws Exception
+ @Test public void testMeta() throws Exception
{
StringPair id = new StringPair("content.xml", mkName("id"));
TreeNode root = new TreeNode();
@@ -1576,7 +1487,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMetaEmpty() throws Exception
+ @Test public void testMetaEmpty() throws Exception
{
StringPair id = new StringPair("content.xml", mkName("id"));
TreeNode root = new TreeNode();
@@ -1587,7 +1498,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMetaField() throws Exception
+ @Test public void testMetaField() throws Exception
{
StringPair id = new StringPair("content.xml", mkName("id"));
TreeNode root = new TreeNode();
@@ -1599,7 +1510,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMetaFieldEmpty() throws Exception
+ @Test public void testMetaFieldEmpty() throws Exception
{
StringPair id = new StringPair("content.xml", mkName("id"));
TreeNode root = new TreeNode();
@@ -1610,7 +1521,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testBookmark1() throws Exception
+ @Test public void testBookmark1() throws Exception
{
String name1 = mkName("mark");
String name2 = mkName("mark");
@@ -1626,7 +1537,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testBookmark2() throws Exception
+ @Test public void testBookmark2() throws Exception
{
String name1 = mkName("mark");
String name2 = mkName("mark");
@@ -1642,7 +1553,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRefMark2() throws Exception
+ @Test public void testRefMark2() throws Exception
{
String name1 = mkName("refmark");
TreeNode root = new TreeNode();
@@ -1654,7 +1565,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRefMark3() throws Exception
+ @Test public void testRefMark3() throws Exception
{
// BUG: #i107672# (non-deterministic; depends on pointer ordering)
String name1 = mkName("refmark");
@@ -1684,7 +1595,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testToxMark2() throws Exception
+ @Test public void testToxMark2() throws Exception
{
String name1 = mkName("toxmark");
TreeNode root = new TreeNode();
@@ -1695,7 +1606,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testToxMark3() throws Exception
+ @Test public void testToxMark3() throws Exception
{
// BUG: #i107672# (non-deterministic; depends on pointer ordering)
String name1 = mkName("toxmark");
@@ -1725,7 +1636,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMarks1() throws Exception
+ @Test public void testMarks1() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("toxmark");
@@ -1744,7 +1655,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMarks2() throws Exception
+ @Test public void testMarks2() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("refmark");
@@ -1767,7 +1678,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testMarks3() throws Exception
+ @Test public void testMarks3() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("refmark");
@@ -1789,7 +1700,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrameMark1() throws Exception
+ @Test public void testFrameMark1() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("frame");
@@ -1801,7 +1712,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrameMark2() throws Exception
+ @Test public void testFrameMark2() throws Exception
{
// BUG: #i98530#
String name1 = mkName("bookmark");
@@ -1814,7 +1725,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrameMark3() throws Exception
+ @Test public void testFrameMark3() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("bookmark");
@@ -1826,7 +1737,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrameMark4() throws Exception
+ @Test public void testFrameMark4() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("bookmark");
@@ -1838,7 +1749,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrames1() throws Exception
+ @Test public void testFrames1() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("frame");
@@ -1850,7 +1761,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrames2() throws Exception
+ @Test public void testFrames2() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("frame");
@@ -1862,7 +1773,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrames3() throws Exception
+ @Test public void testFrames3() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("frame");
@@ -1874,7 +1785,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrames4() throws Exception
+ @Test public void testFrames4() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("frame");
@@ -1886,7 +1797,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testFrames5() throws Exception
+ @Test public void testFrames5() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("frame");
@@ -1898,7 +1809,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRubyHyperlink1() throws Exception
+ @Test public void testRubyHyperlink1() throws Exception
{
String name1 = mkName("ruby");
String name2 = mkName("url");
@@ -1911,7 +1822,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testRubyHyperlink2() throws Exception
+ @Test public void testRubyHyperlink2() throws Exception
{
String name1 = mkName("url");
String name2 = mkName("ruby");
@@ -1924,7 +1835,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEnd1() throws Exception
+ @Test public void testEnd1() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("toxmark");
@@ -1937,7 +1848,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEnd2() throws Exception
+ @Test public void testEnd2() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("frame");
@@ -1954,7 +1865,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEnd3() throws Exception
+ @Test public void testEnd3() throws Exception
{
String name1 = mkName("ftn");
String name2 = mkName("toxmark");
@@ -1965,7 +1876,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEnd4() throws Exception
+ @Test public void testEnd4() throws Exception
{
String name1 = mkName("bookmark");
String name2 = mkName("frame");
@@ -1977,7 +1888,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEnd5() throws Exception
+ @Test public void testEnd5() throws Exception
{
String name1 = mkName("refmark");
String name2 = mkName("ruby");
@@ -1991,7 +1902,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEmpty1() throws Exception
+ @Test public void testEmpty1() throws Exception
{
String name1 = mkName("refmark");
String name2 = mkName("toxmark");
@@ -2013,7 +1924,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEmpty2() throws Exception
+ @Test public void testEmpty2() throws Exception
{
String name3 = mkName("bookmark");
String name4 = mkName("frame");
@@ -2027,7 +1938,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void testEmpty3() throws Exception
+ @Test public void testEmpty3() throws Exception
{
String name1 = mkName("refmark");
String name2 = mkName("toxmark");
@@ -2058,7 +1969,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root);
}
- public void test1() throws Exception
+ @Test public void test1() throws Exception
{
String name1 = mkName("frame");
String name2 = mkName("bookmark");
@@ -2085,7 +1996,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
attributes; if these ever become entities, they should not be split!
*/
- public void testRange1() throws Exception
+ @Test public void testRange1() throws Exception
{
String name1 = mkName("url");
RangeInserter inserter = new RangeInserter(m_xDoc);
@@ -2100,7 +2011,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeHyperlinkHyperlink() throws Exception
+ @Test public void testRangeHyperlinkHyperlink() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2159,7 +2070,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeHyperlinkRuby() throws Exception
+ @Test public void testRangeHyperlinkRuby() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2225,7 +2136,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeRubyHyperlink() throws Exception
+ @Test public void testRangeRubyHyperlink() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2282,7 +2193,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeRubyRuby() throws Exception
+ @Test public void testRangeRubyRuby() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2328,7 +2239,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeHyperlinkMeta() throws Exception
+ @Test public void testRangeHyperlinkMeta() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2394,7 +2305,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeRubyMeta() throws Exception
+ @Test public void testRangeRubyMeta() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2461,7 +2372,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeMetaHyperlink() throws Exception
+ @Test public void testRangeMetaHyperlink() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2518,7 +2429,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeMetaRuby() throws Exception
+ @Test public void testRangeMetaRuby() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2607,7 +2518,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRangeMetaMeta() throws Exception
+ @Test public void testRangeMetaMeta() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2618,7 +2529,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
TreeNode met2 = new MetaNode( mkId("id") );
try {
inserter.insertRange( new Range(0, 4, met2) );
- assure("testRangeMetaMeta: overlap left allowed", false);
+ fail("testRangeMetaMeta: overlap left allowed");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
TreeNode root = new TreeNode()
.appendChild( new TextNode("123") )
@@ -2629,7 +2540,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
TreeNode met3 = new MetaNode( mkId("id") );
try {
inserter.insertRange( new Range(5/*-1*/, 8/*-1*/, met3) );
- assure("testRangeMetaMeta: overlap right allowed", false);
+ fail("testRangeMetaMeta: overlap right allowed");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
root = new TreeNode()
.appendChild( new TextNode("123") )
@@ -2659,7 +2570,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRange2() throws Exception
+ @Test public void testRange2() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2729,7 +2640,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRange3() throws Exception
+ @Test public void testRange3() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2763,7 +2674,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRange4() throws Exception
+ @Test public void testRange4() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2817,7 +2728,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRange5() throws Exception
+ @Test public void testRange5() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2866,7 +2777,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRange6() throws Exception
+ @Test public void testRange6() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2906,7 +2817,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
doTest(root, false);
}
- public void testRange7() throws Exception
+ @Test public void testRange7() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123456789");
@@ -2947,7 +2858,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
/* TODO: test partial selection, test UNDO/REDO */
// #i109601# NestedTextContent and XChild
- public void testMetaXChild() throws Exception
+ @Test public void testMetaXChild() throws Exception
{
StringPair id1 = new StringPair("content.xml", mkName("id"));
StringPair id2 = new StringPair("content.xml", mkName("id"));
@@ -3022,12 +2933,12 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XTextContent xNTC = (XTextContent)
UnoRuntime.queryInterface(XTextContent.class, oNTC);
if (null == nestedTextContent[i]) {
- assure("unexpected NestedTextContent at: " + i, null == xNTC);
+ assertNull("unexpected NestedTextContent at: " + i, xNTC);
} else {
XMetadatable xMetadatable = (XMetadatable)
UnoRuntime.queryInterface(XMetadatable.class, xNTC);
StringPair xmlid = xMetadatable.getMetadataReference();
- assure("wrong NestedTextContent at: " + i,
+ assertTrue("wrong NestedTextContent at: " + i,
MetaNode.eq(nestedTextContent[i], xmlid));
}
xDocTextCursor.goRight((short)1, false);
@@ -3047,37 +2958,37 @@ public class TextPortionEnumerationTest extends ComplexTestCase
UnoRuntime.queryInterface(XChild.class, xMeta6);
try {
xChild1.setParent(xChild4);
- assure("setParent(): allowed?", false);
+ fail("setParent(): allowed?");
} catch (NoSupportException e) { /* expected */ }
- assure("getParent(): not null", xChild1.getParent() == null);
- assure("getParent(): not null", xChild2.getParent() == null);
- assure("getParent(): not null", xChild6.getParent() == null);
+ assertNull("getParent(): not null", xChild1.getParent());
+ assertNull("getParent(): not null", xChild2.getParent());
+ assertNull("getParent(): not null", xChild6.getParent());
{
Object xParent3 = xChild3.getParent();
- assure("getParent(): null", null != xParent3);
+ assertNotNull("getParent(): null", xParent3);
XMetadatable xMetadatable = (XMetadatable)
UnoRuntime.queryInterface(XMetadatable.class, xParent3);
StringPair xmlid = xMetadatable.getMetadataReference();
- assure("getParent(): wrong", MetaNode.eq(xmlid, id2));
+ assertTrue("getParent(): wrong", MetaNode.eq(xmlid, id2));
}{
Object xParent4 = xChild4.getParent();
- assure("getParent(): null", null != xParent4);
+ assertNotNull("getParent(): null", xParent4);
XMetadatable xMetadatable = (XMetadatable)
UnoRuntime.queryInterface(XMetadatable.class, xParent4);
StringPair xmlid = xMetadatable.getMetadataReference();
- assure("getParent(): wrong", MetaNode.eq(xmlid, id3));
+ assertTrue("getParent(): wrong", MetaNode.eq(xmlid, id3));
}{
Object xParent5 = xChild5.getParent();
- assure("getParent(): null", null != xParent5);
+ assertNotNull("getParent(): null", xParent5);
XMetadatable xMetadatable = (XMetadatable)
UnoRuntime.queryInterface(XMetadatable.class, xParent5);
StringPair xmlid = xMetadatable.getMetadataReference();
- assure("getParent(): wrong", MetaNode.eq(xmlid, id3));
+ assertTrue("getParent(): wrong", MetaNode.eq(xmlid, id3));
}
}
/** test SwXMeta XText interface */
- public void testMetaXText() throws Exception
+ @Test public void testMetaXText() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("12AB6789");
@@ -3099,113 +3010,106 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XText xText = (XText) UnoRuntime.queryInterface(XText.class, xMeta);
XText xParentText = xText.getText();
- assure("getText(): no parent", xParentText != null);
+ assertNotNull("getText(): no parent", xParentText);
XTextRange xStart = xText.getStart();
- assure("getStart(): no start", xStart != null);
+ assertNotNull("getStart(): no start", xStart);
XTextRange xEnd = xText.getEnd();
- assure("getEnd(): no end", xEnd != null);
-
- /*
- String string = xText.getString();
- assure("getString(): invalid string returned",
- string != null && "AB".equals(string) );
- */
+ assertNotNull("getEnd(): no end", xEnd);
xText.setString("45");
{
String string = xText.getString();
- assure("getString(): invalid string returned: " + string,
- string != null && "45".equals(string) );
+ assertEquals("getString(): invalid string returned",
+ "45", string);
}
XTextCursor xTextCursor = xText.createTextCursor();
- assure("createTextCursor(): failed", xTextCursor != null);
+ assertNotNull("createTextCursor(): failed", xTextCursor);
try {
xText.createTextCursorByRange(null);
- assure("createTextCursorByRange(): null allowed?", false);
+ fail("createTextCursorByRange(): null allowed?");
} catch (RuntimeException e) { /* expected */ }
XTextCursor xTextCursorStart = xText.createTextCursorByRange(xStart);
- assure("createTextCursorByRange(): failed for start",
- xTextCursorStart != null);
+ assertNotNull("createTextCursorByRange(): failed for start",
+ xTextCursorStart);
XTextCursor xTextCursorEnd = xText.createTextCursorByRange(xEnd);
- assure("createTextCursorByRange(): failed for end",
- xTextCursorEnd != null);
+ assertNotNull("createTextCursorByRange(): failed for end",
+ xTextCursorEnd);
// move outside meta
xDocTextCursor.gotoStart(false);
try {
xText.insertString(null, "foo", false);
- assure("insertString(): null allowed?", false);
+ fail("insertString(): null allowed?");
} catch (RuntimeException e) { /* expected */ }
try {
xText.insertString(xDocTextCursor, "foo", false);
- assure("insertString(): cursor outside allowed?", false);
+ fail("insertString(): cursor outside allowed?");
} catch (RuntimeException e) { /* expected */ }
xStart = xText.getStart();
xText.insertString(xStart, "A", false);
{
String string = xText.getString();
- assure("getString(): invalid string returned: " + string,
- string != null && "A45".equals(string) );
+ assertEquals("getString(): invalid string returned",
+ "A45", string);
}
xText.insertString(xEnd, "B", false);
{
String string = xText.getString();
- assure("getString(): invalid string returned: " + string,
- string != null && "A45B".equals(string) );
+ assertEquals("getString(): invalid string returned",
+ "A45B", string);
}
try {
xText.insertControlCharacter(null, HARD_HYPHEN, false);
- assure("insertControlCharacter(): null allowed?", false);
+ fail("insertControlCharacter(): null allowed?");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
xStart = xText.getStart();
try {
xText.insertControlCharacter(xDocTextCursor, HARD_HYPHEN, false);
- assure("insertControlCharacter(): cursor outside allowed?", false);
+ fail("insertControlCharacter(): cursor outside allowed?");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
xText.insertControlCharacter(xStart, HARD_HYPHEN, false);
{
String string = xText.getString();
- assure("getString(): invalid string returned: " + string,
- string != null && ('\u2011' + "A45B").equals(string) );
+ assertEquals("getString(): invalid string returned",
+ '\u2011' + "A45B", string);
}
xText.insertControlCharacter(xEnd, HARD_HYPHEN, false);
{
String string = xText.getString();
- assure("getString(): invalid string returned: " + string,
- string != null &&
- ('\u2011' + "A45B" + '\u2011').equals(string) );
+ assertEquals("getString(): invalid string returned",
+ '\u2011' + "A45B" + '\u2011', string);
}
xText.setString("45");
try {
xText.insertTextContent(null, xMeta, false);
- assure("insertTextContent(): null range allowed?", false);
+ fail("insertTextContent(): null range allowed?");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
try {
xText.insertTextContent(xStart, null, false);
- assure("insertTextContent(): null content allowed?", false);
+ fail("insertTextContent(): null content allowed?");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
try {
xText.insertTextContent(xDocTextCursor, xMeta, false);
- assure("insertTextContent(): cursor outside allowed?", false);
+ fail("insertTextContent(): cursor outside allowed?");
} catch (com.sun.star.lang.IllegalArgumentException e) { /* ignore */ }
TextFieldNode field1 = new TextFieldNode( "f1" );
@@ -3237,13 +3141,13 @@ public class TextPortionEnumerationTest extends ComplexTestCase
try {
xText.removeTextContent(null);
- assure("removeTextContent(): null content allowed?", false);
+ fail("removeTextContent(): null content allowed?");
} catch (RuntimeException e) { /* expected */ }
xText.removeTextContent(xField1);
XTextRange xAnchor = xMeta.getAnchor();
- assure("getAnchor(): null", xAnchor != null);
+ assertNotNull("getAnchor(): null", xAnchor);
// evil test case: insert ruby around meta
RubyNode ruby = new RubyNode( mkName("ruby") );
@@ -3263,31 +3167,31 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XEnumerationAccess xEA = (XEnumerationAccess)
UnoRuntime.queryInterface(XEnumerationAccess.class, xMeta);
XEnumeration xEnum = xEA.createEnumeration();
- assure("createEnumeration(): returns null", xEnum != null);
+ assertNotNull("createEnumeration(): returns null", xEnum);
{
- assure("hasNext(): first missing", xEnum.hasMoreElements());
+ assertTrue("hasNext(): first missing", xEnum.hasMoreElements());
Object xElement = xEnum.nextElement();
XTextRange xPortion = (XTextRange)
UnoRuntime.queryInterface(XTextRange.class, xElement);
XPropertySet xPropSet = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, xPortion);
String type = (String) xPropSet.getPropertyValue("TextPortionType");
- assure("first: not text: " + type, type.equals("Text"));
+ assertEquals("first: not text", "Text", type);
String txt = xPortion.getString();
- assure("first: text differs: " + txt, "45".equals(txt));
+ assertEquals("first: text differs", "45", txt);
}
{
- assure("hasNext(): second missing", xEnum.hasMoreElements());
+ assertTrue("hasNext(): second missing", xEnum.hasMoreElements());
Object xElement = xEnum.nextElement();
XTextRange xPortion = (XTextRange)
UnoRuntime.queryInterface(XTextRange.class, xElement);
XPropertySet xPropSet = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, xPortion);
String type = (String) xPropSet.getPropertyValue("TextPortionType");
- assure("second: not text", type.equals("TextField"));
+ assertEquals("second: not text", "TextField", type);
}
// no ruby end here!!!
- assure("hasNext(): more elements?", !xEnum.hasMoreElements());
+ assertFalse("hasNext(): more elements?", xEnum.hasMoreElements());
XComponent xComponent = (XComponent)
UnoRuntime.queryInterface(XComponent.class, xMeta);
@@ -3295,14 +3199,14 @@ public class TextPortionEnumerationTest extends ComplexTestCase
try {
XTextCursor xCursor = xText.createTextCursor();
- assure("createTextCursor(): succeeds on disposed object?",
- xCursor == null);
+ assertNull("createTextCursor(): succeeds on disposed object?",
+ xCursor);
} catch (RuntimeException e) { /* expected */ }
}
/** check that cursor move methods move to positions in the meta,
but do not move to positions outside the meta. */
- public void testMetaXTextCursor() throws Exception
+ @Test public void testMetaXTextCursor() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("Text. 12 More text here.");
@@ -3323,30 +3227,30 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XText xText = (XText) UnoRuntime.queryInterface(XText.class, xMeta);
XTextRange xStart = xText.getStart();
- assure("getStart(): no start", xStart != null);
+ assertNotNull("getStart(): no start", xStart);
XTextRange xEnd = xText.getEnd();
- assure("getEnd(): no end", xEnd != null);
+ assertNotNull("getEnd(): no end", xEnd);
XTextCursor xTextCursor = xText.createTextCursor();
- assure("createTextCursor(): no cursor", xTextCursor != null);
+ assertNotNull("createTextCursor(): no cursor", xTextCursor);
// XTextCursor
boolean bSuccess = false;
xTextCursor.gotoStart(false);
xTextCursor.gotoEnd(false);
bSuccess = xTextCursor.goLeft((short)1, false);
- assure("goLeft(): failed", bSuccess);
+ assertTrue("goLeft(): failed", bSuccess);
bSuccess = xTextCursor.goLeft((short)1000, false);
- assure("goLeft(): succeeded", !bSuccess);
+ assertFalse("goLeft(): succeeded", bSuccess);
bSuccess = xTextCursor.goRight((short)1, false);
- assure("goRight(): failed", bSuccess);
+ assertTrue("goRight(): failed", bSuccess);
bSuccess = xTextCursor.goRight((short)1000, false);
- assure("goRight(): succeeded", !bSuccess);
+ assertFalse("goRight(): succeeded", bSuccess);
xTextCursor.gotoRange(xStart, false);
xTextCursor.gotoRange(xEnd, false);
try {
xTextCursor.gotoRange(xDocTextCursor, false);
- assure("gotoRange(): succeeded", false);
+ fail("gotoRange(): succeeded");
} catch (RuntimeException e) { /* expected */ }
// XWordCursor
@@ -3356,44 +3260,44 @@ public class TextPortionEnumerationTest extends ComplexTestCase
UnoRuntime.queryInterface(XWordCursor.class, xTextCursor);
bSuccess = xWordCursor.gotoNextWord(true);
- assure("gotoNextWord(): failed", bSuccess);
+ assertTrue("gotoNextWord(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoNextWord(): wrong string: " + string,
- "Two ".equals(string));
+ assertEquals("gotoNextWord(): wrong string",
+ "Two ", string);
}
bSuccess = xWordCursor.gotoNextWord(false);
- assure("gotoNextWord(): succeeded", !bSuccess);
+ assertFalse("gotoNextWord(): succeeded", bSuccess);
xTextCursor.collapseToEnd();
bSuccess = xWordCursor.gotoPreviousWord(true);
- assure("gotoPreviousWord(): failed", bSuccess);
+ assertTrue("gotoPreviousWord(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoPreviousWord(): wrong string: " + string,
- "words".equals(string));
+ assertEquals("gotoPreviousWord(): wrong string",
+ "words", string);
}
bSuccess = xWordCursor.gotoPreviousWord(false);
- assure("gotoPreviousWord(): succeeded", !bSuccess);
+ assertFalse("gotoPreviousWord(): succeeded", bSuccess);
bSuccess = xWordCursor.gotoEndOfWord(true);
- assure("gotoEndOfWord(): failed", bSuccess);
+ assertTrue("gotoEndOfWord(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoEndOfWord(): wrong string: " + string,
- "Two".equals(string));
+ assertEquals("gotoEndOfWord(): wrong string",
+ "Two", string);
}
xTextCursor.gotoEnd(false);
bSuccess = xWordCursor.gotoStartOfWord(true);
- assure("gotoStartOfWord(): failed", bSuccess);
+ assertTrue("gotoStartOfWord(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoStartOfWord(): wrong string: " + string,
- "words".equals(string));
+ assertEquals("gotoStartOfWord(): wrong string",
+ "words", string);
}
xText.setString("");
bSuccess = xWordCursor.gotoEndOfWord(false);
- assure("gotoEndOfWord(): succeeded", !bSuccess);
+ assertFalse("gotoEndOfWord(): succeeded", bSuccess);
bSuccess = xWordCursor.gotoStartOfWord(false);
- assure("gotoStartOfWord(): succeeded", !bSuccess);
+ assertFalse("gotoStartOfWord(): succeeded", bSuccess);
// XSentenceCursor
xText.setString("This is a sentence. Another sentence.");
@@ -3402,60 +3306,60 @@ public class TextPortionEnumerationTest extends ComplexTestCase
UnoRuntime.queryInterface(XSentenceCursor.class, xTextCursor);
bSuccess = xSentenceCursor.gotoNextSentence(true);
- assure("gotoNextSentence(): failed", bSuccess);
+ assertTrue("gotoNextSentence(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoNextSentence(): wrong string: " + string,
- "This is a sentence. ".equals(string));
+ assertEquals("gotoNextSentence(): wrong string",
+ "This is a sentence. ", string);
}
bSuccess = xSentenceCursor.gotoNextSentence(false);
- assure("gotoNextSentence(): succeeded", !bSuccess);
+ assertFalse("gotoNextSentence(): succeeded", bSuccess);
// FIXME:
// the sentence cursor seems to work differently than the word cursor
xText.setString("This is a sentence. Another sentence. Sentence 3.");
xTextCursor.gotoEnd(false);
bSuccess = xSentenceCursor.gotoPreviousSentence(true);
- assure("gotoPreviousSentence(): failed", bSuccess);
+ assertTrue("gotoPreviousSentence(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoPreviousSentence(): wrong string: " + string,
- "Another sentence. Sentence 3.".equals(string));
+ assertEquals("gotoPreviousSentence(): wrong string",
+ "Another sentence. Sentence 3.", string);
}
bSuccess = xSentenceCursor.gotoPreviousSentence(false);
- assure("gotoPreviousSentence(): succeeded", !bSuccess);
+ assertFalse("gotoPreviousSentence(): succeeded", bSuccess);
bSuccess = xSentenceCursor.gotoEndOfSentence(true);
- assure("gotoEndOfSentence(): failed", bSuccess);
+ assertTrue("gotoEndOfSentence(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoEndOfSentence(): wrong string: " + string,
- "This is a sentence.".equals(string));
+ assertEquals("gotoEndOfSentence(): wrong string",
+ "This is a sentence.", string);
}
xTextCursor.gotoEnd(false);
bSuccess = xSentenceCursor.gotoStartOfSentence(true);
- assure("gotoStartOfSentence(): failed", bSuccess);
+ assertTrue("gotoStartOfSentence(): failed", bSuccess);
{
String string = xTextCursor.getString();
- assure("gotoStartOfSentence(): wrong string: " + string,
- "Sentence 3.".equals(string));
+ assertEquals("gotoStartOfSentence(): wrong string",
+ "Sentence 3.", string);
}
xText.setString("");
bSuccess = xSentenceCursor.gotoEndOfSentence(false);
- assure("gotoEndOfSentence(): succeeded", !bSuccess);
+ assertFalse("gotoEndOfSentence(): succeeded", bSuccess);
bSuccess = xSentenceCursor.gotoStartOfSentence(false);
- assure("gotoStartOfSentence(): succeeded", !bSuccess);
+ assertFalse("gotoStartOfSentence(): succeeded", bSuccess);
XParagraphCursor xParagraphCursor = (XParagraphCursor)
UnoRuntime.queryInterface(XParagraphCursor.class, xTextCursor);
// XParagraphCursor (does not make sense)
bSuccess = xParagraphCursor.gotoNextParagraph(false);
- assure("gotoNextParagraph(): succeeded", !bSuccess);
+ assertFalse("gotoNextParagraph(): succeeded", bSuccess);
bSuccess = xParagraphCursor.gotoPreviousParagraph(false);
- assure("gotoPreviousParagraph(): succeeded", !bSuccess);
+ assertFalse("gotoPreviousParagraph(): succeeded", bSuccess);
bSuccess = xParagraphCursor.gotoStartOfParagraph(false);
- assure("gotoStartOfParagraph(): succeeded", !bSuccess);
+ assertFalse("gotoStartOfParagraph(): succeeded", bSuccess);
bSuccess = xParagraphCursor.gotoEndOfParagraph(false);
- assure("gotoEndOfParagraph(): succeeded", !bSuccess);
+ assertFalse("gotoEndOfParagraph(): succeeded", bSuccess);
}
@@ -3469,7 +3373,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
throws Exception { }
}
- public void testMetaXTextAttachToxMark() throws Exception
+ @Test public void testMetaXTextAttachToxMark() throws Exception
{
doMetaXTextAttach( new AttachHelper()
{
@@ -3485,7 +3389,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
});
}
- public void testMetaXTextAttachRefMark() throws Exception
+ @Test public void testMetaXTextAttachRefMark() throws Exception
{
doMetaXTextAttach( new AttachHelper()
{
@@ -3501,7 +3405,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
});
}
- public void testMetaXTextAttachTextField() throws Exception
+ @Test public void testMetaXTextAttachTextField() throws Exception
{
doMetaXTextAttach( new AttachHelper()
{
@@ -3517,7 +3421,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
});
}
- public void testMetaXTextAttachFootnote() throws Exception
+ @Test public void testMetaXTextAttachFootnote() throws Exception
{
doMetaXTextAttach( new AttachHelper()
{
@@ -3533,7 +3437,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
});
}
- public void testMetaXTextAttachMeta() throws Exception
+ @Test public void testMetaXTextAttachMeta() throws Exception
{
doMetaXTextAttach( new AttachHelper()
{
@@ -3783,7 +3687,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
}
}
- public void testMetaFieldXTextField() throws Exception
+ @Test public void testMetaFieldXTextField() throws Exception
{
com.sun.star.rdf.XRepositorySupplier xModel =
(com.sun.star.rdf.XRepositorySupplier) UnoRuntime.queryInterface(
@@ -3821,12 +3725,12 @@ public class TextPortionEnumerationTest extends ComplexTestCase
xGraph.addStatement(xMetadatable, xOdfPrefix, xPrefix);
xGraph.addStatement(xMetadatable, xOdfSuffix, xSuffix);
- assure("getPresentation(): wrong",
- "fooabcbar".equals(xMetaField.getPresentation(false)));
+ assertEquals("getPresentation(): wrong",
+ "fooabcbar", xMetaField.getPresentation(false));
inserter.insertRange( new Range(0, 0, text) );
}
- public void testMetaFieldXPropertySet() throws Exception
+ @Test public void testMetaFieldXPropertySet() throws Exception
{
RangeInserter inserter = new RangeInserter(m_xDoc);
TreeNode text = new TextNode("123");
@@ -3842,32 +3746,32 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XPropertySet xPropertySet = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, xMetaField);
- assure("PropertySet: not supported?", xPropertySet != null);
+ assertNotNull("PropertySet: not supported?", xPropertySet);
XPropertySetInfo xPropertySetInfo = xPropertySet.getPropertySetInfo();
- assure("hasPropertyByName(\"NumberFormat\"):",
- xPropertySetInfo.hasPropertyByName("NumberFormat"));
- assure("hasPropertyByName(\"IsFixedLanguage\"):",
- xPropertySetInfo.hasPropertyByName("IsFixedLanguage"));
+ assertTrue("hasPropertyByName(\"NumberFormat\"):",
+ xPropertySetInfo.hasPropertyByName("NumberFormat"));
+ assertTrue("hasPropertyByName(\"IsFixedLanguage\"):",
+ xPropertySetInfo.hasPropertyByName("IsFixedLanguage"));
int def = (Integer) xPropertySet.getPropertyValue("NumberFormat");
- log.println("NumberFormat: default is " + def);
+ System.out.println("NumberFormat: default is " + def);
short INT = com.sun.star.i18n.NumberFormatIndex.NUMBER_INT;
xPropertySet.setPropertyValue("NumberFormat", INT);
xPropertySet.setPropertyValue("IsFixedLanguage", true);
int format = (Integer) xPropertySet.getPropertyValue("NumberFormat");
- assure("NumberFormat: failed", format == INT);
+ assertEquals("NumberFormat: failed", INT, format);
boolean isFixed = (Boolean)
xPropertySet.getPropertyValue("IsFixedLanguage");
- assure("IsFixedLanguage: failed", isFixed);
+ assertTrue("IsFixedLanguage: failed", isFixed);
}
- public void testLoadStore() throws Exception
+ @Test public void testLoadStore() throws Exception
{
XTextDocument xComp = null;
String filename = "TESTMETA.odt";
String file;
try {
- file = util.utils.getFullTestURL(filename);
+ file = TestDocument.getUrl(filename);
xComp = doLoad(file);
if (xComp != null)
{
@@ -3885,21 +3789,21 @@ public class TextPortionEnumerationTest extends ComplexTestCase
private void doStore(XComponent xComp, String file) throws Exception
{
- log.println("Storing test document...");
+ System.out.println("Storing test document...");
XStorable xStor = (XStorable) UnoRuntime.queryInterface(
XStorable.class, xComp);
xStor.storeToURL(file, new PropertyValue[0]);
- log.println("...done");
+ System.out.println("...done");
}
public XTextDocument doLoad(String file) throws Exception
{
XComponent xComp = null;
- log.println("Loading test document...");
+ System.out.println("Loading test document...");
PropertyValue[] loadProps = new PropertyValue[1];
loadProps[0] = new PropertyValue();
@@ -3912,9 +3816,9 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XTextDocument xTextDoc = (XTextDocument)
UnoRuntime.queryInterface(XTextDocument.class, xComp);
- assure("cannot load: " + file, xTextDoc != null);
+ assertNotNull("cannot load: " + file, xTextDoc);
- log.println("...done");
+ System.out.println("...done");
return xTextDoc;
}
@@ -3923,7 +3827,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
{
XText xText = xTextDoc.getText();
- log.println("Checking meta(-field)s in loaded test document...");
+ System.out.println("Checking meta(-field)s in loaded test document...");
TreeNode root = new TreeNode()
.appendChild( new RubyNode("ruby1")
@@ -3968,16 +3872,16 @@ public class TextPortionEnumerationTest extends ComplexTestCase
.appendChild( new TextNode(" X X ") );
doTest(xTextDoc, root, false);
- log.println("...done");
+ System.out.println("...done");
}
- public void testLoadStoreXmlid() throws Exception
+ @Test public void testLoadStoreXmlid() throws Exception
{
XTextDocument xComp = null;
String filename = "TESTXMLID.odt";
String file;
try {
- file = util.utils.getFullTestURL(filename);
+ file = TestDocument.getUrl(filename);
xComp = doLoad(file);
if (xComp != null)
{
@@ -3997,7 +3901,7 @@ public class TextPortionEnumerationTest extends ComplexTestCase
{
XText xText = xTextDoc.getText();
- log.println("Checking bookmarks in loaded test document...");
+ System.out.println("Checking bookmarks in loaded test document...");
XRepositorySupplier xRS = (XRepositorySupplier)
UnoRuntime.queryInterface(XRepositorySupplier.class, xTextDoc);
@@ -4009,14 +3913,14 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XNameAccess xBookmarks = xBMS.getBookmarks();
XMetadatable xMark1 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xBookmarks.getByName("mk1"));
- assure("mark1",
+ assertTrue("mark1",
eq(xMark1.getMetadataReference(),
new StringPair("content.xml", "id90")));
XMetadatable xMark2 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xBookmarks.getByName("mk2"));
Pair<Statement[], Boolean> result = xRepo.getStatementRDFa(xMark2);
- assure("mark2", (result.First.length == 1)
+ assertTrue("mark2", (result.First.length == 1)
&& result.First[0].Subject.getStringValue().equals("uri:foo")
&& result.First[0].Predicate.getStringValue().equals("uri:bar")
&& result.First[0].Object.getStringValue().contains("a fooish bar")
@@ -4024,13 +3928,13 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XMetadatable xMark3 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xBookmarks.getByName("mk3"));
- assure("mark3",
+ assertTrue("mark3",
eq(xMark3.getMetadataReference(),
new StringPair("content.xml", "id91")));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking sections in loaded test document...");
+ System.out.println("Checking sections in loaded test document...");
XTextSectionsSupplier xTSS = (XTextSectionsSupplier)
UnoRuntime.queryInterface(XTextSectionsSupplier.class, xTextDoc);
@@ -4039,58 +3943,58 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XMetadatable xSection1 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Section 1"));
- assure("idsection1", eq(xSection1.getMetadataReference(),
+ assertTrue("idsection1", eq(xSection1.getMetadataReference(),
new StringPair("content.xml", "idSection1")));
XMetadatable xSection2 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Section 2"));
- assure("idSection2", eq(xSection2.getMetadataReference(),
+ assertTrue("idSection2", eq(xSection2.getMetadataReference(),
new StringPair("content.xml", "idSection2")));
XMetadatable xSection3 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class,
xSections.getByName("Table of Contents1_Head"));
- assure("idTOCTitle", eq(xSection3.getMetadataReference(),
+ assertTrue("idTOCTitle", eq(xSection3.getMetadataReference(),
new StringPair("content.xml", "idTOCTitle")));
XMetadatable xSection4 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class,
xSections.getByName("Alphabetical Index1_Head"));
- assure("idAITitle", eq(xSection4.getMetadataReference(),
+ assertTrue("idAITitle", eq(xSection4.getMetadataReference(),
new StringPair("content.xml", "idAITitle")));
XMetadatable xSection5 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class,
xSections.getByName("Illustration Index1_Head"));
- assure("idIITitle", eq(xSection5.getMetadataReference(),
+ assertTrue("idIITitle", eq(xSection5.getMetadataReference(),
new StringPair("content.xml", "idIITitle")));
XMetadatable xSection6 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class,
xSections.getByName("Index of Tables1_Head"));
- assure("idIOTTitle", eq(xSection6.getMetadataReference(),
+ assertTrue("idIOTTitle", eq(xSection6.getMetadataReference(),
new StringPair("content.xml", "idIOTTitle")));
XMetadatable xSection7 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class,
xSections.getByName("User-Defined1_Head"));
- assure("idUDTitle", eq(xSection7.getMetadataReference(),
+ assertTrue("idUDTitle", eq(xSection7.getMetadataReference(),
new StringPair("content.xml", "idUDTitle")));
XMetadatable xSection8 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class,
xSections.getByName("Table of Objects1_Head"));
- assure("idTOOTitle", eq(xSection8.getMetadataReference(),
+ assertTrue("idTOOTitle", eq(xSection8.getMetadataReference(),
new StringPair("content.xml", "idTOOTitle")));
XMetadatable xSection9 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Bibliography1_Head"));
- assure("idBibTitle", eq(xSection9.getMetadataReference(),
+ assertTrue("idBibTitle", eq(xSection9.getMetadataReference(),
new StringPair("content.xml", "idBibTitle")));
- log.println("...done");
+ System.out.println("...done");
- log.println("Checking indexes in loaded test document...");
+ System.out.println("Checking indexes in loaded test document...");
XDocumentIndexesSupplier xDIS = (XDocumentIndexesSupplier)
UnoRuntime.queryInterface(XDocumentIndexesSupplier.class, xTextDoc);
@@ -4100,68 +4004,68 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XMetadatable xIndex1 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("Table of Contents1"));
- assure("idTOC", eq(xIndex1.getMetadataReference(),
+ assertTrue("idTOC", eq(xIndex1.getMetadataReference(),
new StringPair("content.xml", "idTOC")));
XMetadatable xIndex1s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Table of Contents1"));
- assure("idTOC", eq(xIndex1s.getMetadataReference(),
+ assertTrue("idTOC", eq(xIndex1s.getMetadataReference(),
new StringPair("content.xml", "idTOC")));
XMetadatable xIndex2 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("Alphabetical Index1"));
- assure("idAI", eq(xIndex2.getMetadataReference(),
+ assertTrue("idAI", eq(xIndex2.getMetadataReference(),
new StringPair("content.xml", "idAI")));
XMetadatable xIndex2s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Alphabetical Index1"));
- assure("idAI", eq(xIndex2s.getMetadataReference(),
+ assertTrue("idAI", eq(xIndex2s.getMetadataReference(),
new StringPair("content.xml", "idAI")));
XMetadatable xIndex3 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("Illustration Index1"));
- assure("idII", eq(xIndex3.getMetadataReference(),
+ assertTrue("idII", eq(xIndex3.getMetadataReference(),
new StringPair("content.xml", "idII")));
XMetadatable xIndex3s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Illustration Index1"));
- assure("idII", eq(xIndex3s.getMetadataReference(),
+ assertTrue("idII", eq(xIndex3s.getMetadataReference(),
new StringPair("content.xml", "idII")));
XMetadatable xIndex4 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("Index of Tables1"));
- assure("idIOT", eq(xIndex4.getMetadataReference(),
+ assertTrue("idIOT", eq(xIndex4.getMetadataReference(),
new StringPair("content.xml", "idIOT")));
XMetadatable xIndex4s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Index of Tables1"));
- assure("idIOT", eq(xIndex4s.getMetadataReference(),
+ assertTrue("idIOT", eq(xIndex4s.getMetadataReference(),
new StringPair("content.xml", "idIOT")));
XMetadatable xIndex5 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("User-Defined1"));
- assure("idUD", eq(xIndex5.getMetadataReference(),
+ assertTrue("idUD", eq(xIndex5.getMetadataReference(),
new StringPair("content.xml", "idUD")));
XMetadatable xIndex5s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("User-Defined1"));
- assure("idUD", eq(xIndex5s.getMetadataReference(),
+ assertTrue("idUD", eq(xIndex5s.getMetadataReference(),
new StringPair("content.xml", "idUD")));
XMetadatable xIndex6 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("Table of Objects1"));
- assure("idTOO", eq(xIndex6.getMetadataReference(),
+ assertTrue("idTOO", eq(xIndex6.getMetadataReference(),
new StringPair("content.xml", "idTOO")));
XMetadatable xIndex6s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Table of Objects1"));
- assure("idTOO", eq(xIndex6s.getMetadataReference(),
+ assertTrue("idTOO", eq(xIndex6s.getMetadataReference(),
new StringPair("content.xml", "idTOO")));
XMetadatable xIndex7 = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xIndexes.getByName("Bibliography1"));
- assure("idBib", eq(xIndex7.getMetadataReference(),
+ assertTrue("idBib", eq(xIndex7.getMetadataReference(),
new StringPair("content.xml", "idBib")));
XMetadatable xIndex7s = (XMetadatable) UnoRuntime.queryInterface(
XMetadatable.class, xSections.getByName("Bibliography1"));
- assure("idBib", eq(xIndex7s.getMetadataReference(),
+ assertTrue("idBib", eq(xIndex7s.getMetadataReference(),
new StringPair("content.xml", "idBib")));
- log.println("...done");
+ System.out.println("...done");
}
static void close(XComponent i_comp)
@@ -4205,19 +4109,18 @@ public class TextPortionEnumerationTest extends ComplexTestCase
XEnumerationAccess xEA = (XEnumerationAccess)
UnoRuntime.queryInterface(XEnumerationAccess.class, xElement);
XEnumeration xEnum = xEA.createEnumeration();
- TreeNode outtree = new EnumConverter(this).convert(xEnum);
+ TreeNode outtree = new EnumConverter().convert(xEnum);
dumpTree(outtree, "O: ");
- boolean success = new FuzzyTester(log).doTest(intree, outtree);
- assure("test failed", success);
+ new FuzzyTester().doTest(intree, outtree);
}
private void dumpTree(TreeNode tree) { dumpTree(tree, "> "); }
private void dumpTree(TreeNode tree, String prefix)
{
- log.println(prefix + tree.toString());
+ System.out.println(prefix + tree.toString());
TreeNodeEnum children = tree.createEnumeration();
while (children.hasNext()) {
TreeNode node = children.next();
@@ -4246,6 +4149,16 @@ public class TextPortionEnumerationTest extends ComplexTestCase
((i_Left.Second).equals(i_Right.Second));
}
- public void assure(String str, boolean cond) { super.assure(str, cond); }
+ @BeforeClass public static void setUpConnection() throws Exception {
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
}
diff --git a/sw/qa/complex/writer/makefile.mk b/sw/qa/complex/writer/makefile.mk
index ae2a15f821dd..550e9d64fd82 100755
--- a/sw/qa/complex/writer/makefile.mk
+++ b/sw/qa/complex/writer/makefile.mk
@@ -25,84 +25,32 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = PropertyValues
-PRJNAME = $(TARGET)
-PACKAGE = complex$/writer
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = CheckIndexedPropertyValues.java CheckNamedPropertyValues.java CheckCrossReferences.java CheckBookmarks.java CheckFlies.java TextPortionEnumerationTest.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-#----- make a jar from compiled files ------------------------------
-
-MAXLINELENGTH = 100000
-
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
-
-# --- Parameters for the test --------------------------------------
-
-# start an office if the parameter is set for the makefile
-.IF "$(OFFICE)" == ""
-CT_APPEXECCOMMAND =
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
.ELSE
-CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-.ENDIF
-
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
-
-# build package name with "." instead of $/
-CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
-
-# start the runner application
-CT_APP = org.openoffice.Runner
-# --- Targets ------------------------------------------------------
+PRJ = ../../..
+PRJNAME = sw
+TARGET = qa_complex_writer
+
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/writer
+JAVATESTFILES = \
+ CheckBookmarks.java \
+ CheckCrossReferences.java \
+ CheckFlies.java \
+ CheckIndexedPropertyValues.java \
+ CheckNamedPropertyValues.java \
+ TextPortionEnumerationTest.java
+JAVAFILES = $(JAVATESTFILES) TestDocument.java
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
+.END
-.IF "$(depend)" == ""
-ALL: ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
-
-.INCLUDE : target.mk
-
-run: \
- CheckBookmarks \
- CheckCrossReferences \
- CheckIndexedPropertyValues \
- CheckNamedPropertyValues \
- CheckFlies \
- TextPortionEnumerationTest \
-
-
-RUN: run
-
-CheckIndexedPropertyValues:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_PACKAGE).CheckIndexedPropertyValues
-
-
-CheckNamedPropertyValues:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_PACKAGE).CheckNamedPropertyValues
-
-CheckCrossReferences:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) -tdoc $(PWD)$/testdocuments $(CT_PACKAGE).CheckCrossReferences
-
-CheckBookmarks:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) -tdoc $(PWD)$/testdocuments $(CT_PACKAGE).CheckBookmarks
-
-CheckFlies:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) -tdoc $(PWD)$/testdocuments $(CT_PACKAGE).CheckFlies
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-TextPortionEnumerationTest:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) -tdoc $(PWD)$/testdocuments $(CT_PACKAGE).TextPortionEnumerationTest
+ALLTAR : javatest
+.END
diff --git a/sw/qa/unoapi/knownissues.xcl b/sw/qa/unoapi/knownissues.xcl
index 08e441211cf7..ea5bf843f3ec 100644
--- a/sw/qa/unoapi/knownissues.xcl
+++ b/sw/qa/unoapi/knownissues.xcl
@@ -173,3 +173,17 @@ sw.SwXTextEmbeddedObject::com::sun::star::document::XEmbeddedObjectSupplier
### i111332 ###
sw.XMLStylesExporter::com::sun::star::document::XFilter
+
+### i113020 ###
+sw.SwXTextEmbeddedObject::com::sun::star::beans::XPropertySet
+sw.SwXTextGraphicObject::com::sun::star::beans::XPropertySet
+sw.SwXTextFrame::com::sun::star::beans::XPropertySet
+
+### i113136 ###
+sw.SwAccessibleParagraphView::com::sun::star::accessibility::XAccessibleEditableText
+
+### i114205 ###
+sw.SwAccessibleParagraphView::com::sun::star::accessibility::XAccessibleText
+
+### i114889 ###
+sw.SwXTextViewCursor::com::sun::star::view::XScreenCursor
diff --git a/sw/qa/unoapi/sw.sce b/sw/qa/unoapi/sw.sce
index 0f1092af8a51..f6ae766af2d7 100644
--- a/sw/qa/unoapi/sw.sce
+++ b/sw/qa/unoapi/sw.sce
@@ -5,9 +5,9 @@
#i111197 -o sw.SwAccessibleDocumentPageView
#i86751 -o sw.SwAccessibleDocumentView
-o sw.SwAccessibleEndnoteView
--o sw.SwAccessibleFooterView
--o sw.SwAccessibleFootnoteView
--o sw.SwAccessibleHeaderView
+#i113142 -o sw.SwAccessibleFooterView
+#i114637 -o sw.SwAccessibleFootnoteView
+#i113142 -o sw.SwAccessibleHeaderView
#i89022 -o sw.SwAccessiblePageView
-o sw.SwAccessibleParagraphView
-o sw.SwAccessibleTableCellView
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 5ca8cb83d234..2df835f06c12 100755..100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1714,16 +1714,22 @@ sal_uInt16 SwDoc::GetPageCount() const
const Size SwDoc::GetPageSize( sal_uInt16 nPageNum, bool bSkipEmptyPages ) const
{
Size aSize;
- if( GetRootFrm() && nPageNum )
+ if ( GetRootFrm() && nPageNum )
{
const SwPageFrm* pPage = static_cast<const SwPageFrm*>
(GetRootFrm()->Lower());
- while( --nPageNum && pPage->GetNext() )
+ while ( --nPageNum && pPage->GetNext() )
+ {
pPage = static_cast<const SwPageFrm*>( pPage->GetNext() );
+ }
- if( !bSkipEmptyPages && pPage->IsEmptyPage() && pPage->GetNext() )
+ // switch to next page for an empty page, if empty pages are not skipped
+ // in order to get a sensible page size for an empty page - e.g. for printing.
+ if ( !bSkipEmptyPages && pPage->IsEmptyPage() && pPage->GetNext() )
+ {
pPage = static_cast<const SwPageFrm*>( pPage->GetNext() );
+ }
aSize = pPage->Frm().SSize();
}
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index 7af292626f06..847c6b229fd1 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -101,8 +101,15 @@ const SwNumFmt& SwNumRule::Get( USHORT i ) const
const SwNumFmt* SwNumRule::GetNumFmt( USHORT i ) const
{
+ const SwNumFmt * pResult = NULL;
+
ASSERT_ID( i < MAXLEVEL && eRuleType < RULE_END, ERR_NUMLEVEL);
- return aFmts[ i ];
+ if ( i < MAXLEVEL && eRuleType < RULE_END)
+ {
+ pResult = aFmts[ i ];
+ }
+
+ return pResult;
}
// --> OD 2008-07-08 #i91400#
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index b213eb1d075d..f0683ae700a5 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -334,7 +334,13 @@ BOOL SwNodes::InsBoxen( SwTableNode* pTblNd,
new SwEndNode( aEndIdx, *pSttNd );
pPrvBox = new SwTableBox( pBoxFmt, *pSttNd, pLine );
- pLine->GetTabBoxes().C40_INSERT( SwTableBox, pPrvBox, nInsPos + n );
+
+ SwTableBoxes & rTabBoxes = pLine->GetTabBoxes();
+ USHORT nRealInsPos = nInsPos + n;
+ if (nRealInsPos > rTabBoxes.Count())
+ nRealInsPos = rTabBoxes.Count();
+
+ rTabBoxes.C40_INSERT( SwTableBox, pPrvBox, nRealInsPos );
//if( NO_NUMBERING == pTxtColl->GetOutlineLevel()//#outline level,zhaojianwei
if( ! pTxtColl->IsAssignedToListLevelOfOutlineStyle()//<-end,zhaojianwei
diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx
index 2e19d482fc70..766c3ca86377 100644
--- a/sw/source/core/draw/dcontact.cxx
+++ b/sw/source/core/draw/dcontact.cxx
@@ -1396,6 +1396,37 @@ void SwDrawContact::_Changed( const SdrObject& rObj,
DisconnectFromLayout( false );
break;
}
+ case SDRUSERCALL_CHILD_INSERTED :
+ case SDRUSERCALL_CHILD_REMOVED :
+ {
+ // --> AW, OD 2010-09-13 #i113730#
+ // force layer of controls for group objects containing control objects
+ if(dynamic_cast< SdrObjGroup* >(maAnchoredDrawObj.DrawObj()))
+ {
+ if(::CheckControlLayer(maAnchoredDrawObj.DrawObj()))
+ {
+ const IDocumentDrawModelAccess* pIDDMA = static_cast<SwFrmFmt*>(pRegisteredIn)->getIDocumentDrawModelAccess();
+ const SdrLayerID aCurrentLayer(maAnchoredDrawObj.DrawObj()->GetLayer());
+ const SdrLayerID aControlLayerID(pIDDMA->GetControlsId());
+ const SdrLayerID aInvisibleControlLayerID(pIDDMA->GetInvisibleControlsId());
+
+ if(aCurrentLayer != aControlLayerID && aCurrentLayer != aInvisibleControlLayerID)
+ {
+ if ( aCurrentLayer == pIDDMA->GetInvisibleHellId() ||
+ aCurrentLayer == pIDDMA->GetInvisibleHeavenId() )
+ {
+ maAnchoredDrawObj.DrawObj()->SetLayer(aInvisibleControlLayerID);
+ }
+ else
+ {
+ maAnchoredDrawObj.DrawObj()->SetLayer(aControlLayerID);
+ }
+ }
+ }
+ }
+ // fallthrough intended here
+ // <--
+ }
case SDRUSERCALL_MOVEONLY:
case SDRUSERCALL_RESIZE:
case SDRUSERCALL_CHILD_MOVEONLY :
@@ -1403,8 +1434,6 @@ void SwDrawContact::_Changed( const SdrObject& rObj,
case SDRUSERCALL_CHILD_CHGATTR :
case SDRUSERCALL_CHILD_DELETE :
case SDRUSERCALL_CHILD_COPY :
- case SDRUSERCALL_CHILD_INSERTED :
- case SDRUSERCALL_CHILD_REMOVED :
{
// --> OD 2004-08-04 #i31698# - improvement:
// get instance <SwAnchoredDrawObject> only once
diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx
index 17e4b1ed4873..f334ddcaee2f 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -599,7 +599,7 @@ bool SwFEShell::IsSelContainsControl() const
// if we have one marked object, get the SdrObject and check
// whether it contains a control
const SdrObject* pSdrObject = pMarkList->GetMark( 0 )->GetMarkedSdrObj();
- bRet = CheckControlLayer( pSdrObject );
+ bRet = ::CheckControlLayer( pSdrObject );
}
return bRet;
}
@@ -994,8 +994,14 @@ void SwFEShell::ChangeOpaque( SdrLayerID nLayerId )
SdrObject* pObj = rMrkList.GetMark( i )->GetMarkedSdrObj();
// OD 21.08.2003 #i18447# - no change of layer for controls
// or group objects containing controls.
- const bool bControlObj = ::CheckControlLayer( pObj );
- //if ( pObj->GetLayer() != nLayerId && pObj->GetLayer() != nControls )
+ // --> OD 2010-09-14 #i113730#
+ // consider that a member of a drawing group has been selected.
+ const SwContact* pContact = ::GetUserCall( pObj );
+ ASSERT( pContact && pContact->GetMaster(), "<SwFEShell::ChangeOpaque(..)> - missing contact or missing master object at contact!" );
+ const bool bControlObj = ( pContact && pContact->GetMaster() )
+ ? ::CheckControlLayer( pContact->GetMaster() )
+ : ::CheckControlLayer( pObj );
+ // <--
if ( !bControlObj && pObj->GetLayer() != nLayerId )
{
pObj->SetLayer( nLayerId );
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index cd590d73ddcc..d69df532682f 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -51,6 +51,9 @@
#include <layhelp.hxx>
#include <ndtxt.hxx>
+// --> OD 2010-09-14 #i113730#
+#include <svx/svdogrp.hxx>
+// <--
// OD 16.04.2003 #i13147# - for <SwFlyFrm::GetContour(..)>
#include <ndgrf.hxx>
// OD 29.10.2003 #113049#
@@ -2250,6 +2253,30 @@ void SwFrm::AppendDrawObj( SwAnchoredObject& _rNewObj )
_rNewObj.ChgAnchorFrm( this );
}
+ // --> OD 2010-09-14 #i113730#
+ // Assure the control objects and group objects containing controls are on the control layer
+ if ( ::CheckControlLayer( _rNewObj.DrawObj() ) )
+ {
+ const IDocumentDrawModelAccess* pIDDMA = GetUpper()->GetFmt()->getIDocumentDrawModelAccess();
+ const SdrLayerID aCurrentLayer(_rNewObj.DrawObj()->GetLayer());
+ const SdrLayerID aControlLayerID(pIDDMA->GetControlsId());
+ const SdrLayerID aInvisibleControlLayerID(pIDDMA->GetInvisibleControlsId());
+
+ if(aCurrentLayer != aControlLayerID && aCurrentLayer != aInvisibleControlLayerID)
+ {
+ if ( aCurrentLayer == pIDDMA->GetInvisibleHellId() ||
+ aCurrentLayer == pIDDMA->GetInvisibleHeavenId() )
+ {
+ _rNewObj.DrawObj()->SetLayer(aInvisibleControlLayerID);
+ }
+ else
+ {
+ _rNewObj.DrawObj()->SetLayer(aControlLayerID);
+ }
+ }
+ }
+ // <--
+
// no direct positioning needed, but invalidate the drawing object position
_rNewObj.InvalidateObjPos();
diff --git a/sw/source/filter/rtf/rtfnum.cxx b/sw/source/filter/rtf/rtfnum.cxx
index 84719b2f1255..507f35375ed6 100644
--- a/sw/source/filter/rtf/rtfnum.cxx
+++ b/sw/source/filter/rtf/rtfnum.cxx
@@ -806,8 +806,8 @@ SwNumRule *SwRTFParser::ReadNumSecLevel( int nToken )
// suche die Rule - steht unter Nummer 3
nListNo = 3;
bContinus = FALSE;
- nLevel = MAXLEVEL <= nTokenValue ? MAXLEVEL - 1
- : BYTE( nTokenValue - 1 );
+ nLevel = MAXLEVEL <= (unsigned long) nTokenValue ? MAXLEVEL - 1
+ : (!nTokenValue ? 0 : BYTE( nTokenValue - 1 ));
}
else
{
@@ -815,9 +815,9 @@ SwNumRule *SwRTFParser::ReadNumSecLevel( int nToken )
{
case RTF_PNLVL: nListNo = 3;
bContinus = FALSE;
- nLevel = MAXLEVEL <= nTokenValue
+ nLevel = MAXLEVEL <= (unsigned long) nTokenValue
? MAXLEVEL - 1
- : BYTE( nTokenValue-1 );
+ : (!nTokenValue ? 0 : BYTE( nTokenValue-1 ));
break;
case RTF_PNLVLBODY:
diff --git a/sw/source/filter/ww8/docxexportfilter.cxx b/sw/source/filter/ww8/docxexportfilter.cxx
index 13715fcd2bbe..0da676da99a1 100644
--- a/sw/source/filter/ww8/docxexportfilter.cxx
+++ b/sw/source/filter/ww8/docxexportfilter.cxx
@@ -127,30 +127,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /* pServiceManager */, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- uno::Reference< registry::XRegistryKey > xNewKey1(
- static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(
- OUString::createFromAscii( IMPL_NAME "/UNO/SERVICES/" ) ) );
- xNewKey1->createKey( DocxExport_getSupportedServiceNames().getConstArray()[0] );
-
- bRet = sal_True;
- }
- catch( registry::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx
index 75454dddbc58..a9a60a01147a 100644
--- a/sw/source/filter/ww8/ww8par3.cxx
+++ b/sw/source/filter/ww8/ww8par3.cxx
@@ -1400,7 +1400,9 @@ WW8ListManager::WW8ListManager(SvStream& rSt_, SwWW8ImplReader& rReader_)
pLFOInfo->pNumRule->Set(aLFOLVL.nLevel, aNumFmt);
}
bLVLOk = true;
- pLFOInfo->maOverrides[aLFOLVL.nLevel] = aLFOLVL;
+
+ if (nMaxLevel > aLFOLVL.nLevel)
+ pLFOInfo->maOverrides[aLFOLVL.nLevel] = aLFOLVL;
}
if( !bLVLOk )
break;
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index d318522100cf..d64e207313d8 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -7179,8 +7179,16 @@ void WW8DopTypography::ReadFromMem(BYTE *&pData)
for (i=0; i < nMaxLeading; ++i)
rgxchLPunct[i] = Get_Short(pData);
- rgxchFPunct[cchFollowingPunct]=0;
- rgxchLPunct[cchLeadingPunct]=0;
+ if (cchFollowingPunct >= 0 && cchFollowingPunct < nMaxFollowing)
+ rgxchFPunct[cchFollowingPunct]=0;
+ else
+ rgxchFPunct[nMaxFollowing - 1]=0;
+
+ if (cchLeadingPunct >= 0 && cchLeadingPunct < nMaxLeading)
+ rgxchLPunct[cchLeadingPunct]=0;
+ else
+ rgxchLPunct[nMaxLeading - 1]=0;
+
}
void WW8DopTypography::WriteToMem(BYTE *&pData) const
diff --git a/sw/source/filter/xml/xmlexpit.cxx b/sw/source/filter/xml/xmlexpit.cxx
index 5a8f201f7cb0..07a4c911fc7e 100644
--- a/sw/source/filter/xml/xmlexpit.cxx
+++ b/sw/source/filter/xml/xmlexpit.cxx
@@ -926,9 +926,15 @@ sal_Bool SvXMLExportItemMapper::QueryXMLValue(
if( MID_PAGEDESC_PAGENUMOFFSET==nMemberId )
{
-
- rUnitConverter.convertNumber(
- aOut, (sal_Int32)pPageDesc->GetNumOffset() );
+ sal_Int32 const number(pPageDesc->GetNumOffset());
+ if (0 >= number)
+ {
+ aOut.append(GetXMLToken(XML_AUTO));
+ }
+ else // #i114163# positiveInteger only!
+ {
+ rUnitConverter.convertNumber(aOut, number);
+ }
bOk = sal_True;
}
}
diff --git a/sw/source/ui/docvw/edtwin.cxx b/sw/source/ui/docvw/edtwin.cxx
index 7b5741316cbb..5049220b1b5a 100644
--- a/sw/source/ui/docvw/edtwin.cxx
+++ b/sw/source/ui/docvw/edtwin.cxx
@@ -193,15 +193,51 @@ class SwAnchorMarker
SdrHdl* pHdl;
Point aHdlPos;
Point aLastPos;
+ // --> OD 2010-09-16 #i114522#
+ bool bTopRightHandle;
+ // <--
public:
- SwAnchorMarker( SdrHdl* pH ) :
- pHdl( pH ), aHdlPos( pH->GetPos() ), aLastPos( pH->GetPos() ) {}
+ SwAnchorMarker( SdrHdl* pH )
+ : pHdl( pH )
+ , aHdlPos( pH->GetPos() )
+ , aLastPos( pH->GetPos() )
+ // --> OD 2010-09-16 #i114522#
+ , bTopRightHandle( pH->GetKind() == HDL_ANCHOR_TR )
+ // <--
+ {}
const Point& GetLastPos() const { return aLastPos; }
void SetLastPos( const Point& rNew ) { aLastPos = rNew; }
void SetPos( const Point& rNew ) { pHdl->SetPos( rNew ); }
const Point& GetPos() { return pHdl->GetPos(); }
const Point& GetHdlPos() { return aHdlPos; }
- void ChgHdl( SdrHdl* pNew ) { pHdl = pNew; }
+ void ChgHdl( SdrHdl* pNew )
+ {
+ pHdl = pNew;
+ // --> OD 2010-09-16 #i114522#
+ if ( pHdl )
+ {
+ bTopRightHandle = (pHdl->GetKind() == HDL_ANCHOR_TR);
+ }
+ // <--
+ }
+ // --> OD 2010-09-16 #i114522#
+ const Point GetPosForHitTest( const OutputDevice& rOut )
+ {
+ Point aHitTestPos( GetPos() );
+ aHitTestPos = rOut.LogicToPixel( aHitTestPos );
+ if ( bTopRightHandle )
+ {
+ aHitTestPos += Point( -1, 1 );
+ }
+ else
+ {
+ aHitTestPos += Point( 1, 1 );
+ }
+ aHitTestPos = rOut.PixelToLogic( aHitTestPos );
+
+ return aHitTestPos;
+ }
+ // <--
};
struct QuickHelpData
@@ -3609,7 +3645,10 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt)
// So the pAnchorMarker has to find the right SdrHdl, if it's
// the old one, it will find it with position aOld, if this one
// is destroyed, it will find a new one at position GetHdlPos().
- Point aOld = pAnchorMarker->GetPos();
+ // --> OD 2010-09-16 #i114522#
+// const Point aOld = pAnchorMarker->GetPos();
+ const Point aOld = pAnchorMarker->GetPosForHitTest( *(rSh.GetOut()) );
+ // <--
Point aNew = rSh.FindAnchorPos( aDocPt );
SdrHdl* pHdl;
if( (0!=( pHdl = pSdrView->PickHandle( aOld ) )||
diff --git a/sw/source/ui/lingu/olmenu.cxx b/sw/source/ui/lingu/olmenu.cxx
index 281e3ce3fabb..e9bb702b3d66 100644
--- a/sw/source/ui/lingu/olmenu.cxx
+++ b/sw/source/ui/lingu/olmenu.cxx
@@ -823,7 +823,6 @@ void SwSpellPopup::Execute( USHORT nId )
else if (MN_DICTIONARIES_START <= nId && nId <= MN_DICTIONARIES_END)
{
OUString aWord( xSpellAlt->getWord() );
-// DBG_ASSERT( nDicIdx < aDics.getLength(), "dictionary index out of range" );
PopupMenu *pMenu = GetPopupMenu(MN_ADD_TO_DIC);
String aDicName ( pMenu->GetItemText(nId) );
diff --git a/sw/source/ui/ribbar/inputwin.cxx b/sw/source/ui/ribbar/inputwin.cxx
index 9ee5a6e2ffa3..e6d7bf26db80 100755
--- a/sw/source/ui/ribbar/inputwin.cxx
+++ b/sw/source/ui/ribbar/inputwin.cxx
@@ -103,16 +103,23 @@ SwInputWindow::SwInputWindow( Window* pParent, SfxBindings* pBind )
SetDropdownClickHdl( LINK( this, SwInputWindow, DropdownClickHdl ));
Size aSizeTbx = CalcWindowSizePixel();
+ Size aEditSize = aEdit.GetSizePixel();
+ Rectangle aItemRect( GetItemRect(FN_FORMULA_CALC) );
+ long nMaxHeight = (aEditSize.Height() > aItemRect.GetHeight()) ? aEditSize.Height() : aItemRect.GetHeight();
+ if( nMaxHeight+2 > aSizeTbx.Height() )
+ aSizeTbx.Height() = nMaxHeight+2;
Size aSize = GetSizePixel();
aSize.Height() = aSizeTbx.Height();
SetSizePixel( aSize );
- Size aPosSize = aPos.GetSizePixel();
- Size aEditSize = aEdit.GetSizePixel();
- aPosSize.Height() = aEditSize.Height() = GetItemRect(FN_FORMULA_CALC).GetHeight() - 2;
- Point aPosPos = aPos.GetPosPixel();
- Point aEditPos= aEdit.GetPosPixel();
- aPosPos.Y() = aEditPos.Y() = GetItemRect( FN_FORMULA_CALC ).TopLeft().Y() + 1;
+ // align edit and item vcentered
+ Size aPosSize = aPos.GetSizePixel();
+ aPosSize.Height() = nMaxHeight;
+ aEditSize.Height() = nMaxHeight;
+ Point aPosPos = aPos.GetPosPixel();
+ Point aEditPos = aEdit.GetPosPixel();
+ aPosPos.Y() = (aSize.Height() - nMaxHeight)/2 + 1;
+ aEditPos.Y() = (aSize.Height() - nMaxHeight)/2 + 1;
aPos.SetPosSizePixel( aPosPos, aPosSize );
aEdit.SetPosSizePixel( aEditPos, aEditSize );
diff --git a/sw/source/ui/uiview/pview.cxx b/sw/source/ui/uiview/pview.cxx
index 27fe1a65641f..8b6eeb9e7a5e 100644
--- a/sw/source/ui/uiview/pview.cxx
+++ b/sw/source/ui/uiview/pview.cxx
@@ -217,8 +217,7 @@ SwPreViewZoomDlg::SwPreViewZoomDlg( SwPagePreViewWin& rParent ) :
Beschreibung:
--------------------------------------------------------------------*/
-
- SwPreViewZoomDlg::~SwPreViewZoomDlg() {}
+SwPreViewZoomDlg::~SwPreViewZoomDlg() {}
void SwPreViewZoomDlg::Apply()
@@ -228,491 +227,6 @@ void SwPreViewZoomDlg::Apply()
BYTE(aColEdit.GetValue()) );
}
-/* */
-/* -----------------20.08.98 15:25-------------------
- * Vorschau fuer den Seitendruck
- * --------------------------------------------------*/
-struct PrintSettingsStruct;
-class PrtPrvWindow : public Window
-{
- const PrintSettingsStruct& rSettings;
-
- virtual void Paint(const Rectangle&);
-public :
- PrtPrvWindow(Window* pParent, const ResId& rResId, const PrintSettingsStruct& rSett) :
- Window(pParent, rResId), rSettings(rSett){}
-};
-/*--------------------------------------------------------------------
- Beschreibung: Optionen fuer das Drucken der Preview
- --------------------------------------------------------------------*/
-struct PrintSettingsStruct
-{
- Size aPageMaxSize; // groesste Seite
- Size aPrtSize; // Papiergroesse
- Size aPrvPrtSize; // Groesse innerhalb der LRTB-Raender
- Size aGridSize; // Groesse fuer jede Seite, enthaelt je
- // die Haelfte von H- und V-Distance
-
- long nLeft;
- long nRight;
- long nTop;
- long nBottom;
- long nHori;
- long nVert;
-
- USHORT nRows;
- USHORT nCols;
-
- BOOL bPrinterLandscape; // Ausrichtung
-};
-
-class SwPreviewPrintOptionsDialog : public SvxStandardDialog
-{
- FixedLine aRowColFL;
- FixedText aRowsFT;
- NumericField aRowsNF;
- FixedText aColsFT;
- NumericField aColsNF;
-
- FixedLine aMarginFL;
- FixedText aLSpaceFT;
- MetricField aLSpaceMF;
- FixedText aRSpaceFT;
- MetricField aRSpaceMF;
- FixedText aTSpaceFT;
- MetricField aTSpaceMF;
- FixedText aBSpaceFT;
- MetricField aBSpaceMF;
- FixedLine aDistanceFL;
- FixedText aHSpaceFT;
- MetricField aHSpaceMF;
- FixedText aVSpaceFT;
- MetricField aVSpaceMF;
-
- RadioButton aLandscapeRB;
- RadioButton aPortraitRB;
- FixedLine aOrientationFL;
-
- PrtPrvWindow aPreviewWin;
-
- OKButton aOkBtn;
- CancelButton aCancelBtn;
- HelpButton aHelpBtn;
-
- PushButton aStandardPB;
-
- SwPagePreView& rPreView;
- SwPagePreViewWin& rParentWin;
- PrintSettingsStruct aSettings;
-/* Size aPageMaxSize;
- Size aPrtSize;
-
- BOOL bOrientation;
-*/
- BOOL bStandard;
-
- virtual void Apply();
- void FillControls(SwPagePreViewPrtData& rData);
-
- DECL_LINK( ModifyHdl, Edit* );
- DECL_LINK( StandardHdl, PushButton* );
-
-public:
- SwPreviewPrintOptionsDialog(SwPagePreViewWin& rParent, SwPagePreView& rView);
- ~SwPreviewPrintOptionsDialog();
-};
-
-/* -----------------19.08.98 13:35-------------------
- *
- * --------------------------------------------------*/
-SwPreviewPrintOptionsDialog::SwPreviewPrintOptionsDialog( SwPagePreViewWin& rParent, SwPagePreView& rView ) :
- SvxStandardDialog( &rParent, SW_RES(DLG_PAGEPREVIEW_PRINTOPTIONS) ),
- aRowColFL(this,SW_RES( FL_ROWCOL)),
- aRowsFT(this,SW_RES( FT_ROWS)),
- aRowsNF(this,SW_RES( NF_ROWS)),
- aColsFT(this,SW_RES( FT_COLS)),
- aColsNF(this,SW_RES( NF_COLS)),
- aMarginFL(this,SW_RES( FL_MARGINS)),
- aLSpaceFT(this,SW_RES( FT_LMARGIN)),
- aLSpaceMF(this,SW_RES( MF_LMARGIN)),
- aRSpaceFT(this,SW_RES( FT_RMARGIN)),
- aRSpaceMF(this,SW_RES( MF_RMARGIN)),
- aTSpaceFT(this,SW_RES( FT_TMARGIN)),
- aTSpaceMF(this,SW_RES( MF_TMARGIN)),
- aBSpaceFT(this,SW_RES( FT_BMARGIN)),
- aBSpaceMF(this,SW_RES( MF_BMARGIN)),
- aDistanceFL(this,SW_RES(FL_DISTANCE)),
- aHSpaceFT(this,SW_RES( FT_HMARGIN)),
- aHSpaceMF(this,SW_RES( MF_HMARGIN)),
- aVSpaceFT(this,SW_RES( FT_VMARGIN)),
- aVSpaceMF(this,SW_RES( MF_VMARGIN)),
- aLandscapeRB(this,SW_RES( RB_LANDSCAPE)),
- aPortraitRB(this,SW_RES( RB_PORTRAIT)),
- aOrientationFL(this,SW_RES( FL_ORIENTATION)),
- aPreviewWin(this,SW_RES( WIN_PREVIEW), aSettings),
- aOkBtn(this,SW_RES(BT_OK)),
- aCancelBtn(this,SW_RES(BT_CANCEL)),
- aHelpBtn(this,SW_RES(BT_HELP)),
- aStandardPB(this,SW_RES(PB_STANDARD)),
- rPreView(rView),
- rParentWin(rParent),
- bStandard(TRUE)
-{
- FreeResource();
- ViewShell& rViewSh = *rPreView.GetViewShell();
- // OD 18.12.2002 #103492#
- aSettings.aPageMaxSize = rViewSh.PagePreviewLayout()->GetMaxPageSize();
- SfxPrinter* pPrinter = rViewSh.getIDocumentDeviceAccess()->getPrinter( true );
- aSettings.aPrtSize = pPrinter->GetPaperSize();
- //#97682# make sure that no division by zero occurs
- if(!aSettings.aPrtSize.Width() || !aSettings.aPrtSize.Height())
- aSettings.aPrtSize = SvxPaperInfo::GetPaperSize(PAPER_A4);
- aSettings.bPrinterLandscape = pPrinter->GetOrientation() == ORIENTATION_LANDSCAPE;
-
-
- SwDocShell* pDocShell = rPreView.GetDocShell();
- const SwMasterUsrPref *pUsrPref = SW_MOD()->GetUsrPref(0 != PTR_CAST(SwWebDocShell, pDocShell));
- FieldUnit eFieldUnit = pUsrPref->GetMetric();
- ::SetFieldUnit( aLSpaceMF, eFieldUnit );
- ::SetFieldUnit( aRSpaceMF, eFieldUnit );
- ::SetFieldUnit( aTSpaceMF, eFieldUnit );
- ::SetFieldUnit( aBSpaceMF, eFieldUnit );
- ::SetFieldUnit( aHSpaceMF, eFieldUnit );
- ::SetFieldUnit( aVSpaceMF, eFieldUnit );
-
- SwDoc* pDoc = pDocShell->GetDoc();
- SwPagePreViewPrtData aData;
- if(pDoc->GetPreViewPrtData())
- {
- aData = *pDoc->GetPreViewPrtData();
- bStandard = FALSE;
- }
- else
- {
- // Orientation der PreviewData an den Drucker anpassen
- aData.SetLandscape(aSettings.bPrinterLandscape);
- aData.SetRow(rParent.GetRow());
- aData.SetCol(rParent.GetCol());
- }
- FillControls(aData);
-
- aLSpaceMF.SaveValue();
- aRSpaceMF.SaveValue();
- aTSpaceMF.SaveValue();
- aBSpaceMF.SaveValue();
- aHSpaceMF.SaveValue();
- aVSpaceMF.SaveValue();
- aRowsNF.SaveValue();
- aColsNF.SaveValue();
- aLandscapeRB.SaveValue();
- aPortraitRB.SaveValue();
-
- aStandardPB.SetClickHdl(LINK(this, SwPreviewPrintOptionsDialog, StandardHdl));
- Link aLk = LINK(this, SwPreviewPrintOptionsDialog, ModifyHdl);
- aLSpaceMF.SetUpHdl(aLk);
- aRSpaceMF.SetUpHdl(aLk);
- aTSpaceMF.SetUpHdl(aLk);
- aBSpaceMF.SetUpHdl(aLk);
- aHSpaceMF.SetUpHdl(aLk);
- aVSpaceMF.SetUpHdl(aLk);
- aRowsNF.SetUpHdl(aLk);
- aColsNF.SetUpHdl(aLk);
- aLSpaceMF.SetDownHdl(aLk);
- aRSpaceMF.SetDownHdl(aLk);
- aTSpaceMF.SetDownHdl(aLk);
- aBSpaceMF.SetDownHdl(aLk);
- aHSpaceMF.SetDownHdl(aLk);
- aVSpaceMF.SetDownHdl(aLk);
- aRowsNF.SetDownHdl(aLk);
- aColsNF.SetDownHdl(aLk);
- aLSpaceMF.SetLoseFocusHdl(aLk);
- aRSpaceMF.SetLoseFocusHdl(aLk);
- aTSpaceMF.SetLoseFocusHdl(aLk);
- aBSpaceMF.SetLoseFocusHdl(aLk);
- aHSpaceMF.SetLoseFocusHdl(aLk);
- aVSpaceMF.SetLoseFocusHdl(aLk);
- aRowsNF.SetLoseFocusHdl(aLk);
- aColsNF.SetLoseFocusHdl(aLk);
- aLandscapeRB.SetClickHdl(aLk);
- aPortraitRB.SetClickHdl(aLk);
-
- ModifyHdl(0);
- if(bStandard)
- StandardHdl(&aStandardPB);
-}
-
-
-/* -----------------19.08.98 13:36-------------------
- *
- * --------------------------------------------------*/
-SwPreviewPrintOptionsDialog::~SwPreviewPrintOptionsDialog()
-{
-}
-/* -----------------12.11.98 11:32-------------------
- *
- * --------------------------------------------------*/
-void SwPreviewPrintOptionsDialog::FillControls(SwPagePreViewPrtData& rData)
-{
- aLSpaceMF.SetValue(aLSpaceMF.Normalize(rData.GetLeftSpace() ), FUNIT_TWIP);
- aRSpaceMF.SetValue(aRSpaceMF.Normalize(rData.GetRightSpace() ), FUNIT_TWIP);
- aTSpaceMF.SetValue(aTSpaceMF.Normalize(rData.GetTopSpace() ), FUNIT_TWIP);
- aBSpaceMF.SetValue(aBSpaceMF.Normalize(rData.GetBottomSpace()), FUNIT_TWIP);
- aHSpaceMF.SetValue(aHSpaceMF.Normalize(rData.GetHorzSpace() ), FUNIT_TWIP);
- aVSpaceMF.SetValue(aVSpaceMF.Normalize(rData.GetVertSpace() ), FUNIT_TWIP);
- aRowsNF.SetValue(rData.GetRow());
- aColsNF.SetValue(rData.GetCol());
- aSettings.bPrinterLandscape ? aLandscapeRB.Check() : aPortraitRB.Check();
- // wenn Drucker und Einstellungen nicht uebereinstimmen, dann Seiten tauschen
- if( rData.GetLandscape() != aSettings.bPrinterLandscape )
- {
- Size aTmp(aSettings.aPrtSize.Height(), aSettings.aPrtSize.Width());
- aSettings.aPrtSize = aTmp;
- aSettings.bPrinterLandscape = !aSettings.bPrinterLandscape;
- // nochmal setzen, denn auch wenn nur die Default-Orientierung dem Drucker
- // angepasst wurde, sollen die Einstellungen gespeichert werden
- aSettings.bPrinterLandscape ? aLandscapeRB.Check() : aPortraitRB.Check();
- }
- aLandscapeRB.SaveValue();
- aPortraitRB.SaveValue();
-
- aSettings.nLeft = rData.GetLeftSpace() ;
- aSettings.nRight = rData.GetRightSpace() ;
- aSettings.nTop = rData.GetTopSpace() ;
- aSettings.nBottom = rData.GetBottomSpace();
- aSettings.nHori = rData.GetHorzSpace() ;
- aSettings.nVert = rData.GetVertSpace() ;
- aSettings.nRows = rData.GetRow() ;
- aSettings.nCols = rData.GetCol() ;
- aSettings.aPrvPrtSize = aSettings.aPrtSize ;
-}
-
-/* -----------------19.08.98 14:31-------------------
- *
- * --------------------------------------------------*/
-void SwPreviewPrintOptionsDialog::Apply()
-{
-
- SwDoc* pDoc = rPreView.GetDocShell()->GetDoc();
- if(bStandard)
- pDoc->SetPreViewPrtData(0);
- else if( aLSpaceMF.GetSavedValue() != aLSpaceMF.GetText() ||
- aRSpaceMF.GetSavedValue() != aRSpaceMF.GetText() ||
- aTSpaceMF.GetSavedValue() != aTSpaceMF.GetText() ||
- aBSpaceMF.GetSavedValue() != aBSpaceMF.GetText() ||
- aHSpaceMF.GetSavedValue() != aHSpaceMF.GetText() ||
- aVSpaceMF.GetSavedValue() != aVSpaceMF.GetText() ||
- aRowsNF.GetSavedValue() != aRowsNF.GetText() ||
- aColsNF.GetSavedValue() != aColsNF.GetText() ||
- aLandscapeRB.GetSavedValue() != aLandscapeRB.IsChecked() ||
- aPortraitRB.GetSavedValue() != aPortraitRB.IsChecked() )
- {
- SwPagePreViewPrtData aData;
- if(pDoc->GetPreViewPrtData())
- aData = *pDoc->GetPreViewPrtData();
- aData.SetLeftSpace( static_cast< ULONG >(aLSpaceMF.Denormalize(aLSpaceMF.GetValue(FUNIT_TWIP))) );
- aData.SetRightSpace( static_cast< ULONG >(aRSpaceMF.Denormalize(aRSpaceMF.GetValue(FUNIT_TWIP))) );
- aData.SetTopSpace( static_cast< ULONG >(aTSpaceMF.Denormalize(aTSpaceMF.GetValue(FUNIT_TWIP))) );
- aData.SetBottomSpace( static_cast< ULONG >(aBSpaceMF.Denormalize(aBSpaceMF.GetValue(FUNIT_TWIP))) );
-
- aData.SetHorzSpace( static_cast< ULONG >(aHSpaceMF.Denormalize(aHSpaceMF.GetValue(FUNIT_TWIP))) );
- aData.SetVertSpace( static_cast< ULONG >(aVSpaceMF.Denormalize(aVSpaceMF.GetValue(FUNIT_TWIP))) );
- aData.SetRow((BYTE)aRowsNF.GetValue());
- aData.SetCol((BYTE)aColsNF.GetValue());
- aData.SetLandscape(aLandscapeRB.IsChecked());
-
- ViewShell& rViewSh = *rPreView.GetViewShell();
- SfxPrinter* pPrinter = rViewSh.getIDocumentDeviceAccess()->getPrinter( true );
- if((pPrinter->GetOrientation() == ORIENTATION_LANDSCAPE)
- != aData.GetLandscape())
- pPrinter->SetOrientation(aData.GetLandscape() ? ORIENTATION_LANDSCAPE : ORIENTATION_PORTRAIT);
-
-
- pDoc->SetPreViewPrtData(&aData);
-
- }
-}
-/* -----------------20.08.98 08:48-------------------
- *
- * --------------------------------------------------*/
-IMPL_LINK( SwPreviewPrintOptionsDialog, ModifyHdl, Edit*, pEdit )
-{
- if(bStandard && pEdit)
- {
- aLSpaceMF.SetUserValue(aLSpaceMF.GetValue());
- aRSpaceMF.SetUserValue(aRSpaceMF.GetValue());
- aTSpaceMF.SetUserValue(aTSpaceMF.GetValue());
- aBSpaceMF.SetUserValue(aBSpaceMF.GetValue());
- aHSpaceMF.SetUserValue(aHSpaceMF.GetValue());
- aVSpaceMF.SetUserValue(aVSpaceMF.GetValue());
- aRowsNF. SetUserValue(aRowsNF .GetValue());
- aColsNF. SetUserValue(aColsNF .GetValue());
-
- bStandard = FALSE;
- }
- BOOL bOrientChanged = aSettings.bPrinterLandscape != aLandscapeRB.IsChecked();;
- if(pEdit == &aLSpaceMF)
- aSettings.nLeft = static_cast< long >(aLSpaceMF.Denormalize(aLSpaceMF.GetValue(FUNIT_TWIP)));
- else if(pEdit == &aRSpaceMF)
- aSettings.nRight = static_cast< long >(aRSpaceMF.Denormalize(aRSpaceMF.GetValue(FUNIT_TWIP)));
- else if(pEdit == &aTSpaceMF)
- aSettings.nTop = static_cast< long >(aTSpaceMF.Denormalize(aTSpaceMF.GetValue(FUNIT_TWIP)));
- else if(pEdit == &aBSpaceMF)
- aSettings.nBottom = static_cast< long >(aBSpaceMF.Denormalize(aBSpaceMF.GetValue(FUNIT_TWIP)));
- else if(pEdit == &aHSpaceMF)
- aSettings.nHori = static_cast< long >(aHSpaceMF.Denormalize(aHSpaceMF.GetValue(FUNIT_TWIP)));
- else if(pEdit == &aVSpaceMF)
- aSettings.nVert = static_cast< long >(aVSpaceMF.Denormalize(aVSpaceMF.GetValue(FUNIT_TWIP)));
- else if(pEdit == &aRowsNF)
- aSettings.nRows = (USHORT)aRowsNF.GetValue();
- else if(pEdit == &aColsNF)
- aSettings.nCols = (USHORT)aColsNF.GetValue();
- else if(pEdit == (Edit*)&aLandscapeRB)
- aSettings.bPrinterLandscape = aLandscapeRB.IsChecked();
- else if(pEdit == (Edit*)&aPortraitRB)
- aSettings.bPrinterLandscape = aLandscapeRB.IsChecked();
-
- if(bOrientChanged)
- {
- Size aTmp(aSettings.aPrtSize.Height(), aSettings.aPrtSize.Width());
- aSettings.aPrtSize = aTmp;
- }
-
-
- aSettings.aPrvPrtSize = Size(aSettings.aPrtSize.Width() - aSettings.nRight - aSettings.nLeft,
- aSettings.aPrtSize.Height() - aSettings.nTop - aSettings.nBottom);
- aSettings.aGridSize = Size(aSettings.aPrvPrtSize.Width() / aSettings.nCols,
- aSettings.aPrvPrtSize.Height() / aSettings.nRows );
- // was fehlt noch: Orientation auswerten, minimalrand ausrechnen, Beispiel fuettern
-
-
- //am Ende Maximalwerte setzen
- long n20Percent = aSettings.aPrtSize.Width() / 5;
- aLSpaceMF.SetMax(aLSpaceMF.Normalize(aSettings.aPrtSize.Width() - aSettings.nRight - n20Percent), FUNIT_TWIP);
- aRSpaceMF.SetMax(aRSpaceMF.Normalize(aSettings.aPrtSize.Width() - aSettings.nLeft - n20Percent), FUNIT_TWIP);
- n20Percent = aSettings.aPrtSize.Height() / 5;
- aTSpaceMF.SetMax(aTSpaceMF.Normalize(aSettings.aPrtSize.Height() - aSettings.nBottom - n20Percent), FUNIT_TWIP);
- aBSpaceMF.SetMax(aBSpaceMF.Normalize(aSettings.aPrtSize.Height() - aSettings.nTop - n20Percent), FUNIT_TWIP);
-
- long n80Percent = aSettings.aPrvPrtSize.Width() * 4 / 5;
- aHSpaceMF.SetMax(aHSpaceMF.Normalize(n80Percent / aSettings.nRows), FUNIT_TWIP);
- n80Percent = aSettings.aPrvPrtSize.Height()* 4 / 5;
- aVSpaceMF.SetMax(aVSpaceMF.Normalize(n80Percent / aSettings.nCols), FUNIT_TWIP);
- aHSpaceMF.Enable(aSettings.nCols > 1);
- aVSpaceMF.Enable(aSettings.nRows > 1);
- aRowsNF.SetMin(1);// nur damit auch nach Standard wieder der Inhalt angezeigt wird
- aColsNF.SetMin(1);
-
-
- aPreviewWin.Invalidate();
- return 0;
-}
-/* -----------------28.08.98 14:59-------------------
- *
- * --------------------------------------------------*/
-IMPL_LINK( SwPreviewPrintOptionsDialog, StandardHdl, PushButton*, EMPTYARG )
-{
- SetUpdateMode(TRUE);
- SwPagePreViewPrtData aData;
- aData.SetRow(rParentWin.GetRow());
- aData.SetCol(rParentWin.GetCol());
- FillControls(aData);
- bStandard = TRUE;
- aLSpaceMF.SetText(aEmptyStr);
- aRSpaceMF.SetText(aEmptyStr);
- aTSpaceMF.SetText(aEmptyStr);
- aBSpaceMF.SetText(aEmptyStr);
- aHSpaceMF.SetText(aEmptyStr);
- aVSpaceMF.SetText(aEmptyStr);
- aPreviewWin.Invalidate();
- SetUpdateMode(FALSE);
- return 0;
-}
-/* -----------------20.08.98 15:28-------------------
- * Preview anzeigen
- * --------------------------------------------------*/
-void PrtPrvWindow::Paint(const Rectangle&)
-{
- Size aWinSize(GetOutputSizePixel());
- long nWidth = rSettings.aPrtSize.Width();
- long nHeight = rSettings.aPrtSize.Height();
- BOOL bHoriValid = (aWinSize.Width() * 100 / aWinSize.Height()) <
- (rSettings.aPrtSize.Width() * 100/ rSettings.aPrtSize.Height());
- Fraction aXScale( aWinSize.Width(), Max( nWidth , 1L ) );
- Fraction aYScale( aWinSize.Height(), Max( nHeight, 1L ) );
- MapMode aMapMode( GetMapMode() );
- aMapMode.SetScaleX( bHoriValid ? aXScale : aYScale);
- aMapMode.SetScaleY( bHoriValid ? aXScale : aYScale);
- SetMapMode( aMapMode );
-
- aWinSize = GetOutputSize();
-
- Point aOffset(0,0);
- if(bHoriValid)
- aOffset.Y() = (aWinSize.Height() - rSettings.aPrtSize.Height()) / 2;
- else
- aOffset.X() = (aWinSize.Width() - rSettings.aPrtSize.Width()) / 2;;
-
-
- BOOL bUseSystemColors = SvtAccessibilityOptions().GetIsForPagePreviews()
- && GetSettings().GetStyleSettings().GetHighContrastMode();
-
- //der weisse Seitenhintergrund
- Rectangle aRect(aOffset, rSettings.aPrtSize);
- if(bUseSystemColors)
- {
- SetFillColor( GetSettings().GetStyleSettings().GetWindowColor() );
- SetLineColor( SwViewOption::GetFontColor() );
- }
- else
- {
- SetFillColor( Color( COL_WHITE ) );
- SetLineColor(Color( COL_BLACK ) );
- }
-
- DrawRect(aRect);
-
- Point aTL(aOffset);
- aTL.X() += rSettings.nLeft;
- aTL.Y() += rSettings.nTop;
-
- Size aPrvPageSize((rSettings.aPrvPrtSize.Width() - (rSettings.nCols - 1) * rSettings.nHori) / rSettings.nCols,
- (rSettings.aPrvPrtSize.Height() - (rSettings.nRows - 1) * rSettings.nVert) / rSettings.nRows);
- // jetzt muss noch das unterschiedliche Groessenverhaeltnis berechnet werden, um es an
- // der richtigen Seite abzuziehen.
- //...
- long nSourceScale = rSettings.aPageMaxSize.Width() * 100 / rSettings.aPageMaxSize.Height();
- long nDestScale = aPrvPageSize.Width() * 100 / aPrvPageSize.Height() ;
- if(nSourceScale > nDestScale) // die Seite ist relativ breiter als das vorhandene Rechteck
- {
- aPrvPageSize.Height() = aPrvPageSize.Width() * 100 / nSourceScale;
- }
- else
- {
- aPrvPageSize.Width() = aPrvPageSize.Height() * nSourceScale / 100;
- }
-
- if(bUseSystemColors)
- SetFillColor( GetSettings().GetStyleSettings().GetWindowColor() );
- else
- SetFillColor( Color( COL_GRAY ) );
-
-
- aRect = Rectangle(aTL, aPrvPageSize);
- for(USHORT i = 0; i < rSettings.nRows; i++)
- {
- for(USHORT j = 0; j < rSettings.nCols; j++)
- {
- DrawRect(aRect);
- aRect.Move(aPrvPageSize.Width() + rSettings.nHori, 0);
- }
-
- aRect.Move( 0, aPrvPageSize.Height() + rSettings.nVert);
- aRect.SetPos(Point(aTL.X(), aRect.TopLeft().Y()));
- }
- //rSettings;
-}
-
-/* */
/*--------------------------------------------------------------------
Beschreibung:
--------------------------------------------------------------------*/
diff --git a/sw/source/ui/uiview/pview.src b/sw/source/ui/uiview/pview.src
index 53f672dbdb60..1a8833e76b34 100644
--- a/sw/source/ui/uiview/pview.src
+++ b/sw/source/ui/uiview/pview.src
@@ -29,272 +29,7 @@
#include "pview.hrc"
#include "helpid.h"
#include "cmdid.h"
-ModalDialog DLG_PAGEPREVIEW_PRINTOPTIONS
-{
- HelpID = HID_DLG_PRV_PRT_OPTIONS ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Moveable = TRUE ;
- Size = MAP_APPFONT ( 312 , 131 ) ;
- FixedLine FL_ROWCOL
- {
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 150 , 8 ) ;
-
- Text [ en-US ] = "Distribution";
- };
- FixedText FT_ROWS
- {
- Pos = MAP_APPFONT ( 12 , 15 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "Ro~ws";
- };
- NumericField NF_ROWS
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 45 , 14 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- TabStop = TRUE ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- Minimum = PVIEW_MIN_ROW ;
- Maximum = PVIEW_MAX_ROW ;
- Value = 1 ;
- First = PVIEW_MIN_COL ;
- Last = PVIEW_MAX_COL ;
- };
- FixedText FT_COLS
- {
- Pos = MAP_APPFONT ( 84 , 15 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "~Columns";
- };
- NumericField NF_COLS
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 117 , 14 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- TabStop = TRUE ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- Minimum = PVIEW_MIN_COL ;
- Maximum = PVIEW_MAX_COL ;
- Value = 1 ;
- First = PVIEW_MIN_COL ;
- Last = PVIEW_MAX_COL ;
- };
- FixedLine FL_MARGINS
- {
- Pos = MAP_APPFONT ( 6 , 32 ) ;
- Size = MAP_APPFONT ( 150 , 8 ) ;
- Text [ en-US ] = "Margins";
- };
- FixedText FT_LMARGIN
- {
- Pos = MAP_APPFONT ( 12 , 44 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "L~eft";
- };
- MetricField MF_LMARGIN
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 45 , 43 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- DecimalDigits = 1 ;
- Unit = FUNIT_CM ;
- SpinSize = 10 ;
- Minimum = 0 ;
- Maximum = 9999 ;
- First = 0 ;
- Last = 2000 ;
- };
- FixedText FT_RMARGIN
- {
- Pos = MAP_APPFONT ( 84 , 44 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "~Right";
- };
- MetricField MF_RMARGIN
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 117 , 43 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- DecimalDigits = 1 ;
- Unit = FUNIT_CM ;
- SpinSize = 10 ;
- Minimum = 0 ;
- Maximum = 9999 ;
- First = 0 ;
- Last = 2000 ;
- };
- FixedText FT_TMARGIN
- {
- Pos = MAP_APPFONT ( 12 , 59 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "~Top";
- };
- MetricField MF_TMARGIN
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 45 , 58 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- DecimalDigits = 1 ;
- Unit = FUNIT_CM ;
- SpinSize = 10 ;
- Minimum = 0 ;
- Maximum = 9999 ;
- First = 0 ;
- Last = 2000 ;
- };
- FixedText FT_BMARGIN
- {
- Pos = MAP_APPFONT ( 84 , 59 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "~Bottom";
- };
- MetricField MF_BMARGIN
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 117 , 58 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- DecimalDigits = 1 ;
- Unit = FUNIT_CM ;
- SpinSize = 10 ;
- Minimum = 0 ;
- Maximum = 9999 ;
- First = 0 ;
- Last = 2000 ;
- };
- FixedLine FL_DISTANCE
- {
- Pos = MAP_APPFONT ( 6 , 76 ) ;
- Size = MAP_APPFONT ( 150 , 8 ) ;
-
- Text [ en-US ] = "Spacing";
- };
- FixedText FT_HMARGIN
- {
- Pos = MAP_APPFONT ( 12 , 88 ) ;
- Size = MAP_APPFONT ( 30 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "Hori~zontal";
- };
-
- MetricField MF_HMARGIN
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 45 , 87 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- DecimalDigits = 1 ;
- Unit = FUNIT_CM ;
- SpinSize = 10 ;
- Minimum = 0 ;
- Maximum = 9999 ;
- First = 0 ;
- Last = 2000 ;
- };
- FixedText FT_VMARGIN
- {
- Pos = MAP_APPFONT ( 84 , 88 ) ;
- Size = MAP_APPFONT ( 32 , 10 ) ;
- Left = TRUE ;
- Text [ en-US ] = "~Vertically";
- };
-
- MetricField MF_VMARGIN
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 117 , 87 ) ;
- Size = MAP_APPFONT ( 36 , 12 ) ;
- Left = TRUE ;
- Repeat = TRUE ;
- Spin = TRUE ;
- DecimalDigits = 1 ;
- Unit = FUNIT_CM ;
- SpinSize = 10 ;
- Minimum = 0 ;
- Maximum = 9999 ;
- First = 0 ;
- Last = 2000 ;
- };
- FixedLine FL_ORIENTATION
- {
- Pos = MAP_APPFONT ( 6 , 102 ) ;
- Size = MAP_APPFONT ( 150 , 8 ) ;
- Text [ en-US ] = "Format";
- };
- RadioButton RB_LANDSCAPE
- {
- Pos = MAP_APPFONT ( 12 , 113 ) ;
- Size = MAP_APPFONT ( 60 , 12 ) ;
- TabStop = TRUE ;
- Group = TRUE ;
- Text [ en-US ] = "~Landscape";
- };
- RadioButton RB_PORTRAIT
- {
- Pos = MAP_APPFONT ( 84 , 113 ) ;
- Size = MAP_APPFONT ( 60 , 12 ) ;
- Text [ en-US ] = "P~ortrait";
- };
- Window WIN_PREVIEW
- {
- Pos = MAP_APPFONT ( 162 , 7 ) ;
- Size = MAP_APPFONT ( 90 , 113 ) ;
- };
-
- OKButton BT_OK
- {
- Pos = MAP_APPFONT ( 258 , 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- DefButton = TRUE ;
- };
- CancelButton BT_CANCEL
- {
- Pos = MAP_APPFONT ( 258 , 23 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- HelpButton BT_HELP
- {
- Pos = MAP_APPFONT ( 258 , 49 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- };
- PushButton PB_STANDARD
- {
- Pos = MAP_APPFONT ( 258 , 66 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- TabStop = TRUE ;
- Text [ en-US ] = "~Default";
- };
- Text [ en-US ] = "Print Options";
-};
ModalDialog DLG_PAGEPREVIEW_ZOOM
{
HelpID = HID_PPREV_ZOOM ;
@@ -460,31 +195,3 @@ ToolBox RID_PVIEW_TOOLBOX
Scroll = TRUE ;
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sw/source/ui/uiview/view.hrc b/sw/source/ui/uiview/view.hrc
index 8697a7e4ed63..d2aa60494801 100644
--- a/sw/source/ui/uiview/view.hrc
+++ b/sw/source/ui/uiview/view.hrc
@@ -77,7 +77,6 @@
#define DLG_SPECIAL_FORCED (RC_VIEW_BEGIN)
#define DLG_PAGEPREVIEW_ZOOM (RC_VIEW_BEGIN + 1)
-#define DLG_PAGEPREVIEW_PRINTOPTIONS (RC_VIEW_BEGIN + 2)
// Ueberlaufpruefung -----------------------------------------------------
diff --git a/sw/source/ui/uno/SwXDocumentSettings.cxx b/sw/source/ui/uno/SwXDocumentSettings.cxx
index b0ad816df4a1..a3ef96d1a613 100644
--- a/sw/source/ui/uno/SwXDocumentSettings.cxx
+++ b/sw/source/ui/uno/SwXDocumentSettings.cxx
@@ -31,7 +31,6 @@
#include <vos/mutex.hxx>
#include <sfx2/sfxbasecontroller.hxx>
#include <SwXDocumentSettings.hxx>
-#include <SwXPrintPreviewSettings.hxx>
#include <comphelper/MasterPropertySetInfo.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/i18n/XForbiddenCharacters.hpp>
@@ -221,7 +220,6 @@ SwXDocumentSettings::SwXDocumentSettings ( SwXTextDocument * pModel )
, mpPrinter( NULL )
{
registerSlave ( new SwXPrintSettings ( PRINT_SETTINGS_DOCUMENT, mpModel->GetDocShell()->GetDoc() ) );
- registerSlave ( new SwXPrintPreviewSettings ( mpModel->GetDocShell()->GetDoc() ) );
}
SwXDocumentSettings::~SwXDocumentSettings()
diff --git a/sw/source/ui/uno/SwXPrintPreviewSettings.cxx b/sw/source/ui/uno/SwXPrintPreviewSettings.cxx
deleted file mode 100644
index a812c39754c9..000000000000
--- a/sw/source/ui/uno/SwXPrintPreviewSettings.cxx
+++ /dev/null
@@ -1,375 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sw.hxx"
-#include <SwXPrintPreviewSettings.hxx>
-#include <comphelper/ChainablePropertySetInfo.hxx>
-#include <pvprtdat.hxx>
-#include <swtypes.hxx>
-#ifndef _COM_SUN_STAR_BEANS_PropertyAttribute_HPP_
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PropertyAttribute_HPP_
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
-#include <doc.hxx>
-#include <vcl/svapp.hxx>
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::lang;
-using namespace ::comphelper;
-using ::rtl::OUString;
-
-enum SwPrintSettingsPropertyHandles
-{
- HANDLE_PRINTSET_PREVIEW_LEFT_MARGIN,
- HANDLE_PRINTSET_PREVIEW_RIGHT_MARGIN,
- HANDLE_PRINTSET_PREVIEW_TOP_MARGIN,
- HANDLE_PRINTSET_PREVIEW_BOTTOM_MARGIN,
- HANDLE_PRINTSET_PREVIEW_HORIZONTAL_SPACING,
- HANDLE_PRINTSET_PREVIEW_VERTICAL_SPACING,
- HANDLE_PRINTSET_PREVIEW_NUM_ROWS,
- HANDLE_PRINTSET_PREVIEW_NUM_COLUMNS,
- HANDLE_PRINTSET_PREVIEW_LANDSCAPE
-};
-
-static ChainablePropertySetInfo * lcl_createPrintPreviewSettingsInfo()
-{
- static PropertyInfo aPrintPreviewSettingsMap_Impl[] =
- {
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintLeftMargin" ), HANDLE_PRINTSET_PREVIEW_LEFT_MARGIN, CPPUTYPE_INT32, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintRightMargin" ), HANDLE_PRINTSET_PREVIEW_RIGHT_MARGIN, CPPUTYPE_INT32, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintTopMargin" ), HANDLE_PRINTSET_PREVIEW_TOP_MARGIN, CPPUTYPE_INT32, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintBottomMargin" ),HANDLE_PRINTSET_PREVIEW_BOTTOM_MARGIN, CPPUTYPE_INT32, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintHorizontalSpacing" ),HANDLE_PRINTSET_PREVIEW_HORIZONTAL_SPACING, CPPUTYPE_INT32, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintVerticalSpacing" ), HANDLE_PRINTSET_PREVIEW_VERTICAL_SPACING, CPPUTYPE_INT32, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintNumRows" ), HANDLE_PRINTSET_PREVIEW_NUM_ROWS, CPPUTYPE_INT8, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintNumColumns" ), HANDLE_PRINTSET_PREVIEW_NUM_COLUMNS, CPPUTYPE_INT8, PropertyAttribute::MAYBEVOID, 0 },
- { RTL_CONSTASCII_STRINGPARAM ( "PreviewPrintLandscape" ), HANDLE_PRINTSET_PREVIEW_LANDSCAPE, CPPUTYPE_BOOLEAN, PropertyAttribute::MAYBEVOID, 0 },
- { 0, 0, 0, CPPUTYPE_UNKNOWN, 0, 0 }
- };
- return new ChainablePropertySetInfo ( aPrintPreviewSettingsMap_Impl );
-}
-SwXPrintPreviewSettings::SwXPrintPreviewSettings( SwDoc *pDoc)
-: ChainablePropertySet ( lcl_createPrintPreviewSettingsInfo (), &Application::GetSolarMutex() )
-, mbPreviewDataChanged( sal_False )
-, mpDoc( pDoc)
-{
-}
-/*-- 17.12.98 12:54:05---------------------------------------------------
-
- -----------------------------------------------------------------------*/
-SwXPrintPreviewSettings::~SwXPrintPreviewSettings()
- throw()
-{
-}
-
-Any SAL_CALL SwXPrintPreviewSettings::queryInterface( const Type& rType )
- throw(RuntimeException)
-{
- return ::cppu::queryInterface ( rType ,
- // OWeakObject interfaces
- dynamic_cast< XInterface* >( dynamic_cast< OWeakObject* >(this) ) ,
- dynamic_cast< XWeak* >( this ) ,
- // my own interfaces
- dynamic_cast< XServiceInfo* >( this ) ,
- dynamic_cast< XPropertySet* >( this ) ,
- dynamic_cast< XMultiPropertySet* >( this ) );
-}
-void SwXPrintPreviewSettings::acquire ()
- throw ()
-{
- OWeakObject::acquire();
-}
-void SwXPrintPreviewSettings::release ()
- throw ()
-{
- OWeakObject::release();
-}
-
-void SwXPrintPreviewSettings::_preSetValues ()
- throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException )
-{
- if ( mpDoc )
- {
- const SwPagePreViewPrtData *pConstPrtData = mpDoc->GetPreViewPrtData();
- mpPreViewData = new SwPagePreViewPrtData;
- if ( pConstPrtData )
- {
- mpPreViewData->SetLeftSpace ( pConstPrtData->GetLeftSpace() );
- mpPreViewData->SetRightSpace ( pConstPrtData->GetRightSpace() );
- mpPreViewData->SetTopSpace ( pConstPrtData->GetTopSpace() );
- mpPreViewData->SetBottomSpace ( pConstPrtData->GetBottomSpace() );
- mpPreViewData->SetHorzSpace ( pConstPrtData->GetHorzSpace() );
- mpPreViewData->SetVertSpace ( pConstPrtData->GetVertSpace() );
- mpPreViewData->SetRow ( pConstPrtData->GetRow() );
- mpPreViewData->SetCol ( pConstPrtData->GetCol() );
- mpPreViewData->SetLandscape ( pConstPrtData->GetLandscape() );
- }
- }
-}
-
-void SwXPrintPreviewSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, const uno::Any &rValue )
- throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException )
-{
- switch( rInfo.mnHandle )
- {
- case HANDLE_PRINTSET_PREVIEW_LEFT_MARGIN:
- {
- sal_Int32 nVal = 0;
- rValue >>= nVal;
- nVal = MM100_TO_TWIP( nVal );
- if ( nVal != static_cast < sal_Int32 > (mpPreViewData->GetLeftSpace() ) )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetLeftSpace( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_RIGHT_MARGIN:
- {
- sal_Int32 nVal = 0;
- rValue >>= nVal;
- nVal = MM100_TO_TWIP( nVal );
- if ( nVal != static_cast < sal_Int32 > (mpPreViewData->GetRightSpace() ) )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetRightSpace( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_TOP_MARGIN:
- {
- sal_Int32 nVal = 0;
- rValue >>= nVal;
- nVal = MM100_TO_TWIP( nVal );
- if ( nVal != static_cast < sal_Int32 > ( mpPreViewData->GetTopSpace() ) )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetTopSpace( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_BOTTOM_MARGIN:
- {
- sal_Int32 nVal = 0;
- rValue >>= nVal;
- nVal = MM100_TO_TWIP( nVal );
- if ( nVal != static_cast < sal_Int32 > ( mpPreViewData->GetBottomSpace() ) )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetBottomSpace( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_HORIZONTAL_SPACING:
- {
- sal_Int32 nVal = 0;
- rValue >>= nVal;
- nVal = MM100_TO_TWIP( nVal );
- if ( nVal != static_cast < sal_Int32 > ( mpPreViewData->GetHorzSpace() ) )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetHorzSpace( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_VERTICAL_SPACING:
- {
- sal_Int32 nVal = 0;
- rValue >>= nVal;
- nVal = MM100_TO_TWIP( nVal );
- if ( nVal != static_cast < sal_Int32 > ( mpPreViewData->GetVertSpace() ) )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetVertSpace( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_NUM_ROWS:
- {
- sal_Int8 nVal = 0;
- rValue >>= nVal;
- if ( nVal != mpPreViewData->GetRow() )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetRow( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_NUM_COLUMNS:
- {
- sal_Int8 nVal = 0;
- rValue >>= nVal;
- if ( nVal != mpPreViewData->GetCol() )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetCol( nVal );
- }
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_LANDSCAPE:
- {
- sal_Bool bVal = *(sal_Bool*)rValue.getValue();
- if ( bVal != mpPreViewData->GetLandscape() )
- {
- mbPreviewDataChanged = sal_True;
- mpPreViewData->SetLandscape ( bVal );
- }
- }
- break;
- default:
- throw UnknownPropertyException();
- }
-}
-void SwXPrintPreviewSettings::_postSetValues ()
- throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException )
-{
- if ( mbPreviewDataChanged )
- {
- mpDoc->SetPreViewPrtData ( mpPreViewData );
- mbPreviewDataChanged = sal_False;
- }
- delete mpPreViewData;
- mpPreViewData = NULL;
-}
-
-void SwXPrintPreviewSettings::_preGetValues ()
- throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException )
-{
- if (mpDoc)
- mpConstPreViewData = mpDoc->GetPreViewPrtData();
-}
-void SwXPrintPreviewSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, uno::Any & rValue )
- throw(UnknownPropertyException, WrappedTargetException )
-{
- sal_Bool bBool = TRUE;
- sal_Bool bBoolVal;
- switch( rInfo.mnHandle )
- {
- case HANDLE_PRINTSET_PREVIEW_LEFT_MARGIN:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int32 > ( TWIP_TO_MM100_UNSIGNED( mpConstPreViewData->GetLeftSpace() ) );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_RIGHT_MARGIN:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int32 > ( TWIP_TO_MM100_UNSIGNED( mpConstPreViewData->GetRightSpace() ) );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_TOP_MARGIN:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int32 > ( TWIP_TO_MM100_UNSIGNED( mpConstPreViewData->GetTopSpace() ) );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_BOTTOM_MARGIN:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int32 > ( TWIP_TO_MM100_UNSIGNED( mpConstPreViewData->GetBottomSpace() ) );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_HORIZONTAL_SPACING:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int32 > ( TWIP_TO_MM100_UNSIGNED( mpConstPreViewData->GetHorzSpace() ) );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_VERTICAL_SPACING:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int32 > ( TWIP_TO_MM100_UNSIGNED( mpConstPreViewData->GetVertSpace() ) );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_NUM_ROWS:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int8 > ( mpConstPreViewData->GetRow() );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_NUM_COLUMNS:
- {
- bBool = FALSE;
- if ( mpConstPreViewData )
- rValue <<= static_cast < sal_Int8 > ( mpConstPreViewData->GetCol() );
- }
- break;
- case HANDLE_PRINTSET_PREVIEW_LANDSCAPE:
- {
- if (mpConstPreViewData)
- bBoolVal = mpConstPreViewData->GetLandscape();
- else
- bBool = FALSE;
- }
- break;
- default:
- throw UnknownPropertyException();
- }
- if(bBool)
- rValue.setValue(&bBoolVal, ::getBooleanCppuType());
-}
-void SwXPrintPreviewSettings::_postGetValues ()
- throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException )
-{
- mpConstPreViewData = NULL;
-}
-/* -----------------------------06.04.00 11:02--------------------------------
-
- ---------------------------------------------------------------------------*/
-OUString SwXPrintPreviewSettings::getImplementationName(void) throw( RuntimeException )
-{
- return OUString( RTL_CONSTASCII_USTRINGPARAM ( "SwXPrintPreviewSettings" ) );
-}
-/* -----------------------------06.04.00 11:02--------------------------------
-
- ---------------------------------------------------------------------------*/
-sal_Bool SwXPrintPreviewSettings::supportsService(const OUString& rServiceName) throw( RuntimeException )
-{
- return rServiceName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "com.sun.star.text.PrintPreviewSettings") );
-}
-/* -----------------------------06.04.00 11:02--------------------------------
-
- ---------------------------------------------------------------------------*/
-Sequence< OUString > SwXPrintPreviewSettings::getSupportedServiceNames(void) throw( RuntimeException )
-{
- Sequence< OUString > aRet(1);
- OUString* pArray = aRet.getArray();
- pArray[0] = OUString( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.text.PrintPreviewSettings" ) );
- return aRet;
-}
-
diff --git a/sw/source/ui/uno/SwXPrintPreviewSettings.hxx b/sw/source/ui/uno/SwXPrintPreviewSettings.hxx
deleted file mode 100644
index 2b908c453043..000000000000
--- a/sw/source/ui/uno/SwXPrintPreviewSettings.hxx
+++ /dev/null
@@ -1,89 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#ifndef _SW_XPRINTPREVIEWSETTINGS_HXX_
-#define _SW_XPRINTPREVIEWSETTINGS_HXX_
-
-#ifdef PRECOMPILED
-#include "ui_pch.hxx"
-#endif
-#include <comphelper/ChainablePropertySet.hxx>
-#ifndef _COM_SUN_STAR_TEXT_XTEXTDOCUMENT_HPP
-#include <com/sun/star/text/XTextDocument.hpp>
-#endif
-#include <cppuhelper/weak.hxx>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-
-class SwDoc;
-class SwPagePreViewPrtData;
-
-class SwXPrintPreviewSettings :public comphelper::ChainablePropertySet,
- public cppu::OWeakObject,
- public com::sun::star::lang::XServiceInfo
-{
- friend class SwXDocumentSettings;
-protected:
- sal_Bool mbPreviewDataChanged;
- SwDoc* mpDoc;
- SwPagePreViewPrtData *mpPreViewData;
- const SwPagePreViewPrtData *mpConstPreViewData;
-
- virtual void _preSetValues ()
- throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
- virtual void _setSingleValue( const comphelper::PropertyInfo & rInfo, const ::com::sun::star::uno::Any &rValue )
- throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
- virtual void _postSetValues ()
- throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
-
- virtual void _preGetValues ()
- throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
- virtual void _getSingleValue( const comphelper::PropertyInfo & rInfo, ::com::sun::star::uno::Any & rValue )
- throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException );
- virtual void _postGetValues ()
- throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
- virtual ~SwXPrintPreviewSettings()
- throw();
-public:
- SwXPrintPreviewSettings(SwDoc *pDoc);
-
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
- throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire( )
- throw ();
- virtual void SAL_CALL release( )
- throw ();
-
- //XServiceInfo
- virtual rtl::OUString SAL_CALL getImplementationName(void)
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName)
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void)
- throw( ::com::sun::star::uno::RuntimeException );
-};
-#endif
diff --git a/sw/source/ui/uno/detreg.cxx b/sw/source/ui/uno/detreg.cxx
index 8c5e5f0634f8..65f4e6379a17 100644
--- a/sw/source/ui/uno/detreg.cxx
+++ b/sw/source/ui/uno/detreg.cxx
@@ -43,30 +43,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey )
-{
- Reference< ::registry::XRegistryKey >
- xKey( reinterpret_cast< ::registry::XRegistryKey* >( pRegistryKey ) ) ;
-
- OUString aDelimiter( RTL_CONSTASCII_USTRINGPARAM("/") );
- OUString aUnoServices( RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") );
-
- // Eigentliche Implementierung und ihre Services registrieren
- sal_Int32 i;
- Reference< ::registry::XRegistryKey > xNewKey;
-
- xNewKey = xKey->createKey( aDelimiter + SwFilterDetect::impl_getStaticImplementationName() +
- aUnoServices );
-
- Sequence< OUString > aServices = SwFilterDetect::impl_getStaticSupportedServiceNames();
- for(i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- return sal_True;
-}
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/sw/source/ui/uno/makefile.mk b/sw/source/ui/uno/makefile.mk
index 0023fd52f55c..ac4b6dde697b 100644
--- a/sw/source/ui/uno/makefile.mk
+++ b/sw/source/ui/uno/makefile.mk
@@ -55,7 +55,6 @@ SLO1FILES = \
$(SLO)$/dlelstnr.obj \
$(SLO)$/unofreg.obj \
$(SLO)$/SwXDocumentSettings.obj \
- $(SLO)$/SwXPrintPreviewSettings.obj \
$(SLO)$/SwXFilterOptions.obj\
$(SLO)$/RefreshListenerContainer.obj \
$(SLO)$/unomodule.obj \
diff --git a/sw/source/ui/uno/unofreg.cxx b/sw/source/ui/uno/unofreg.cxx
index a322b0e677f9..a76aaa3cd0e5 100644
--- a/sw/source/ui/uno/unofreg.cxx
+++ b/sw/source/ui/uno/unofreg.cxx
@@ -154,99 +154,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-static void lcl_uno_writeInfo(
- registry::XRegistryKey * pRegistryKey,
- const OUString& rImplementationName,
- const uno::Sequence< OUString >& rServices )
-{
- uno::Reference< registry::XRegistryKey > xNewKey(
- pRegistryKey->createKey(
- OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) + rImplementationName + OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) ) );
-
- for( sal_Int32 i = 0; i < rServices.getLength(); i++ )
- xNewKey->createKey( rServices.getConstArray()[i]);
-}
-
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/,
- void * pRegistryKey )
-{
- if( pRegistryKey )
- {
- try
- {
- registry::XRegistryKey *pKey =
- reinterpret_cast< registry::XRegistryKey * >( pRegistryKey );
-
-
- // xml filter
- lcl_uno_writeInfo( pKey, SwXMLImport_getImplementationName(),
- SwXMLImport_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLImportStyles_getImplementationName(),
- SwXMLImportStyles_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey,SwXMLImportContent_getImplementationName(),
- SwXMLImportContent_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLImportMeta_getImplementationName(),
- SwXMLImportMeta_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLImportSettings_getImplementationName(),
- SwXMLImportSettings_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportOOO_getImplementationName(),
- SwXMLExportOOO_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportStylesOOO_getImplementationName(),
- SwXMLExportStylesOOO_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey,SwXMLExportContentOOO_getImplementationName(),
- SwXMLExportContentOOO_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportMetaOOO_getImplementationName(),
- SwXMLExportMetaOOO_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportSettingsOOO_getImplementationName(),
- SwXMLExportSettingsOOO_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExport_getImplementationName(),
- SwXMLExport_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportStyles_getImplementationName(),
- SwXMLExportStyles_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey,SwXMLExportContent_getImplementationName(),
- SwXMLExportContent_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportMeta_getImplementationName(),
- SwXMLExportMeta_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMLExportSettings_getImplementationName(),
- SwXMLExportSettings_getSupportedServiceNames() );
- //API objects
- lcl_uno_writeInfo( pKey, SwXAutoTextContainer_getImplementationName(),
- SwXAutoTextContainer_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXModule_getImplementationName(),
- SwXModule_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwXMailMerge_getImplementationName(),
- SwXMailMerge_getSupportedServiceNames() );
- //Filter options
- lcl_uno_writeInfo( pKey, SwXFilterOptions::getImplementationName_Static(),
- SwXFilterOptions::getSupportedServiceNames_Static() );
-
- // documents
- lcl_uno_writeInfo( pKey, SwTextDocument_getImplementationName(),
- SwTextDocument_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey, SwWebDocument_getImplementationName(),
- SwWebDocument_getSupportedServiceNames() );
- lcl_uno_writeInfo( pKey,SwGlobalDocument_getImplementationName(),
- SwGlobalDocument_getSupportedServiceNames() );
-
- // module
- lcl_uno_writeInfo( pKey, SwUnoModule_getImplementationName(),
- SwUnoModule_getSupportedServiceNames() );
- // --> OD 2007-05-24 #i73788#
- lcl_uno_writeInfo( pKey,
- comp_FinalThreadManager::_getImplementationName(),
- comp_FinalThreadManager::_getSupportedServiceNames() );
- // <--
-
- }
- catch (registry::InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_True;
-}
-
static ::cppu::ImplementationEntry const entries[] = {
{ &comp_FinalThreadManager::_create,
&comp_FinalThreadManager::_getImplementationName,
diff --git a/sw/source/ui/uno/unotxdoc.cxx b/sw/source/ui/uno/unotxdoc.cxx
index 0579d180a04c..2bacca54776d 100644
--- a/sw/source/ui/uno/unotxdoc.cxx
+++ b/sw/source/ui/uno/unotxdoc.cxx
@@ -82,6 +82,7 @@
#include <svx/xmleohlp.hxx>
#include <globals.hrc>
#include <unomid.h>
+#include <unotools/printwarningoptions.hxx>
#include <com/sun/star/util/SearchOptions.hpp>
#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
@@ -107,7 +108,6 @@
#include <swcont.hxx>
#include <unodefaults.hxx>
#include <SwXDocumentSettings.hxx>
-#include <SwXPrintPreviewSettings.hxx>
#include <doc.hxx>
#include <editeng/forbiddencharacterstable.hxx>
#include <svl/zforlist.hxx>
@@ -1809,9 +1809,7 @@ Reference< XInterface > SwXTextDocument::createInstance(const OUString& rServic
}
else if (sCategory == C2U ("text") )
{
- if( 0 == rServiceName.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM("com.sun.star.text.PrintPreviewSettings") ) )
- xRet = Reference < XInterface > ( *new SwXPrintPreviewSettings ( pDocShell->GetDoc() ) );
- else if( 0 == rServiceName.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM("com.sun.star.text.DocumentSettings") ) )
+ if( 0 == rServiceName.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM("com.sun.star.text.DocumentSettings") ) )
xRet = Reference < XInterface > ( *new SwXDocumentSettings ( this ) );
}
else if (sCategory == C2U ("chart2") )
@@ -2732,10 +2730,21 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
// since printing now also use the API for PDF export this option
// should be set for printing as well ...
pWrtShell->SetPDFExportOption( sal_True );
+ bool bOrigStatus = pRenderDocShell->IsEnableSetModified();
+ // check configuration: shall update of printing information in DocInfo set the document to "modified"?
+ bool bStateChanged = false;
+ if ( bOrigStatus && !SvtPrintWarningOptions().IsModifyDocumentOnPrintingAllowed() )
+ {
+ pRenderDocShell->EnableSetModified( sal_False );
+ bStateChanged = true;
+ }
+
// --> FME 2005-05-23 #122919# Force field update before PDF export:
pWrtShell->ViewShell::UpdateFlds(TRUE);
// <--
+ if( bStateChanged )
+ pRenderDocShell->EnableSetModified( sal_True );
// there is some redundancy between those two function calls, but right now
// there is no time to sort this out.
@@ -2844,7 +2853,14 @@ uno::Sequence< beans::PropertyValue > SAL_CALL SwXTextDocument::getRenderer(
uno::Sequence< beans::PropertyValue > aRenderer;
if (m_pRenderData)
{
- const USHORT nPage = nRenderer + 1;
+ // --> TL, OD 2010-09-07 #i114210#
+ // determine the correct page number from the renderer index
+ // --> OD 2010-10-01 #i114875
+ // consider brochure print
+ const USHORT nPage = bPrintProspect
+ ? nRenderer + 1
+ : m_pRenderData->GetPagesToPrint()[ nRenderer ];
+ // <--
// get paper tray to use ...
sal_Int32 nPrinterPaperTray = -1;
diff --git a/sw/source/ui/vba/service.cxx b/sw/source/ui/vba/service.cxx
index 9f9cbff204dd..d7779fc653be 100644
--- a/sw/source/ui/vba/service.cxx
+++ b/sw/source/ui/vba/service.cxx
@@ -66,16 +66,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
- {
- OSL_TRACE("In component_writeInfo");
-
- // Component registration
- return component_writeInfoHelper( pServiceManager, pRegistryKey,
- globals::serviceDecl, document::serviceDecl, wrapformat::serviceDecl, vbaeventshelper::serviceDecl );
- }
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
registry::XRegistryKey * pRegistryKey )
diff --git a/sw/util/makefile.mk b/sw/util/makefile.mk
index ce1419b34065..6fa4bd5432e2 100644
--- a/sw/util/makefile.mk
+++ b/sw/util/makefile.mk
@@ -374,3 +374,23 @@ SHL5LIBS=$(SLB)$/$(TARGET_VBA).lib
.ENDIF # .IF "$(ENABLE_VBA)" == "YES"
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/sw.component $(MISC)/swd.component $(MISC)/vbaswobj.component
+
+$(MISC)/sw.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ sw.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt sw.component
+
+$(MISC)/swd.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ swd.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL2TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt swd.component
+
+$(MISC)/vbaswobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ vbaswobj.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL5TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt vbaswobj.component
diff --git a/sw/util/sw.component b/sw/util/sw.component
new file mode 100644
index 000000000000..e76cec637d33
--- /dev/null
+++ b/sw/util/sw.component
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="SwXAutoTextContainer">
+ <service name="com.sun.star.text.AutoTextContainer"/>
+ </implementation>
+ <implementation name="SwXMailMerge">
+ <service name="com.sun.star.sdb.DataAccessDescriptor"/>
+ <service name="com.sun.star.text.MailMerge"/>
+ </implementation>
+ <implementation name="SwXModule">
+ <service name="com.sun.star.text.GlobalSettings"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.FilterOptionsDialog">
+ <service name="com.sun.star.ui.dialogs.FilterOptionsDialog"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.GlobalDocument">
+ <service name="com.sun.star.text.GlobalDocument"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.TextDocument">
+ <service name="com.sun.star.text.TextDocument"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.WebDocument">
+ <service name="com.sun.star.text.WebDocument"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.WriterModule">
+ <service name="com.sun.star.text.ModuleDispatcher"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLContentExporter">
+ <service name="com.sun.star.comp.Writer.XMLContentExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLExporter">
+ <service name="com.sun.star.comp.Writer.XMLExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLMetaExporter">
+ <service name="com.sun.star.comp.Writer.XMLMetaExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisContentExporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisContentExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisContentImporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisContentImporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisExporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisImporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisImporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisMetaExporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisMetaExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisMetaImporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisMetaImporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisSettingsExporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisSettingsExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisSettingsImporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisSettingsImporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisStylesExporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisStylesExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLOasisStylesImporter">
+ <service name="com.sun.star.comp.Writer.XMLOasisStylesImporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLSettingsExporter">
+ <service name="com.sun.star.comp.Writer.XMLSettingsExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.Writer.XMLStylesExporter">
+ <service name="com.sun.star.comp.Writer.XMLStylesExporter"/>
+ </implementation>
+ <implementation name="com.sun.star.util.comp.FinalThreadManager">
+ <service name="com.sun.star.util.JobManager"/>
+ </implementation>
+</component>
diff --git a/sw/util/swd.component b/sw/util/swd.component
new file mode 100644
index 000000000000..c89c007ec30a
--- /dev/null
+++ b/sw/util/swd.component
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.writer.FormatDetector">
+ <service name="com.sun.star.frame.ExtendedTypeDetection"/>
+ <service name="com.sun.star.text.FormatDetector"/>
+ <service name="com.sun.star.text.W4WFormatDetector"/>
+ </implementation>
+</component>
diff --git a/sw/util/vbaswobj.component b/sw/util/vbaswobj.component
new file mode 100644
index 000000000000..e6c6fe4a4149
--- /dev/null
+++ b/sw/util/vbaswobj.component
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="SwVbaDocument">
+ <service name="ooo.vba.word.Document"/>
+ </implementation>
+ <implementation name="SwVbaEventsHelper">
+ <service name="com.sun.star.document.vba.VBATextEventProcessor"/>
+ </implementation>
+ <implementation name="SwVbaGlobals">
+ <service name="ooo.vba.word.Globals"/>
+ </implementation>
+ <implementation name="SwVbaWrapFormat">
+ <service name="ooo.vba.word.WrapFormat"/>
+ </implementation>
+</component>