summaryrefslogtreecommitdiff
path: root/smoketestoo_native/data/Test_10er.xml
diff options
context:
space:
mode:
Diffstat (limited to 'smoketestoo_native/data/Test_10er.xml')
-rw-r--r--smoketestoo_native/data/Test_10er.xml921
1 files changed, 921 insertions, 0 deletions
diff --git a/smoketestoo_native/data/Test_10er.xml b/smoketestoo_native/data/Test_10er.xml
new file mode 100644
index 000000000000..636dc2129120
--- /dev/null
+++ b/smoketestoo_native/data/Test_10er.xml
@@ -0,0 +1,921 @@
+<?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.
+*
+**********************************************************************-->
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Test_10er" script:language="StarBasic">REM 10er Test
+
+const sSWLogFileName = &quot;swlog.dat&quot;, sSCLogFileName = &quot;sclog.dat&quot;
+const sSDLogFileName = &quot;sdlog.dat&quot;, sSMathLogFileName = &quot;smalog.dat&quot;
+const sSImDLogFileName = &quot;simlog.dat&quot;, sSChartLogFileName = &quot;schlog.dat&quot;
+const sSHptLogFileName = &quot;shptlog.dat&quot;, sSMessageLogFileName = &quot;smeslog.dat&quot;
+const sSDrawLogFileName = &quot;sdrwlog.dat&quot;, sJavaLogFileName = &quot;javalog.dat&quot;
+const sSDBLogFileName = &quot;dblog.dat&quot;, sExtLogFileName = &quot;extlog.dat&quot;
+const sLogFileName = &quot;log.dat&quot;
+const cTempFileName = &quot;ttt&quot;
+
+const cMessageSaveOpen8Doc = &quot;Save/Open open Documents (8.0)&quot;
+const cMessageSaveOpenXMLDoc = &quot;Save/Open Document XML (6/7)&quot;
+const cMessageSaveOpen50Doc = &quot;Save/Open Document 5.0&quot;
+const cMessageNewDoc = &quot;New Document&quot;
+const cMessageCloseDoc = &quot;Close Document&quot;
+const cMessageCutObj = &quot;Cut Object&quot;
+const cMessagePasteObj = &quot;Paste Object&quot;
+
+Global sWorkPath$
+Global sWorkPathURL$
+Global FileChannel%
+Global MainFileChannel%
+
+Sub Main
+ call TestAllDocs()
+end Sub
+
+Sub DeleteAllSavedFiles()
+ Dim sFileName as String
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmWriter)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmCalc)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmImpress)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmDraw)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmHyperText)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmWriter or cFltXML)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmCalc or cFltXML)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmImpress or cFltXML)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmDraw or cFltXML)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmWriter or cFlt50)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmCalc or cFlt50)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmImpress or cFlt50)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+ sFileName = sWorkPath+cTempFileName+&quot;.&quot;+GetDocEndings(frmDraw or cFlt50)
+ If FileExists (sFileName) then
+ Kill (sFileName)
+ End If
+End Sub
+
+Sub DeleteAllLogFiles()
+ If FileExists (sWorkPath+sLogFileName) then
+ Kill (sWorkPath+sLogFileName)
+ End If
+ If FileExists (sWorkPath+sSWLogFileName) then
+ Kill (sWorkPath+sSWLogFileName)
+ End If
+ If FileExists (sWorkPath+sSCLogFileName) then
+ Kill (sWorkPath+sSCLogFileName)
+ End If
+ If FileExists (sWorkPath+sSDLogFileName) then
+ Kill (sWorkPath+sSDLogFileName)
+ End If
+ If FileExists (sWorkPath+sSMathLogFileName) then
+ Kill (sWorkPath+sSMathLogFileName)
+ End If
+ If FileExists (sWorkPath+sSImDLogFileName) then
+ Kill (sWorkPath+sSImDLogFileName)
+ End If
+ If FileExists (sWorkPath+sSChartLogFileName) then
+ Kill (sWorkPath+sSChartLogFileName)
+ End If
+ If FileExists (sWorkPath+sSHptLogFileName) then
+ Kill (sWorkPath+sSHptLogFileName)
+ End If
+ If FileExists (sWorkPath+sSMessageLogFileName) then
+ Kill (sWorkPath+sSMessageLogFileName)
+ End If
+ If FileExists (sWorkPath+sSDrawLogFileName) then
+ Kill (sWorkPath+sSDrawLogFileName)
+ End If
+ If FileExists (sWorkPath+sJavaLogFileName) then
+ Kill (sWorkPath+sJavaLogFileName)
+ End If
+ If FileExists (sWorkPath+sSDBLogFileName) then
+ Kill (sWorkPath+sSDBLogFileName)
+ End If
+ If FileExists (sWorkPath+sExtLogFileName) then
+ Kill (sWorkPath+sExtLogFileName)
+ End If
+end Sub
+
+Function OpenLogDat (sFileName as String) as Integer
+ Dim LocaleFileChannel%
+ If FileExists (sWorkPath+sFileName) then
+ Kill (sWorkPath+sFileName)
+ End If
+ LocaleFileChannel% = Freefile
+ Open sWorkPath+sFileName For Output As LocaleFileChannel%
+ OpenLogDat = LocaleFileChannel%
+end Function
+
+Function GetWorkPath as string
+ sTemp = &quot;$(userpath)/temp/&quot;
+ GetWorkPath = CreateUnoService(&quot;com.sun.star.config.SpecialConfigManager&quot;).SubstituteVariables(sTemp)
+End Function
+
+Function GetWorkURL as string
+ sTemp = &quot;$(userurl)/temp/&quot;
+ GetWorkURL = CreateUnoService(&quot;com.sun.star.config.SpecialConfigManager&quot;).SubstituteVariables(sTemp)
+End Function
+
+Function GetSystem (sTmpWorkPath as string) as string
+ GetSystem = &quot;&quot;
+ if InStr (sTmpWorkPath, &quot;:&quot;) then
+ GetSystem = &quot;windows&quot;
+ else
+ GetSystem = &quot;unix&quot;
+ End If
+end Function
+
+Function ConvertPathToWin (sTmpWorkPath as string) as string
+ for i%=1 to Len(sTmpWorkPath)
+ sTemp = Mid (sTmpWorkPath, i%, 1)
+ if sTemp = &quot;/&quot; then
+ sTmpWorkPath = Left (sTmpWorkPath, i%-1) + &quot;\&quot; + Right (sTmpWorkPath, Len(sTmpWorkPath)-i%)
+ else
+ if sTemp = &quot;|&quot; then
+ sTmpWorkPath = Left (sTmpWorkPath, i%-1) + &quot;:&quot; + Right (sTmpWorkPath, Len(sTmpWorkPath)-i%)
+ end If
+ end If
+ next i%
+ ConvertPathToWin = sTmpWorkPath
+end Function
+
+Sub TestAllDocs()
+DIM sDocURL as String, sDocPath as String
+DIM nStrPos as Long
+
+ sWorkPath = GetWorkPath
+ sWorkPathURL = GetWorkURL
+
+ if GetSystem (sWorkPath) = &quot;windows&quot; then
+ sWorkPath = ConvertPathToWin (sWorkPath)
+ end if
+
+ &apos;search ExtensionURL
+ sDocURL = gOutPutDoc.URL
+ CompatibilityMode(true)
+ nStrPos = InStrRev (sDocURL, &quot;/&quot; )
+ CompatibilityMode(false)
+ sExtensionURL = Left (sDocURL, nStrPos)
+
+ call DeleteAllSavedFiles()
+ call DeleteAllLogFiles()
+ MainFileChannel = OpenLogDat (sLogFileName)
+ call WriteTestSequence (MainFileChannel)
+ if bMakeWriterTest then
+ call MakeDocTest (frmWriter)
+ end if
+ if bMakeCalcTest then
+ call MakeDocTest (frmCalc)
+ end if
+ if bMakeImpressTest then
+ call MakeDocTest (frmImpress)
+ end if
+ if bMakeDrawTest then
+ call MakeDocTest (frmDraw)
+ end if
+ if bMakeHTMLTest then
+ call MakeDocTest (frmHyperText)
+ end if
+ if bMakeChartTest then
+ call MakeChartTest (frmChart)
+ end if
+ if bMakeMathTest then
+ call MakeNewDoc (frmMath)
+ end if
+ if bMakeJavaTest then
+ call TestJava (frmJava)
+ end if
+ if bMakeDBTest then
+ call Test_DB.TestDB (frmDataBase)
+ end if
+ if bMakeExtensionTest then
+ call Test_Ext.TestExtensions (frmExtension)
+ end if
+
+ Close #MainFileChannel
+end Sub
+
+Sub WriteTestSequence (FileChannel as integer)
+ Print #FileChannel, &quot;Sequence of testing&quot;
+
+ if bMakeWriterTest then
+ WriteTests (&quot;writer : &quot;, true, FileChannel)
+ end if
+ if bMakeCalcTest then
+ WriteTests (&quot;calc : &quot;, true, FileChannel)
+ end if
+ if bMakeImpressTest then
+ WriteTests (&quot;impress : &quot;, true, FileChannel)
+ end if
+ if bMakeDrawTest then
+ WriteTests (&quot;draw : &quot;, true, FileChannel)
+ end if
+ if bMakeHTMLTest then
+ WriteTests (&quot;HTML : &quot;, true, FileChannel)
+ end if
+ if bMakeChartTest then
+ WriteTests (&quot;chart : &quot;, false, FileChannel)
+ end if
+ if bMakeMathTest then
+ WriteTests (&quot;math : &quot;, false, FileChannel)
+ end if
+ if bMakeJavaTest then
+ WriteTests (&quot;Java : &quot;, false, FileChannel)
+ end if
+ if bMakeDBTest then
+ WriteDBTests (&quot;Database : &quot;, FileChannel)
+ end if
+ if bMakeExtensionTest then
+ WriteExtensionTests (&quot;Extension : &quot;, FileChannel)
+ end if
+
+ Print #FileChannel
+end Sub
+
+Sub WriteTests (sText as string, bTestAll as boolean, nFileChannel as integer)
+ Dim sWriteStr as string
+
+ sWriteStr = sText
+ sWriteStr = sWriteStr + &quot;new&quot;
+ if bTestAll then
+ if bMakeCutTest then
+ sWriteStr = sWriteStr + &quot;, cut&quot;
+ end if
+ if bMakePasteTest then
+ sWriteStr = sWriteStr + &quot;, paste&quot;
+ end if
+ if bMakeSaveOpen8Test then
+ sWriteStr = sWriteStr + &quot;, save 8.0&quot;
+ end if
+ if bMakeSaveOpenXMLTest then
+ sWriteStr = sWriteStr + &quot;, save XML&quot;
+ end if
+ if bMakeSaveOpen50Test then
+ sWriteStr = sWriteStr + &quot;, save 5.0&quot;
+ end if
+ if bMakeSaveOpen8Test then
+ sWriteStr = sWriteStr + &quot;, open 8.0&quot;
+ end if
+ if bMakeSaveOpenXMLTest then
+ sWriteStr = sWriteStr + &quot;, open XML&quot;
+ end if
+ if bMakeSaveOpen50Test then
+ sWriteStr = sWriteStr + &quot;, open 5.0&quot;
+ end if
+ end if
+
+ sWriteStr = sWriteStr + &quot;, close&quot;
+
+ Print #nFileChannel, sWriteStr
+end Sub
+
+Sub WriteDBTests (sText as string, nFileChannel as integer)
+ Dim sWriteStr as string
+
+ sWriteStr = sText
+ sWriteStr = sWriteStr + &quot;open / services&quot;
+ sWriteStr = sWriteStr + &quot;, insert&quot;
+ sWriteStr = sWriteStr + &quot;, delete&quot;
+ sWriteStr = sWriteStr + &quot;, seek&quot;
+ sWriteStr = sWriteStr + &quot;, close&quot;
+
+ Print #nFileChannel, sWriteStr
+end Sub
+
+Sub WriteExtensionTests (sText as string, nFileChannel as integer)
+ Dim sWriteStr as string
+
+ sWriteStr = sText
+ sWriteStr = sWriteStr + &quot;services&quot;
+ sWriteStr = sWriteStr + &quot;, install&quot;
+ sWriteStr = sWriteStr + &quot;, uninstall&quot;
+
+ Print #nFileChannel, sWriteStr
+end Sub
+
+Sub MakeDocTest (FilterType as Integer)
+ Dim oDoc as Object
+ Dim sFileNameXML$, sFileName50$, sFileName8$
+ Dim bError as Boolean
+ Dim nCurrentAction as Integer
+
+ On Local Error GoTo DOCTESTERROR
+ nCurrentAction = cLogfileFailed
+ FileChannel% = OpenLogDat (GetLogFileName(FilterType))
+ nCurrentAction = cDocNew
+ oDoc = LoadDoc (&quot;private:factory/&quot; + GetDocFilter(FilterType or cFltNewDoc))
+ LogState (not IsNull (oDoc), GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, FileChannel)
+ LogState (not IsNull (oDoc), GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, MainFileChannel)
+ SetStatus (FilterType, cDocNew, not IsNull (oDoc))
+ if not IsNull (oDoc) then
+ nCurrentAction = cDocCut
+ call CutAndPaste(FilterType, oDoc)
+&apos; bError = oDoc.CurrentController.frame.close
+ nCurrentAction = cDocSaveOpen8
+ if bMakeSaveOpen8Test and IsFilterAvailable (FilterType or cFlt8) then
+ sFileName8 = sWorkPathURL+cTempFileName+&quot;.&quot;+GetDocEndings(FilterType or cFlt8)
+ SaveDoc (sFileName8, oDoc, GetDocFilter(FilterType or cFlt8))
+ end if
+ nCurrentAction = cDocSaveOpenXML
+ if bMakeSaveOpenXMLTest and IsFilterAvailable (FilterType or cFltXML) then
+ sFileNameXML = sWorkPathURL+cTempFileName+&quot;.&quot;+GetDocEndings(FilterType or cFltXML)
+ SaveDoc (sFileNameXML, oDoc, GetDocFilter(FilterType or cFltXML))
+ end if
+ nCurrentAction = cDocSaveOpen50
+ if bMakeSaveOpen50Test and IsFilterAvailable (FilterType or cFlt50) then
+ sFileName50 = sWorkPathURL+cTempFileName+&quot;.&quot;+GetDocEndings(FilterType or cFlt50)
+ SaveDoc (sFileName50, oDoc, GetDocFilter(FilterType or cFlt50))
+ end if
+&apos; oDoc.dispose
+ nCurrentAction = cDocClose
+ oDoc.close (true)
+&apos; bError = true &apos; nur zum ¦bergang, weil bError = oDoc.CurrentController.frame.close nicht geht
+&apos; LogState (bError, GetDocFilter(FilterType)+&quot; &quot;+ cMessageCloseDoc, FileChannel)
+&apos; LogState (bError, GetDocFilter(FilterType)+&quot; &quot;+ cMessageCloseDoc, MainFileChannel)
+&apos; SetStatus (FilterType, cDocClose, bError)
+ nCurrentAction = cDocSaveOpen8
+ if bMakeSaveOpen8Test and IsFilterAvailable (FilterType or cFlt8) then
+ oDoc = LoadDoc (sFileName8)
+
+&apos; oDoc = Documents.open(sFileName)
+ LogState (not IsNull (oDoc),GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageSaveOpen8Doc, FileChannel)
+ LogState (not IsNull (oDoc),GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageSaveOpen8Doc, MainFileChannel)
+ SetStatus (FilterType, cDocSaveOpen8, not IsNull (oDoc))
+
+ if not IsNull (oDoc) then
+&apos; oDoc.dispose
+ nCurrentAction = cDocClose
+ oDoc.close (true)
+ end If
+ end if
+
+ nCurrentAction = cDocSaveOpenXML
+ if bMakeSaveOpenXMLTest and IsFilterAvailable (FilterType or cFltXML) then
+ oDoc = LoadDoc (sFileNameXML)
+
+&apos; oDoc = Documents.open(sFileName)
+ LogState (not IsNull (oDoc),GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageSaveOpenXMLDoc, FileChannel)
+ LogState (not IsNull (oDoc),GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageSaveOpenXMLDoc, MainFileChannel)
+ SetStatus (FilterType, cDocSaveOpenXML, not IsNull (oDoc))
+
+ if not IsNull (oDoc) then
+&apos; oDoc.dispose
+ nCurrentAction = cDocClose
+ oDoc.close (true)
+ end If
+ end if
+
+ nCurrentAction = cDocSaveOpen50
+ if bMakeSaveOpen50Test and IsFilterAvailable (FilterType or cFlt50) then
+ oDoc = LoadDoc (sFileName50)
+
+&apos; oDoc = Documents.open(sFileName)
+ LogState (not IsNull (oDoc),GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageSaveOpen50Doc, FileChannel)
+ LogState (not IsNull (oDoc),GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageSaveOpen50Doc, MainFileChannel)
+ SetStatus (FilterType, cDocSaveOpen50, not IsNull (oDoc))
+
+ if not IsNull (oDoc) then
+&apos; oDoc.dispose
+ nCurrentAction = cDocClose
+ oDoc.close (true)
+ end If
+ end if
+ end If
+ Print #FileChannel, &quot;---&quot;
+ Close #FileChannel%
+ Exit Sub &apos; Without error
+
+ DOCTESTERROR:
+ If (nCurrentAction = cLogfileFailed) then
+ SetStatus (FilterType, cDocNew, False)
+ Exit Sub
+ else
+ LogState (False, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ GetErrorMessage(nCurrentAction), FileChannel)
+ LogState (False, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ GetErrorMessage(nCurrentAction), MainFileChannel)
+ SetStatus (FilterType, nCurrentAction, False)
+ Close #FileChannel%
+ End If
+ Exit Sub &apos; With error
+End Sub
+
+Sub MakeNewDoc (FilterType as Integer)
+ DIM oDoc as Object
+ Dim bError as Boolean
+ Dim nCurrentAction as Integer
+ On Local Error GoTo DOCTESTERROR2
+ nCurrentAction = cLogfileFailed
+ FileChannel% = OpenLogDat (GetLogFileName(FilterType))
+ nCurrentAction = cDocNew
+&apos; oDoc = Documents.Add(GetDocFilter(FilterType))
+ oDoc = LoadDoc (&quot;private:factory/&quot; + GetDocFilter(FilterType or cFltNewDoc))
+ LogState (not IsNull (oDoc), GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, FileChannel)
+ LogState (not IsNull (oDoc), GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, MainFileChannel)
+ SetStatus (FilterType, cDocNew, not IsNull (oDoc))
+ if not IsNull (oDoc) then
+ nCurrentAction = cDocClose
+&apos; oDoc.dispose
+ oDoc.close (true)
+&apos; bError = true &apos; nur zum ¦bergang, weil bError = oDoc.CurrentController.frame.close nicht geht
+&apos; LogState (bError, GetDocFilter(FilterType)+&quot; &quot;+ cMessageCloseDoc, FileChannel)
+&apos; LogState (bError, GetDocFilter(FilterType)+&quot; &quot;+ cMessageCloseDoc, MainFileChannel)
+&apos; SetStatus (FilterType, cDocClose, bError)
+ end If
+ Print #FileChannel, &quot;---&quot;
+ Close #FileChannel%
+ Exit Sub &apos; Without error
+
+ DOCTESTERROR2:
+ If (nCurrentAction = cLogfileFailed) then
+ SetStatus (FilterType, cDocNew, False)
+ Exit Sub
+ else
+ LogState (False, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ GetErrorMessage(nCurrentAction), FileChannel)
+ LogState (False, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ GetErrorMessage(nCurrentAction), MainFileChannel)
+ SetStatus (FilterType, nCurrentAction, False)
+ Close #FileChannel%
+ End If
+ Exit Sub &apos; With error
+End Sub
+
+Sub MakeChartTest (FilterType as Integer)
+ Dim oCharts as Object
+ Dim oDoc as Object
+ Dim oRange(0) as New com.sun.star.table.CellRangeAddress
+ Dim oRect as New com.sun.star.awt.Rectangle
+ const cChartName=&quot;TestChart&quot;
+ Dim bError as Boolean
+ Dim nCurrentAction as Integer
+ On Local Error GoTo CHARTTESTERROR
+ nCurrentAction = cLogfileFailed
+ FileChannel% = OpenLogDat (GetLogFileName(FilterType))
+ nCurrentAction = cDocNew
+ oDoc = LoadDoc (&quot;private:factory/&quot; + GetDocFilter(frmCalc or cFltNewDoc))
+ if not IsNull (oDoc) then
+ oCharts = oDoc.sheets(0).Charts
+ oCharts.AddNewByName (cChartName, oRect, oRange(), true, true)
+ bError=oCharts.HasByName(cChartName)
+ LogState (bError, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, FileChannel)
+ LogState (bError, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, MainFileChannel)
+ SetStatus (FilterType, cDocNew, bError)
+&apos; oDoc.dispose
+ nCurrentAction = cDocClose
+ oDoc.close (true)
+ else
+ LogState (not IsNull (oDoc), GetDocFilter(frmCalc or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, FileChannel)
+ LogState (not IsNull (oDoc), GetDocFilter(frmCalc or cFltNewDoc)+&quot; &quot;+ cMessageNewDoc, MainFileChannel)
+ SetStatus (frmCalc, cDocNew, not IsNull (oDoc))
+ End if
+ Print #FileChannel, &quot;---&quot;
+ Close #FileChannel%
+ Exit Sub &apos; Without error
+
+ CHARTTESTERROR:
+ If (nCurrentAction = cLogfileFailed) then
+ SetStatus (FilterType, cDocNew, False)
+ Exit Sub
+ else
+ LogState (False, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ GetErrorMessage(nCurrentAction), FileChannel)
+ LogState (False, GetDocFilter(FilterType or cFltNewDoc)+&quot; &quot;+ GetErrorMessage(nCurrentAction), MainFileChannel)
+ SetStatus (FilterType, nCurrentAction, False)
+ Close #FileChannel%
+ End If
+ Exit Sub &apos; With error
+End Sub
+
+Sub LogState (bState as Boolean, sText as String, nLocaleFileChannel as integer)
+ if bState then
+ Print #nLocaleFileChannel, sText+&quot; -&gt; ok&quot;
+ else
+ Print #nLocaleFileChannel, sText+&quot; -&gt; error&quot;
+ end If
+end Sub
+
+Function GetDocEndings (DocType as Integer) as String
+ Select Case ( DocType )
+ case frmWriter or cFlt8
+ GetDocEndings = &quot;odt&quot; &apos; Textdokument
+ case frmCalc or cFlt8
+ GetDocEndings = &quot;ods&quot; &apos;Tabellendokument
+ case frmImpress or cFlt8
+ GetDocEndings = &quot;odp&quot; &apos;PrÕsentation
+ case frmDraw or cFlt8
+ GetDocEndings = &quot;odg&quot; &apos;Zeichen
+ case frmHyperText, frmHyperText or cFlt50, frmHyperText or cFltXML
+ GetDocEndings = &quot;html&quot; &apos;Hypertext-Dokument
+ case frmWriter or cFlt50
+ GetDocEndings = &quot;sdw&quot; &apos; Textdokument 5.0
+ case frmCalc or cFlt50
+ GetDocEndings = &quot;sdc&quot; &apos;Tabellendokument 5.0
+ case frmImpress or cFlt50
+ GetDocEndings = &quot;sdd&quot; &apos;PrÕsentation 5.0
+ case frmDraw or cFlt50
+ GetDocEndings = &quot;sda&quot; &apos;Zeichen 5.0
+ case frmWriter or cFltXML
+ GetDocEndings = &quot;sxw&quot; &apos; Textdokument
+ case frmCalc or cFltXML
+ GetDocEndings = &quot;sxc&quot; &apos;Tabellendokument
+ case frmImpress or cFltXML
+ GetDocEndings = &quot;sxi&quot; &apos;PrÕsentation
+ case frmDraw or cFltXML
+ GetDocEndings = &quot;sxd&quot; &apos;Zeichen
+ case else
+ GetDocEndings = &quot;&quot;
+ end Select
+end Function
+
+Function GetDocFilter (DocType as Integer) as String
+ Select Case ( DocType )
+ case frmWriter or cFlt8
+ GetDocFilter = &quot;writer8&quot; &apos; Textdokument
+ case frmCalc or cFlt8
+ GetDocFilter = &quot;calc8&quot; &apos;Tabellendokument
+ case frmImpress or cFlt8
+ GetDocFilter = &quot;impress8&quot; &apos;Präsentation
+ case frmDraw or cFlt8
+ GetDocFilter = &quot;draw8&quot; &apos;Zeichen
+ case frmMath or cFlt8
+ GetDocFilter = &quot;math8&quot; &apos;Formel
+
+ case frmWriter or cFltXML
+ GetDocFilter = &quot;StarOffice XML (Writer)&quot; &apos; Textdokument
+ case frmCalc or cFltXML
+ GetDocFilter = &quot;StarOffice XML (Calc)&quot; &apos;Tabellendokument
+ case frmImpress or cFltXML
+ GetDocFilter = &quot;StarOffice XML (Impress)&quot; &apos;Präsentation
+ case frmDraw or cFltXML
+ GetDocFilter = &quot;StarOffice XML (Draw)&quot; &apos;Zeichen
+ case frmMath or cFltXML
+ GetDocFilter = &quot;StarOffice XML (Math)&quot; &apos;Formel
+
+ case frmHyperText, frmHyperText or cFlt50, frmHyperText or cFltXML
+ GetDocFilter = &quot;HTML&quot; &apos;Hypertext-Dokument
+ case frmWriter or cFlt50
+ GetDocFilter = &quot;StarWriter 5.0&quot; &apos; Textdokument 5.0
+ case frmCalc or cFlt50
+ GetDocFilter = &quot;StarCalc 5.0&quot; &apos;Tabellendokument 5.0
+ case frmImpress or cFlt50
+ GetDocFilter = &quot;StarImpress 5.0&quot; &apos;Präsentation 5.0
+ case frmDraw or cFlt50
+ GetDocFilter = &quot;StarDraw 5.0&quot; &apos;Zeichen 5.0
+ case frmMath or cFlt50
+ GetDocFilter = &quot;StarMath 5.0&quot; &apos;Formel 5.0
+
+ case frmWriter or cFltNewDoc
+ GetDocFilter = &quot;swriter&quot; &apos; Textdokument
+ case frmCalc or cFltNewDoc
+ GetDocFilter = &quot;scalc&quot; &apos;Tabellendokument
+ case frmMessage or cFltNewDoc
+ GetDocFilter = &quot;Message&quot; &apos;Nachricht
+ case frmImpress or cFltNewDoc
+ GetDocFilter = &quot;simpress&quot; &apos;Präsentation
+ case frmDraw or cFltNewDoc
+ GetDocFilter = &quot;sdraw&quot; &apos;Zeichen
+ case frmMath or cFltNewDoc
+ GetDocFilter = &quot;smath&quot; &apos;Formel
+ case frmImage or cFltNewDoc
+ GetDocFilter = &quot;simage&quot; &apos;Bild
+ case frmHyperText or cFltNewDoc
+ GetDocFilter = &quot;swriter/web&quot; &apos;Hypertext-Dokument
+ case frmChart or cFltNewDoc
+ GetDocFilter = &quot;schart&quot; &apos;Diagramm
+ case else
+ GetDocFilter = &quot;&quot;
+ end Select
+end Function
+
+Function GetLogFileName (DocType as Integer) as String
+ Select Case ( DocType )
+ case frmWriter
+ GetLogFileName = sSWLogFileName &apos; Textdokument
+ case frmCalc
+ GetLogFileName = sSCLogFileName &apos;Tabellendokument
+ case frmMessage
+ GetLogFileName = sSMessageLogFileName &apos;Nachricht
+ case frmImpress
+ GetLogFileName = sSDLogFileName &apos;PrÕsentation
+ case frmDraw
+ GetLogFileName = sSDrawLogFileName &apos;Zeichnen
+ case frmMath
+ GetLogFileName = sSMathLogFileName &apos;Formel
+ case frmImage
+ GetLogFileName = sSImDLogFileName &apos;Bild
+ case frmHyperText
+ GetLogFileName = sSHptLogFileName &apos;Hypertext-Dokument
+ case frmChart
+ GetLogFileName = sSChartLogFileName &apos;Diagramm
+ case frmJava
+ GetLogFileName = sJavaLogFileName &apos;Java
+ case frmDataBase
+ GetLogFileName = sSDBLogFileName &apos;Database
+ case frmExtension
+ GetLogFileName = sExtLogFileName &apos;Extension
+ case else
+ GetLogFileName = &quot;&quot;
+ end Select
+end Function
+
+Function GetErrorMessageOnAction (nAction as Integer) as String
+ Select Case ( nAction )
+ case cDocNew
+ GetErrorMessageOnAction = cMessageNewDoc
+ case cDocCut
+ GetErrorMessageOnAction = cMessageCutObj
+ case cDocPaste
+ GetErrorMessageOnAction = cMessagePasteObj
+ case cDocSaveOpen8
+ GetErrorMessageOnAction = cMessageSaveOpen8Doc
+ case cDocSaveOpenXML
+ GetErrorMessageOnAction = cMessageSaveOpenXMLDoc
+ case cDocSaveOpen50
+ GetErrorMessageOnAction = cMessageSaveOpen50Doc
+ case cDocClose
+ GetErrorMessageOnAction = cMessageCloseDoc
+ case else
+ GetErrorMessageOnAction = &quot;&quot;
+ end Select
+end Function
+
+Function IsFilterAvailable (FilterType as Integer) as boolean
+ IsFilterAvailable = true
+ if ((FilterType = (frmHyperText or cFlt50)) or (FilterType = (frmHyperText or cFltXML))) then
+ IsFilterAvailable = false
+ end if
+End Function
+
+Function TestJava (FilterType as Integer) as boolean
+ Dim oObj as Object
+ FileChannel% = OpenLogDat (GetLogFileName(FilterType))
+ oObj = createUnoService(cUnoJavaLoader)
+ LogState (not IsNull (oObj), &quot;Java &quot;+ cMessageNewDoc, FileChannel)
+ LogState (not IsNull (oObj), &quot;Java &quot;+ cMessageNewDoc, MainFileChannel)
+ SetStatus (FilterType, cDocNew, not IsNull (oObj))
+
+ Print #FileChannel, &quot;---&quot;
+ Close #FileChannel%
+
+ TestJava = not IsNull (oObj)
+End Function
+
+Sub CutAndPaste (DocType as Integer, oDoc as Object)
+ Dim sText as String
+ Dim oWin as Object
+ Dim oText as Object
+ Dim oView as Object
+ Dim bCutState as boolean, bPasteState as boolean
+ Select Case ( DocType )
+ case frmWriter
+ Dim oCursor as Object
+
+ sText = &quot;AutomaticText&quot;
+ oText = oDoc.GetText
+ oCursor = oText.CreateTextCursor
+ oText.InsertString(oCursor, sText, true) &apos; Cursor selektiert den Text
+ oView = oDoc.getCurrentController
+ oView.Select(oCursor)
+
+ if bMakeCutTest then
+ call CutText (oDoc)
+
+ if oText.GetString = &quot;&quot; Then
+ bCutState = True
+ else
+ bCutState = False
+ end If
+ SetStatus (DocType, cDocCut, bCutState)
+ LogState (bCutState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessageCutObj, FileChannel)
+ LogState (bCutState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessageCutObj, MainFileChannel)
+ end if
+
+ if bMakePasteTest and bMakeCutTest then
+ call PasteText (oDoc)
+
+ if oText.GetString = sText Then
+ bPasteState = True
+ else
+ bPasteState = False
+ end If
+ SetStatus (DocType, cDocPaste, bPasteState)
+ LogState (bPasteState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessagePasteObj, FileChannel)
+ LogState (bPasteState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessagePasteObj, MainFileChannel)
+ end if
+
+ case frmCalc
+ DIM oCell as Object
+
+ sText = &quot;AutomaticText&quot;
+ oCell = oDoc.Sheets(0).GetCellByPosition(0, 0)
+ oCell.String = sText
+ oView = oDoc.getCurrentController
+ oView.Select(oCell)
+
+ if bMakeCutTest then
+ call CutText (oDoc)
+
+ if oCell.String = &quot;&quot; Then
+ bCutState = True
+ else
+ bCutState = False
+ end If
+ SetStatus (DocType, cDocCut, bCutState)
+ LogState (bCutState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessageCutObj, FileChannel)
+ LogState (bCutState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessageCutObj, MainFileChannel)
+ end if
+
+ if bMakePasteTest and bMakeCutTest then
+ call PasteText (oDoc)
+
+ if oCell.String = sText Then
+ bPasteState = True
+ else
+ bPasteState = False
+ end If
+ SetStatus (DocType, cDocPaste, bPasteState)
+ LogState (bPasteState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessagePasteObj, FileChannel)
+ LogState (bPasteState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessagePasteObj, MainFileChannel)
+ end if
+ case frmMessage
+ case frmImpress, frmDraw
+ Dim oPage as Object
+ Dim oRect as Object
+ Dim xSize as Object
+ Dim xPoint as Object
+ Dim bObjState as Boolean
+
+ xSize = CreateUnoStruct (&quot;com.sun.star.awt.Size&quot;)
+ xPoint = CreateUnoStruct (&quot;com.sun.star.awt.Point&quot;)
+ xSize.Width = 2000
+ xSize.Height = 2000
+ xPoint.x = 10000
+ xPoint.y = 10000
+ oPage = oDoc.DrawPages(0)
+
+ if DocType = frmImpress Then
+ oPage.Layout = 20 &apos; set page layot to none
+ end If
+
+ oRect = oDoc.CreateInstance(&quot;com.sun.star.drawing.RectangleShape&quot;)
+ oRect.Size = xSize
+ oRect.Position = xPoint
+ oPage.add(oRect)
+
+ oView = oDoc.getCurrentController
+ oView.Select(oRect)
+
+ &apos; Prüft ob überhaupt ein Object angelegt wurde
+ if oPage.count = 1 Then
+ bObjState = True
+ else
+ bObjState = False
+ end If
+
+ if bMakeCutTest then
+ call CutText (oDoc)
+
+ if (oPage.count = 0) and bObjState Then
+ bCutState = True
+ else
+ bCutState = False
+ end If
+ SetStatus (DocType, cDocCut, bCutState)
+ LogState (bCutState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessageCutObj, FileChannel)
+ LogState (bCutState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessageCutObj, MainFileChannel)
+ end if
+
+ wait (1000) &apos;wait after cut
+
+ if bMakePasteTest and bMakeCutTest then
+ call PasteText (oDoc)
+
+ if (oPage.count = 1) and bObjState Then
+ bPasteState = True
+ else
+ bPasteState = False
+ end If
+ SetStatus (DocType, cDocPaste, bPasteState)
+ LogState (bPasteState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessagePasteObj, FileChannel)
+ LogState (bPasteState, GetDocFilter(DocType or cFltNewDoc)+&quot; &quot;+ cMessagePasteObj, MainFileChannel)
+ end if
+ case frmMath
+ case frmImage
+ case frmHyperText
+ case frmChart
+ end Select
+end Sub
+
+Sub LoadLibrary( LibName as String )
+
+ dim args(1)
+ dim arg as new com.sun.star.beans.PropertyValue
+ arg.Name = &quot;LibraryName&quot;
+ arg.Value = LibName
+ args(0) = arg
+
+ dim url as new com.sun.star.util.URL
+ dim trans as object
+ trans = createUnoService(&quot;com.sun.star.util.URLTransformer&quot; )
+ url.Complete = &quot;slot:6517&quot;
+ trans.parsestrict( url )
+
+ dim disp as object
+ disp = StarDesktop.currentFrame.queryDispatch( url, &quot;&quot;, 0 )
+ disp.dispatch( url, args() )
+
+End Sub
+
+Sub LoadDoc (DocName as String) as Object
+ dim trans as object
+ trans = createUnoService(&quot;com.sun.star.util.URLTransformer&quot; )
+ url = createUnoStruct(&quot;com.sun.star.util.URL&quot; )
+ url.Complete = DocName
+ if Left(DocName, 5 ) &lt;&gt; &quot;file:&quot; then
+ trans.parsestrict( url )
+ endif
+
+ Dim aPropArray(0) as Object
+ aPropArray(0) = CreateUnoStruct(&quot;com.sun.star.beans.PropertyValue&quot;)
+ aPropArray(0).Name = &quot;OpenFlags&quot;
+ aPropArray(0).Value = &quot;S&quot;
+
+ dim doc as object
+ dim noargs()
+ doc = StarDesktop.loadComponentFromURL( url.Complete, &quot;_blank&quot;, 0, aPropArray() ) &apos; XModel
+ LoadDoc = doc
+End Sub
+
+Sub SaveDoc (DocName as String, oDoc as Object, sFilterName as string )
+ dim trans as object
+ trans = createUnoService(&quot;com.sun.star.util.URLTransformer&quot; )
+ url = createUnoStruct(&quot;com.sun.star.util.URL&quot; )
+ url.Complete = DocName
+ if Left(DocName, 5 ) &lt;&gt; &quot;file:&quot; then
+ trans.parsestrict( url )
+ endif
+
+ if not (sFilterName = &quot;&quot;) then
+ Dim aPropArray(0) as Object
+ aPropArray(0) = CreateUnoStruct(&quot;com.sun.star.beans.PropertyValue&quot;)
+ aPropArray(0).Name = &quot;FilterName&quot;
+ aPropArray(0).Value = sFilterName
+
+ oDoc.storeAsURL( url.Complete, aPropArray() )
+ else
+ MessageBox &quot;Filtername is unknown!&quot;
+ end if
+end Sub
+</script:module>