summaryrefslogtreecommitdiff
path: root/testautomation/graphics/tools
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/graphics/tools')
-rw-r--r--testautomation/graphics/tools/id_tools.inc1504
-rw-r--r--testautomation/graphics/tools/id_tools_2.inc740
-rwxr-xr-xtestautomation/graphics/tools/locale_1.txt134
-rw-r--r--testautomation/graphics/tools/makeLokaleTxt.bas286
4 files changed, 2664 insertions, 0 deletions
diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc
new file mode 100644
index 000000000000..57bac12e8ce8
--- /dev/null
+++ b/testautomation/graphics/tools/id_tools.inc
@@ -0,0 +1,1504 @@
+'encoding UTF-8 Do not remove or change this line!
+'*******************************************************************************
+' 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.
+'
+'/******************************************************************************
+'*
+'* Owner : wolfram.garten@oracle.com
+'*
+'* short description : some tools (Functions)
+'*
+'\******************************************************************************
+
+function hFindSpellHypLanguage (optional sBooks()) as string
+ printlog "print all available languages that have a language module"
+ dim iListLength as integer
+ dim i as integer
+ dim sTemp as string
+
+ printlog "only necessary for asian languages"
+ if (bAsianLan or (iSprache=55)) then
+ printlog "Tools->Options"
+ ToolsOptions
+ printlog "select from section 'Language Settings' the item 'Writing Aids'"
+ hToolsOptions ("LANGUAGESETTINGS","WRITINGAIDS")
+ printlog "click button 'Edit...' in section 'Available language modules'"
+ SprachmoduleBearbeiten.click
+ kontext "ModuleBearbeiten"
+ printlog "print all entries from listbox 'Language'"
+ for i = 1 to Sprache.GetItemCount
+ sTemp = Sprache.GetItemText(i)
+ if (NOT isMissing(sBooks())) then
+ listAppend(sBooks(), sTemp)
+ endif
+ printlog " return the first entry in the listbox "
+ if i = 1 then hFindSpellHypLanguage = sTemp
+ next i
+ printlog "close dialog 'Edit Modules'"
+ ModuleBearbeiten.Close
+ Kontext "ExtrasOptionenDlg"
+ printlog "close dialog 'Options - '"
+ hCloseDialog( ExtrasOptionenDlg, "ok" )
+ endif
+end function
+
+'-------------------------------------------------------------------------------
+function GetDecimalSeperator ( sDummy$ ) as String
+
+ printlog "Input : number with fractionmark from 'NumericField' as String "
+ printlog "+ Output: '.' or ',' as String "
+ dim i1, i2 as integer
+
+ printlog "get position of fraction mark / get IT"
+ i1 = instr (sDummy$, ",")
+ i2 = instr (sDummy$, ".")
+ if i1 > i2 then GetDecimalSeperator = "," else GetDecimalSeperator = "."
+end function
+
+'-------------------------------------------------------------------------------
+function LiberalMeasurement ( sShould$, sActual$) as Boolean
+
+ printlog " Input : (1. Should, 2. Actual) as Number with or without MeasurementUnit 'NumericField' as String "
+ printlog "+ if input has no MeasurementUnit i take it as 'cm' (was the default in old tests) "
+ printlog "+ Output: Boolean are they likely the same?"
+ printlog " NEEDED: mathematical proofment of iTolerance, by now just some guesses :-| "
+ printlog " reason for this function:"
+ printlog "+ because SO counts internaly in 'twip???s' 'twentieth of a point' there are some rounding errors "
+ printlog "+ there are also some rounding errors because of the internal representatio of floating point numbers in computers "
+ printlog "+ now lets try to get rid of them and have a nicer output in tests... "
+ printlog " measurement units are defined in http://gsl.openoffice.org/source/browse/gsl/vcl/source/src/units.src "
+
+ dim iTolerance as Double
+
+ LiberalMeasurement = False
+
+ if (sShould$ = sActual$) then
+ LiberalMeasurement = True
+ else
+ printlog "check if measunit is the same"
+ if (GetMeasUnit(sShould$) <> GetMeasUnit(sActual$) ) then
+ warnlog "In function LiberalMeasurement the measUnit is different, compare not possible yet"
+ else
+ printlog "set factor for liberality"
+ printlog "took units from http://gsl.openoffice.org/source/browse/gsl/vcl/source/src/units.src"
+ select case GetMeasUnit(sShould$)
+ case "mm", "ミリ", "公厘" : iTolerance = 2.0 '01, 81, 88
+ case "cm","セン?","厘米","公分" : iTolerance = 0.5 '01, 81, 86, 88
+ case chr$(34) : iTolerance = 2.5
+ case "pi","ピクセル" : iTolerance = 2.5 '01, 81
+ case "pt", "?イント" : iTolerance = 2.5 '01, 81
+ case "" : iTolerance = 1.5 ' cm is presubposition in old functions
+ case else
+ iTolerance = 2.5
+ qaErrorLog "This Unit is not available in this function. '" + GetMeasUnit(sShould$) + "'"
+ end select
+ printlog "have to get the measurem unit, cause the offset is different for each"
+ printlog "!!! val(str()) is important because of double calculating actions !!! #110996#"
+ if ( val(str(StrToDouble(sShould$)+iTolerance)) >= StrToDouble(sActual$) ) AND (val(str(StrToDouble ( sShould$ )-iTolerance)) <= StrToDouble ( sActual$ )) then
+ LiberalMeasurement = True
+ else
+ LiberalMeasurement = False
+ end if
+ end if
+ end if
+end function
+
+'-------------------------------------------------------------------------------
+function GetMeasUnit ( sWert$ ) as String
+
+ dim iBounder as integer
+ printlog " Input : Number with or without MeasurementUnit 'NumericField' as String "
+ printlog "+ Output: Initials of MeasurementUnit as String or "" when only a number "
+
+ iBounder = -1
+ do
+ inc iBounder
+ loop until ( isNumeric(mid (sWert$, len(sWert$)-iBounder, 1)) OR (len(sWert$) <= (iBounder + 1)) )
+
+ if (len(sWert$) <= (iBounder + 1)) then
+ if isNumeric(left (sWert$, 1)) then
+ GetMeasUnit = right (sWert$, iBounder)
+ else
+ GetMeasUnit = sWert$
+ endif
+ else
+ GetMeasUnit = right (sWert$, iBounder)
+ endif
+end function
+
+'-------------------------------------------------------------------------------
+function StrToDouble ( sWert$ ) as Double
+
+ Dim sDummy$
+ dim i, i1, i2 as integer
+ dim a as integer
+ dim b as integer
+ dim c as double
+ dim n as integer
+
+ printlog " Input : {'a[. ,]b[mm cm pi pt]' with a, b as integer} as String "
+ printlog "+ Output: a[. , ]b as double "
+
+ printlog "get rid of measure unit, the only single character is '' all others are two chars"
+ printlog "there was a problem, if there is NO meas.unit!!"
+ if (isNumeric (sWert$) = FALSE) then
+ if ( StrComp (right (sWert$, 1), chr$(34) ) = 0 ) then
+ sDummy$ = Left ( sWert$, Len(sWert$)-1 )
+ else
+ sDummy$ = Left ( sWert$, Len(sWert$)-2 )
+ endif
+ else
+ sDummy$ = sWert$
+ endif
+ printlog "get position of fraction mark"
+ i1 = instr (sDummy$, ",") ' wrong output
+ i2 = instr (sDummy$, ".")
+ if i1 > i2 then i = i1 else i = i2
+ printlog " in front of decimal seperator:"
+ try
+ a = val (left (sDummy$,i-1))
+ catch
+ 'printlog sWert$ + ":" + sDummy$ + ":" + i + ":" + i1+ ":" + i2
+ endcatch
+ printlog "after the decimal seperator"
+ n = (len (sDummy$)-i)
+ b = val (right (sDummy$, n) )
+ c = b * 10 ^ -n
+ 'printlog "-------------- :"+sWert$ +" :'"+a+"' :"+n+" :"+b+" :'"+c+"':"
+ ' !!! val(str()) is important because of double calculating actions !!! #110996#
+ StrToDouble = val(str(a + c))
+end function
+
+'-------------------------------------------------------------------------------
+function fGetPositionX () as string
+
+ fGetPositionX = ""
+ try
+ ContextPositionAndSize
+
+ kontext
+ active.SetPage TabPositionAndSize
+ kontext "TabPositionAndSize"
+ if ( TabPositionAndSize.exists( 5 ) ) then
+ fGetPositionX = PositionX.GetText()
+ TabPositionAndSize.OK()
+ else
+ warnlog( "Couldn't switch to <TabPositionAndSize>" )
+ endif
+ catch
+ warnlog "couldn't call 'ContextPositionAndSize' no object selected ?"
+ endcatch
+
+end function
+
+'-------------------------------------------------------------------------------
+function setStartCurrentPage(optional bState as boolean) as boolean
+
+ printlog " tools->options "
+ ToolsOptions
+ printlog "+ select in section 'Presentation' tabpage 'general' "
+ hToolsOptions ("IMPRESS","General")
+ printlog "+ check the checkbox 'Always with current page' "
+ setStartCurrentPage = MitAktuellerSeite.isChecked
+ if bState then
+ MitAktuellerSeite.Check
+ else
+ MitAktuellerSeite.UnCheck
+ endif
+ Kontext "ExtrasOptionenDlg"
+ printlog "+ close dialog 'Options - Presenation - General' with OK "
+ hCloseDialog( ExtrasOptionenDlg, "ok" )
+end function
+
+'-------------------------------------------------------------------------------
+function fIsDocumentWritable() as boolean
+
+ Kontext "Standardbar"
+ if Bearbeiten.GetState( 2 ) <> 1 then
+ fIsDocumentWritable = false
+ else
+ fIsDocumentWritable = true
+ endif
+
+end function
+
+'-------------------------------------------------------------------------------
+function fMakeDocumentWritable() as boolean
+
+ printlog( "Remove write protection from current file" )
+
+ Kontext "Standardbar"
+ sleep ( 1 )
+ if Bearbeiten.GetState(2) <> 1 then
+ Bearbeiten.Click
+ Kontext
+ if Active.Exists(1) then
+ Active.Yes
+ fMakeDocumentWritable = true
+ else
+ warnlog "No messagebox after making document editable?"
+ fMakeDocumentWritable = false
+ endif
+ else
+ printlog "Document is already writable."
+ fMakeDocumentWritable = true
+ endif
+ sleep(1)
+end function
+
+'-------------------------------------------------------------------------------
+function fGetSizeXY (sX as string, sY as string, bGet as boolean) as Boolean
+ dim sTx as string
+ dim sTy as string
+ dim bReturn as boolean
+
+ bReturn = True
+ try
+ printlog "Trying to open Position and size Dialog.."
+ ContextPositionAndSize
+ catch
+ warnlog "couldn't call 'ContextPositionAndSize' no object selected ?"
+ endcatch
+ kontext
+ active.SetPage TabPositionAndSize
+ kontext "TabPositionAndSize"
+ printlog "Getting some sizes from Position and Size dialog."
+ if TabPositionAndSize.exists (5) then
+ sTx = Width.GetText
+ printlog "Width, sTx=" & sTx
+ sTy = Height.GetText
+ printlog "Height, sTy=" & sTy
+ TabPositionAndSize.OK
+ else
+ warnlog "Couldn't switch tab page :-( "
+ endif
+ if bGet then ' Get the Values only
+ sY = sTy
+ printlog "sY=" & sY
+ sX = sTx
+ printlog "sX=" & sX
+ else ' Get the Values and COMPARE them
+ if (LiberalMeasurement (sX,sTx) <> TRUE) then
+ warnlog "width is different :-( XXXXXXXXXXXXX should: '"+sX+"' is: '"+sTx+"'" + "eventually a result of i35519"
+ bReturn = False
+ endif
+ if (LiberalMeasurement (sY,sTy) <> TRUE) then
+ warnlog "hight is different :-( xxxxxxxxxxxx should: '"+sY+"' is: '"+sTy+"'" + "eventually a result of i35519"
+ bReturn = False
+ endif
+ bGet = bReturn
+ endif
+end function
+
+'-------------------------------------------------------------------------
+
+function hCallExport ( cFileName as String , sFilter as String, optional bSelection as boolean ) as Boolean
+
+ const RC_FAILURE = -1
+ dim bExportSelectionOnly as boolean
+
+ hCallExport() = false
+
+ printlog( "Exporting file with provided filter" )
+
+ ' Handle infamous optional parameter
+ if ( IsMissing( bSelection ) ) then
+ bExportSelectionOnly = false
+ else
+ bExportSelectionOnly = bSelection
+ endif
+
+ if ( hUseAsyncSlot( "FileExport" ) <> RC_FAILURE ) then
+
+ Kontext "ExportierenDlg"
+ if ( ExportierenDlg.exists( 3 ) ) then
+ try
+ Dateityp.Select sFilter
+
+ if ( selektion.exists() ) then
+ if ( selektion.isEnabled() ) then
+ if ( bExportSelectionOnly ) then
+ selektion.check()
+ else
+ selektion.unCheck()
+ endif
+ else
+ printlog( "Cannot set <seletion>, it is disabled" )
+ endif
+ else
+ if ( bExportSelectionOnly ) then
+ warnlog( "It was requested to export only the current selection but the option is disabled" )
+ endif
+ endif
+
+ AutomatischeDateinamenserweiterung.check()
+ Dateiname.SetText( cFileName )
+ Speichern.Click()
+
+ kontext "AlienWarning"
+ if AlienWarning.exists(5) then
+ warnlog "#i41983# Alien Warning on export not allowed"
+ hCloseDialog( AlienWarning, "ok" )
+ endif
+
+ Kontext "Active"
+ hCloseDialog( Active, "yes,optional" )
+
+ hCallExport = true
+ catch
+ warnlog( "Filter could not be selectd, it might be missing: " & sFilter )
+ hCloseDialog( ExportierenDlg, "cancel" )
+ endcatch
+ else
+ warnlog( "<ExportierenDlg> not open" )
+ endif
+ else
+ warnlog( "Slot <FileExport> is blocked" )
+ endif
+
+end function
+
+'-------------------------------------------------------------------------
+function checkexppdfwaitmax10sec
+
+ dim i as integer
+ kontext "Standardbar"
+ i = 0
+ do
+ i = i + 1
+ sleep 1
+ if (ExportAsPDF.isEnabled = TRUE) then i = 15
+ loop while ((i < 15))
+ if (ExportAsPDF.isEnabled = FALSE) then
+ Warnlog "ExportAsPDF was NOT ok. Waited " + i + " seconds."
+ endif
+ sleep (3)
+end function
+
+'-------------------------------------------------------------------------------
+function fCompareTwoValues(a as string, b as string) as boolean
+
+ dim c as boolean
+
+ c = val(str(StrToDouble(a))) <> val(str(StrToDouble(b)))
+ c = c AND (GetMeasUnit(a) <> GetMeasUnit(b))
+ fCompareTwoValues = c
+end function
+
+'-------------------------------------------------------------------------------
+function fConvertBackslashToSlash (sInput as string) as string
+
+ dim i as integer
+ dim sTemp as string
+ dim sI as string
+ dim x as integer
+
+ sTemp = ""
+ x = len (sInput)
+ for i = 1 to x
+ sI = mid(sInput, i, 1)
+ if (sI = "\") then
+ sI = "/"
+ endif
+ sTemp = sTemp + sI
+ next i
+ fConvertBackslashToSlash = sTemp
+end function
+
+'-------------------------------------------------------------------------------
+function hScreenFontAntialiasing (bEnable as boolean) as boolean
+
+ ToolsOptions
+ hToolsOptions ("STAROFFICE", "VIEW")
+ hScreenFontAntialiasing = FontAntiAliasing.IsChecked
+ if (bEnable) then
+ FontAntiAliasing.Check
+ else
+ FontAntiAliasing.Uncheck
+ endif
+ Kontext "ExtrasOptionenDlg"
+ ExtrasOptionenDlg.OK
+end function
+
+'-------------------------------------------------------------------------------
+function fSaveLoadAllFormats (NewFileDir as String)
+
+ Dim iFileTypeCounter as Integer
+ Dim SavedFile(30) as String
+ Dim iCounter as Integer
+
+ printlog "Save the document in different formats..."
+ FileSaveAs
+ kontext "ExportierenDlg"
+ For iFileTypeCounter = 1 to Dateityp.GetItemCount
+ sleep (1)
+ if iFileTypeCounter > 1 then
+ WaitSlot (2000)
+ FileSaveAs
+ kontext "ExportierenDlg"
+ endif
+ Dateiname.SetText (ConvertPath (NewFileDir) + "file" + iFileTypeCounter)
+ Dateityp.Select (iFileTypeCounter)
+ sleep (1)
+ Printlog " Saving file: " + (ConvertPath (NewFileDir) + ("file" + (iFileTypeCounter) + "." + left(right(Dateityp.GetSelText,4),3)))
+ SavedFile(iFileTypeCounter) = ("file" + (iFileTypeCounter) + "." + left(right(Dateityp.GetSelText,4),3))
+ Speichern.Click
+ Kontext "Active"
+ if Active.Exists(2) then Active.Yes ' File already exists, overwrite?
+ 'printlog " Saved file ( SavedFile(" + iFileTypeCounter + ") ) as: '" + SavedFile(iFileTypeCounter) +"'."
+ Kontext "AlienWarning"
+ if AlienWarning.Exists(2) then AlienWarning.OK
+ kontext "DocumentImpress"
+ Next iFileTypeCounter
+ printlog "Close the file."
+ FileClose
+
+ printlog "Load the different files."
+ iCounter = 0
+ For iCounter = 1 to (iFileTypeCounter-1)
+ Printlog " Will try to open: " + (ConvertPath (NewFileDir) + SavedFile(iCounter))
+ CALL hFileOpen(ConvertPath (NewFileDir) + SavedFile(iCounter))
+ CALL hCloseDocument
+ printlog " Will try to delete: " + (ConvertPath (NewFileDir) + SavedFile(iCounter))
+ app.Kill (ConvertPath (NewFileDir) + SavedFile(iCounter))
+ Next iCounter
+
+end function
+'-------------------------------------------------------------------------------
+function setCharacterLanguage(sLanguage as string) as boolean
+
+ setCharacterLanguage = FALSE
+ FormatCharacter
+ WaitSlot (1000)
+ Kontext
+ Messagebox.SetPage TabFont
+ kontext "TabFont"
+ sleep 1
+ printlog "sLanguage = " + sLanguage
+ if (bAsianLan) then 'Eastern languages 'OR
+ try
+ printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText
+ LanguageWest.select (sLanguage) 'East
+ catch
+ printlog "Language.GetSelText = " + Language.GetSelText
+ Language.select (sLanguage) 'East
+ endcatch
+
+ setCharacterLanguage = TRUE
+ elseif (iSprache = 07) then
+ printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText
+ LanguageWest.select (sLanguage)
+ else
+ try
+ printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText
+ LanguageWest.select (sLanguage)
+ catch
+ printlog "Language.GetSelText = " + Language.GetSelText
+ Language.select (sLanguage)
+ endcatch
+ setCharacterLanguage = TRUE
+ end if
+ TabFont.Ok
+ sleep 1
+end function
+
+'-------------------------------------------------------------------------------
+function toggleGermanSpellchecking as string
+
+ printlog " activate old german spellchecking "
+ printlog "+ Tools->Options "
+ ToolsOptions
+ printlog "+ select tabpage 'writing aids' in category 'Languagesettings' "
+ hToolsOptions("LANGUAGESETTINGS","WRITINGAIDS")
+ kontext "TabLinguistik"
+ printlog "+ hopefully it never changes for any reason between the languages!: select the 8th entry 'German spelling - old' "
+ printlog " - 'German Spelling - old' ?= " + Optionen.getItemText(8)
+ Optionen.select(8)
+ printlog "+ default is 'unselected' - i can't check it automatically - so i depend on it! "
+ printlog "+ press [space] to select it"
+ Optionen.typeKeys "<space>"
+ Kontext "ExtrasOptionenDlg"
+ printlog "+ close options with OK button "
+ ExtrasOptionenDlg.OK
+end function
+
+'-------------------------------------------------------------------------------
+function sAnalyseContextMenu(iItems as integer, optional iError as long) as integer
+
+ dim i as integer
+ dim y as integer
+ dim w as integer
+ dim x as integer
+ dim z as integer
+ dim f as string
+ dim iSlot as integer
+ dim iSpecialCharacterEntry as integer
+ dim bNoContextMenu as boolean
+ dim iTemp as long
+ dim sCandidates(5) as string
+ dim bDifferent as boolean
+ dim iInternError as long
+ dim iError1 as long ' misplaced
+ 'i22192: context menu opens not on cursor position
+ dim iError2 as long ' no context menu
+
+ printlog "goto start of textbox "
+ call hTypeKeys "<mod1 home>"
+ printlog "for every word, check the context menu to get suggestions for correction "
+ for i = 0 to (iItems-1)
+ printlog " copy current word to clipboard "
+ call hTypeKeys "<Shift mod1 right>"
+ EditCopy
+ sCandidates(1) = getClipboardText()
+ if (" " = right(sCandidates(1),1)) then
+ sCandidates(1) = left(sCandidates(1),len(sCandidates(1))-1)
+ end if
+ call hTypeKeys "<mod1 left>"
+ printlog " open context menu "
+ printlog " About to call the ContextMenu."
+ call hOpenContextMenu()
+ sleep 3
+ printlog " Just opened ContextMenu."
+ ' collecting criteria for underlining:
+ ' 1st one: is word selected? yes: underlined;
+
+ printlog " If the string vnd.sun.search:SubMenu (the SunSearch-menu) is found in the menu, we'll skip that word. "
+
+ 'Get first entry.
+ f = MenuGetItemCommand (MenuGetItemID (1))
+ printlog "f = '" + f + "'."
+ 'If it's "vnd.sun.search:SubMenu" , then skip the word. Printlog "Word not underlined, Search-Toolbar active."
+ if f <> "vnd.sun.search:SubMenu" then
+ try ' WorkAround ##
+ editcopy
+ sCandidates(2) = getClipboardText()
+ ' printlog "******************* " + getclipboardtext()
+ catch
+ sCandidates(2) = ""
+ ' printlog "###################################################"
+ endcatch
+ ' if (1) is different from nonempty (2) then the wrong word is selected
+ if (sCandidates(1) <> sCandidates(2)) then
+ if ("" <> sCandidates(2)) then
+ ' printlog "############ " + sCandidates(1) + " ################## " + sCandidates(2) + " #####################"
+ bDifferent = TRUE
+ iError1 = iError1 + (2^i)
+ else
+ bDifferent = false
+ ' no word is selected... a) not underlined b) no context menu open
+ end if
+ else
+ ' printlog "******************* " + sCandidates(1)
+ bDifferent = FALSE
+ end if
+ ' check if context menu opened
+ try
+ x = hMenuItemGetCount
+ ' successfully opened context menu
+ bNoContextMenu = false
+ catch
+ ' context menu not open
+ bNoContextMenu = true
+ iError2 = iError2 + (2^i)
+ ' in writer it would work... :-( #i23568#
+ ' warnlog ""+i+" C: " + x + ";------ " + getClipboardText + " -------- "
+ endcatch
+ ' if context menu open do....
+ if (not bNoContextMenu) then
+ ' printlog ""+i+" C: " + x + ";------ " + getClipboardText + " -------- " + hMenuItemGetText(1)
+ printlog " analyze context menu entries "
+ for y = 1 to x
+ z = hMenuGetItemId(y)
+ if (1 = y) then iSlot = z ' criteria for WorkAround
+ if (z = 27019) then iSpecialCharacterEntry = y ' entry to select for WorkAround
+ Printlog ("---i: "+ y +"; " + z + " ; " +hMenuItemGetText(y) + " ; " + hMenuGetItemCommand(y))
+ next y
+ printlog " if first slot not a spelling suggestion -> WorkAround 112919 "
+ printlog " close Context Menu "
+ if (iSlot <> 10456) then
+ if (not bDifferent) then ' WorkAround ##
+ ' qaerrorlog "" + iSlot + " UNDERLINED"
+ iTemp = iTemp + (2^i)
+ end if
+ call hMenuClose()
+ else
+ ' printlog "" + iSlot + " not underlined"
+ 'InsertSpecialCharacterDraw
+ hMenuSelectNr(iSpecialCharacterEntry) ' because of bug #112919#
+ kontext "Sonderzeichen"
+ Sonderzeichen.Cancel '
+ end if
+ end if
+ else
+ Printlog "Word not underlined, Search-Toolbar active."
+ call hMenuClose()
+ end if
+ Sleep (1)
+ printlog " goto next word with keys [strg]+[right] "
+ call hTypeKeys "<mod1 right>"
+ next i
+ printlog " leave textbox edit mode "
+
+ iInternError = iError1 OR iError2
+ if (iError1 > 0) then
+ qaErrorLog "#i22192#: context menu opens not on cursor position"
+ printlog "" + sLongToBinary(iError1, 11)
+ end if
+ if (iError2 > 0) then
+ qaErrorLog "#i23568# context menu doesn't open in redlining mode before a punctuation mark"
+ printlog "" + sLongToBinary(iError2, 11)
+ end if
+ if (not isMissing(iError)) then
+ iError = iInternError
+ end if
+ sAnalyseContextMenu = iTemp
+end function
+
+'-------------------------------------------------------------------------------
+function sLongToBinary(iTempIn as long, iCount as integer) as string
+
+ ' lsb left !
+ dim sTemp as string
+ dim i as integer
+ dim iMask as long
+ dim itemp as long
+
+ itemp = itempin
+
+ for i = 1 to iCount
+ iMask = iMask + (2^(i-1))
+ next i
+
+ sTemp = ""
+ iTemp = Itemp AND iMask
+ for i = 1 to iCount
+ if ((iTemp MOD 2) = 1) then
+ sTemp = sTemp + "1"
+ else
+ sTemp = sTemp + "0"
+ end if
+ iTemp = INT (iTemp / 2)
+ next i
+ sLongToBinary = sTemp
+end function
+
+'-------------------------------------------------------------------------------
+function sBinaryToLong(sTempIn as String) as long
+
+ ' lsb left !
+ dim iTemp as long
+ dim i as integer
+ dim sTemp as string
+
+ sTemp = sTempin
+
+ for i = 1 to len(sTemp)
+ if (mid(sTemp, i, 1) = "1") then
+ iTemp = itemp + (2^(i-1))
+ end if
+ next i
+ sBinaryToLong = iTemp
+end function
+
+'-------------------------------------------------------------------------------
+function fGetIntoDictionary as boolean
+ dim bFound as boolean
+ dim iBooks as integer
+ dim i as integer
+
+ iBooks = Benutzerwoerterbuch.GetItemCount
+ i=0
+ bFound=TRUE
+ while (bFound AND (i < iBooks))
+ inc i
+ Benutzerwoerterbuch.select i
+ printlog Benutzerwoerterbuch.getSelText + i
+ try
+ Bearbeiten.Click
+ bFound = FALSE
+ catch
+ printLog "wIgLi" + i
+ endcatch
+ wend
+ fGetIntoDictionary = bFound
+end function
+
+'-------------------------------------------------------------------------------
+function hSelectInList (window, sEntry as String) as Boolean
+
+ printlog " alternativ method to 'hDoubleClickInList' (without mouse) "
+ printlog "+ window: name of list "
+ printlog "+ sEntry: string to find in list "
+ printlog "+ ReturnValue: if found: TRUE; else FALSE "
+ Dim i as Integer
+ Dim sTemp as String
+ Dim sLastTemp as String
+
+ printlog " go through list from bottom and stop on the entry sEntry "
+ window.TypeKeys "<End>"
+ sTemp = ""
+ do
+ sLastTemp = sTemp
+ sTemp = window.GetText
+ window.TypeKeys "<Up>"
+ loop while ((sEntry <> sTemp) AND (sLastTemp <> sTemp))
+ printlog " press key [Return] "
+ if (sEntry = sTemp) then
+ window.TypeKeys "<Return>"
+ hSelectInList = TRUE
+ else
+ hSelectInList = FALSE
+ endif
+end function
+
+'-------------------------------------------------------------------------------
+function hWalkTheStyles2 (atemp)
+
+ 'function hWalkTheStyles2 (bSet as boolean, aSettings(), atemp as variant) as string
+ dim i as integer
+ dim x as integer
+ dim itemp
+ dim bSet
+ dim aSettings(5,5)
+ ' dim atemp
+
+ printlog " Organizer "
+ i=1
+ Kontext
+ printlog aSettings(i,3)
+ printlog aSettings(i,2)
+ printlog val(aSettings(i,1))
+ printlog atemp
+ Messagebox.SetPage TabArea
+ kontext "TabArea"
+ atemp = Hatching
+ printlog atemp
+
+ if aSettings(i,3) then
+ itemp = val(aSettings(i,1))
+ printlog isobject(atemp)
+ printlog isNumeric(atemp)
+ Hatching.check
+ atemp.check
+
+ else
+ ' aSettings(i,1).Uncheck
+ endif
+ i=2
+ Kontext
+ Messagebox.SetPage TabSchatten
+ kontext "TabSchatten"
+
+ Kontext
+ Messagebox.SetPage TabVerwalten
+ kontext "TabVerwalten"
+ printlog " Line "
+ i=2
+ Kontext
+ Messagebox.SetPage TabLinie
+ kontext "TabLinie"
+ 'Context: *Line; Line Styles; Arrow Styles
+ printlog " Area "
+ i=3
+ Kontext
+ Messagebox.SetPage TabArea
+ kontext "TabArea"
+ 'Context: *Area; *Shadow; Transparency; Colors; Gradients; Hatching; Bitmaps
+ printlog " Shadowing "
+ i=4
+ Kontext
+ Messagebox.SetPage TabSchatten
+ kontext "TabSchatten"
+ printlog " Transparency "
+ i=5
+ Kontext
+ Messagebox.SetPage TabTransparenz
+ kontext "TabTransparenz"
+ printlog " Font "
+ i=6
+ Kontext
+ Messagebox.SetPage TabFont
+ kontext "TabFont"
+ 'Context: *Font; *Font Effect; Position
+ printlog " Font Effect "
+ i=7
+ Kontext
+ Messagebox.SetPage TabFontEffects
+ kontext "TabFontEffects"
+ printlog " Indents & Spacing "
+ i=8
+ Kontext
+ Messagebox.SetPage TabEinzuegeUndAbstaende
+ kontext "TabEinzuegeUndAbstaende"
+ 'Context: *Indents & Spacing; *Alignment; *Tabs
+ printlog " Text "
+ i=9
+ Kontext
+ Messagebox.SetPage TabText
+ Kontext "TabText"
+ 'Context: *Text; *Text Animation
+ printlog " Text Animation "
+ i=10
+ Kontext
+ Messagebox.SetPage TabLauftext
+ Kontext "TabLauftext"
+ printlog " Dimensioning "
+ i=11
+ Kontext
+ Messagebox.SetPage TabBemassung
+ Kontext "TabBemassung"
+ printlog " Connector "
+ i=12
+ Kontext
+ Messagebox.setpage TabVerbinder
+ Kontext "TabVerbinder"
+ printlog " Alignment "
+ i=13
+ Kontext
+ Messagebox.setpage TabAusrichtungAbsatz
+ Kontext "TabAusrichtungAbsatz"
+ printlog " Tabs "
+ i=14
+ Kontext
+ Messagebox.setpage TabTabulator
+ Kontext "TabTabulator"
+
+ ' printlog " switch to tabpage 'Bullets' "
+ ' Messagebox.SetPage TabBullet
+ ' Kontext "TabBullet"
+ ' sleep 1
+ ' Call DialogTest (TabBullet)
+ ' sleep 1
+ ' Kontext
+ ' printlog " switch to tabpage 'Numbering Type' "
+ ' Messagebox.SetPage TabNumerierungsart
+ ' Kontext "TabNumerierungsart"
+ ' sleep 1
+ ' Call DialogTest (TabNumerierungsart)
+ ' sleep 1
+ ' Kontext
+ ' printlog " switch to tabpage 'Graphics' "
+ ' Messagebox.SetPage TabGrafiken
+ ' Kontext "TabGrafiken"
+ ' sleep 1
+ ' Call DialogTest (TabGrafiken)
+ ' sleep 1
+ ' Kontext
+ ' printlog " switch to tabpage 'Customize' "
+ ' Messagebox.SetPage TabOptionenNumerierung
+ ' Kontext "TabOptionenNumerierung"
+ ' sleep 1
+ ' Call DialogTest (TabOptionenNumerierung)
+ ' sleep 1
+end function
+
+'-------------------------------------------------------------------------------
+function fGetSlideNumber (optional sCompare as integer) as integer
+
+ printlog " PRESUPPOSITION: open Navigator "
+ printlog "+ ENTRY: with or without a string "
+ printlog "+ if string is given, it is compared with the actual selected slidename in the navigator, if not equal print warnlog "
+ printlog "+ RETURN: selected slidename in the navigator / empty string if navvigator is not open "
+ printlog "+ EXIT: kontext on DocumentPresentation "
+
+ Kontext "NavigatorDraw"
+ printlog "Checking if navigator is open, closing and opening for updating.."
+ if NavigatorDraw.exists (5) then
+ ViewNavigator ' to Workaround not updated navi :-(
+ sleep 3
+ ViewNavigator
+ sleep 3
+ printlog " check in list, if the page changed "
+
+ else
+ printlog "If Navigator is not open, opening it now."
+ ViewNavigator
+ endif
+ sleep (1)
+ printlog "Getting current slide number from navigator."
+ fGetSlideNumber = val (right (Liste.GetSelText, 1))
+ printlog "fGetSlideNumber has the value " & fGetSlideNumber
+ printlog "Checking if slidenumber fits to Compare number, if this is given behind procedure call."
+ if (isMissing (sCompare) = False) then ' if optional parameter exists
+ if fGetSlideNumber <> sCompare then
+ printlog "Warnlog if Slidenumber is not what it should be."
+ Warnlog "Slide Number is '" + fGetSlideNumber + "'; should: '" + sCompare + "'"
+ endif
+ endif
+ Kontext "DocumentPresentation"
+end function
+
+'-------------------------------------------------------------------------------
+function fGetSlideCount (optional iCount as integer) as integer
+
+ printlog " purpose: open navigator in impress and check/get number of slides from listbox "
+ printlog "+ input : optional number of slides, to compare to: if different warnlog "
+ printlog "+ output : number of slides in presentation "
+ dim i as integer
+
+ printlog " open navigator "
+ Kontext "Navigator"
+ if Navigator.exists then
+ Printlog "Navigator: open :-)"
+ else
+ Printlog "Navigator: NOT available :-( will be opened now!"
+ ViewNavigator
+ endif
+ Sleep 1
+ printlog " count rows in list of navigator: usually number of slides "
+ Kontext "NavigatorDraw"
+ i = Liste.GetItemCount
+ if (isMissing(iCount) = FALSE) then
+ if (i <> iCount) then
+ Warnlog "Error! Expected slides: '" + iCount + "'; but are '" + i +"'"
+ else
+ Printlog "ok"
+ endif
+ endif
+ printlog " close navigator "
+ ViewNavigator
+ fGetSlideCount = i
+end function
+
+'-------------------------------------------------------------------------------
+function fGetSlideName (optional sCompare as string) as string
+
+ printlog " PRESUPPOSITION: open Navigator "
+ printlog "+ ENTRY: with or without a string "
+ printlog "+ if string is given, it is compared with the actual selected slidename in the navigator, if not equal print warnlog "
+ printlog "+ RETURN: selected slidename in the navigator / empty string if navvigator is not open "
+ printlog "+ EXIT: kontext on DocumentPresentation "
+
+ Kontext "NavigatorDraw"
+ if NavigatorDraw.exists (5) then
+ sleep 3
+ printlog "check in list, if the page changed"
+ fGetSlideName = Liste.GetSelText
+ else
+ warnlog "Navigator not open! in function fGetSlideName TBO"
+ Kontext "NavigatorDraw"
+ fGetSlideName = ""
+ endif
+ if (isMissing (sCompare) = False) then ' if optional parameter exists
+ printlog "fGetSlideName is: " & fGetSlideName
+ printlog "sCompare is: " & sCompare
+ if fGetSlideName <> sCompare then
+ warnlog " Slide Name is '" + fGetSlideName + "'; should be: '" + sCompare + "'"
+ endif
+ endif
+ Kontext "DocumentPresentation"
+end function
+
+'------------------------------------------------------------------------------
+function fGetSetPageBackground (iSelect as integer, iWhere as integer) as integer
+
+ printlog " Get or Set the Page Background via stylist (iWhere = 0) or format menue (...= 1) "
+ printlog "+ if iSelect > 0 then set, else get "
+ printlog "+ return selected color number or -1 on error "
+
+ if (iWhere = 0) then
+ printlog " Stylist -> Background -> Kontext menu -> modify -> Area -> Color "
+ fGetSetPageBackground = -1 ' worst case
+ Kontext "Stylist"
+ if Stylist.NotExists (5) then
+ FormatStylist
+ Kontext "Stylist"
+ if Stylist.NotExists (5) then warnlog "Could not open stylist :-("
+ end if
+ Praesentationsvorlagen.Click
+ sleep 1
+ Vorlagenliste.TypeKeys "<PAGEDOWN>"
+ hDoubleClickInList (vorlagenliste, glLocale(5), TRUE)
+ sleep 1
+ vorlagenliste.OpenContextMenu
+ sleep 1
+ hMenuSelectNr (1)
+ else
+ printlog " Format -> Page -> Background -> Color "'FormatPage
+ sleep 1
+ try ' this was just paranoia to find a not mentioned messagebox
+ FormatSlideDraw
+ catch
+ warnlog "slooooow slot TBO :-("
+ exit function
+ endcatch
+ sleep 1
+ Kontext
+ if (active.getrt = 373) then
+ Active.SetPage TabArea
+ else
+ warnlog active.getrt
+ if (active.getrt = 304) then
+ warnlog active.gettext
+ endif
+ endif ' paranoia end ----------------------------------------------
+ endif
+
+ kontext "TabArea"
+ if TabArea.exists then
+ FillOptions.Select 2 ' Select "Colour"
+ if (iSelect > 1) then ' Select the entry
+ ' Color.Check
+ if (iSelect < ColourList.GetItemCount) then
+ ColourList.Select iSelect
+ else
+ warnlog "Select entry is larger than list :-("
+ endif
+ fGetSetPageBackground = ColourList.GetSelIndex
+ if fGetSetPageBackground = 0 then
+ warnlog "There were no color selected in the list."
+ endif
+ TabArea.OK
+ sleep 2
+ kontext
+ if (active.exists (2)) then
+ warnlog "active about <changing the background for all pages ?>: '" + active.gettext + "'"
+ active.yes
+ else
+ printlog "No message about 'changing the background for all pages ?' :-("
+ endif
+ else ' yust read the selected entry
+ if FillOptions.GetSelIndex = 2 then
+ fGetSetPageBackground = ColourList.GetSelIndex
+ TabArea.Cancel
+ else
+ warnlog "Can't get value, because something different than color is selected :-("
+ endif
+ endif
+ else
+ kontext "TabFont"
+ if TabFont.exists then
+ Warnlog "Something wrong with the word " + glLocale(5) + ". It was either not found or wrong."
+ else
+ warnlog "Error: Can't get context menu ?"
+ endif
+ endif
+
+ if (iWhere = 0) then
+ sleep 1 ' ABSOLUT NECESSARY !!! (TBO) else crash on UNIX on following command!!!!
+ FormatStylist ' closing
+ endif
+ sleep 4
+end function
+
+'------------------------------------------------------------------------------
+function CreateTextSetEffectAndAngle
+
+ kontext "DocumentImpress"
+ SetClipBoard "Revenue"
+ DocumentImpress.TypeKeys "<MOD1 V>"
+ SlideShowCustomAnimation
+ Kontext "Tasks"
+ WaitSlot (1000)
+ EffectAdd.Click
+ kontext
+ printlog " Switch to TabPage: Entrance "
+ active.setPage(TabEntrance)
+ kontext "TabEntrance"
+ if TabEntrance.exists(5) then
+ printlog " select in the listbox 'Effects' the second entry"
+ Effects.select (24)
+ printlog " select speed 'Fast' -> fourth item in list "
+ Speed.Select 2
+ TabEntrance.OK
+ end if
+ kontext "tasks"
+ EffectStart.TypeKeys "<HOME><DOWN>" 'Select the second entry.
+
+ kontext "DocumentImpress"
+ FormatPositionAndSize
+ WaitSlot (1000)
+ kontext
+ active.setPage(TabDrehung)
+ kontext "TabDrehung"
+
+ Winkel.TypeKeys "45"
+ TabDrehung.OK
+ WaitSlot (1000)
+ kontext "DocumentImpress"
+end function
+
+'-------------------------------------------------------------------------------
+function fGetPresentationStyle (optional sCompare as integer) as integer
+
+ printlog "+ ENTRY: with or without a string "
+ printlog "+ if string is given, it is compared with the LAST CHARACTER of the actual selected style in the stylist, if not equal print warnlog "
+ printlog "+ RETURN: LAST CHARACTER of the actual selected style in the stylist "
+ dim sTemp as integer
+ dim sTemp0 as string
+
+ sTemp = (-1)
+ printlog " open stylist if not already open: Format->Stylist "
+ kontext "Stylist"
+ if (Stylist.exists = FALSE) then
+ try
+ FormatStylist
+ catch
+ sleep 1
+ endcatch
+ endif
+ kontext "Stylist"
+ if Stylist.exists(5) then
+ sTemp0 = Vorlagenliste.GetSeltext
+ sTemp = val(right (sTemp0, 1))
+ if (isMissing (sCompare) = False) then ' if optional parameter exists
+ if sTemp <> sCompare then
+ Warnlog "Style Name's last character is '" + sTemp + "'; should be: '" + sCompare + "'"
+ endif
+ endif
+ FormatStylist
+ else
+ Warnlog "The Stylist could not be opened for unknown reasons :-("
+ endif
+ fGetPresentationStyle = sTemp
+end function
+
+'-------------------------------------------------------------------------------
+function hPrepareSearchBUG
+
+ ' warnlog "TBO: WA for bug #101974#"
+ ' Kontext "DocumentImpressOutlineView"
+ ' DocumentImpressOutlineView.TypeKeys ("<mod1 home>")
+end function
+
+'-------------------------------------------------------------------------------
+function makeNumOutOfText ( sNum as String ) as String
+
+ Dim sDummy as String
+ Dim iComma as Integer
+
+ iComma = Instr ( sNum, "," )
+ if iComma <> 0 then
+ sDummy = Left ( sNum, iComma-1 ) + "." + Mid ( sNum, iComma+1, len ( sNum )-2 )
+ else
+ sDummy = Left ( sNum, len (sNum)-2 )
+ end if
+ makeNumOutOfText = sDummy
+end function
+
+'-------------------------------------------------------------------------
+function wIgnorierenlisteLoeschen as boolean
+
+ Dim i as integer
+ Dim j as integer
+ dim iBooks as integer
+
+ ToolsOptions
+ Call hToolsOptions("LANGUAGESETTINGS","WRITINGAIDS")
+ Sleep 3
+ if (fGetIntoDictionary) then
+ qaErrorLog "wIgLi"
+ wIgnorierenlisteLoeschen = FALSE
+ exit function
+ end if
+ Kontext "BenutzerwoerterbuchBearbeiten"
+ sleep 1
+ iBooks = Buch.GetItemCount
+ for i = 1 to iBooks
+ Buch.Select i
+ if Left$(Buch.GetSelText,13)="IgnoreAllList" then
+ sleep 2
+ while (Loeschen.IsEnabled)
+ Loeschen.Click
+ sleep 1
+ wend
+ end if
+ next i
+ Kontext "BenutzerwoerterbuchBearbeiten"
+ BenutzerwoerterbuchBearbeiten.Cancel
+ Kontext "ExtrasOptionenDlg"
+ ExtrasOptionenDlg.OK
+ wIgnorierenlisteLoeschen = TRUE
+end function
+
+'-------------------------------------------------------------------------------
+function optionstest
+
+ dim filedialogue as boolean
+ dim lala as integer
+ dim optsound as integer
+ dim os as integer
+ dim oa as integer
+ dim odc as integer
+ dim ota as integer
+ dim ets as integer
+ dim etspeed as integer
+ dim etrep as integer
+ dim etshap as integer
+ dim etgt as integer
+
+ Kontext "Tasks"
+ EffectOptions.Click
+ kontext "TabEffect"
+ if TabEffect.Exists(5) then
+ optsound = Sound.GetItemCount
+ for os = 1 to optsound
+ Sound.Select os
+ kontext "OeffnenDlg"
+ if OeffnenDlg.Exists (5) then
+ filedialogue = TRUE
+ OeffnenDlg.Close
+ kontext "TabEffect"
+ else
+ kontext "TabEffect"
+ endif
+ next os
+ if AfterAnimation.isEnabled AND AfterAnimation.isVisible then
+ for oa = 1 to AfterAnimation.GetItemCount
+ AfterAnimation.Select oa
+ if DimColor.isEnabled then
+ for odc = 1 to DimColor.GetItemCount
+ DimColor.Select odc
+ next odc
+ endif
+ if DelayBetweenCharacters.isEnabled then
+ for odc = 1 to DelayBetweenCharacters.GetItemCount
+ DelayBetweenCharacters.Select odc
+ next odc
+ endif
+ next oa
+ else
+ if DelayBetweenCharacters.isEnabled then
+ for odc = 1 to DelayBetweenCharacters.GetItemCount
+ DelayBetweenCharacters.Select odc
+ next odc
+ endif
+ endif
+ for ota = 1 to TextAnimation.GetItemCount
+ TextAnimation.Select ota
+ next ota
+ printlog " switch to TabPage 'Timing' "
+ Kontext
+ Active.SetPage TabTiming
+ kontext "TabTiming"
+ if TabTiming.Exists(5) then
+ for ets = 1 to TimingStart.GetItemCount
+ TimingStart.Select ets
+ next ets
+ if Delay.isVisible AND Delay.isEnabled then
+ Delay.GetText
+ else
+ Warnlog "Delay in Effect Options were not to be found."
+ endif
+ if Speed.isVisible AND Speed.isEnabled then
+ for etspeed = 1 to Speed.GetItemCount
+ Speed.Select etspeed
+ next etspeed
+ else
+ printlog " No Speed-entry for this effect."
+ endif
+ if Repeat.isVisible AND Repeat.isEnabled then
+ for etrep = 1 to Speed.GetItemCount
+ Repeat.Select etrep
+ next etrep
+ else
+ Printlog "Repeat in Effect Options were not to be found."
+ endif
+ Rewind.Check
+ Rewind.UnCheck
+ TriggerAnimate.IsChecked
+ TriggerStart.IsChecked
+ if Shape.isVisible AND Shape.isEnabled then
+ for etshap = 1 to Shape.GetItemCount
+ Shape.Select etshap
+ next etshap
+ else
+ Warnlog "Shape in Effect Options were not to be found."
+ endif
+ else
+ warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work."
+ endif
+ printlog " switch to TabPage 'Timing' "
+ Kontext
+ active.setPage TabTextAnimation
+ kontext "TabTextAnimation"
+ if TabTextAnimation.Exists(5) then
+ lala = GroupText.GetItemCount
+ for etgt = 1 to lala
+ GroupText.Select etgt
+ if AutomaticallyAfter.IsEnabled then
+ AutomaticallyAfter.Check
+ AutomaticallyAfter.TypeKeys "<UP>"
+ endif
+ if AnimateAttachedShape.IsEnabled then
+ AnimateAttachedShape.Check
+ if AnimateAttachedShape.IsChecked = FALSE then
+ Warnlog "AnimateAttachedShape should have been checked"
+ endif
+ endif
+ if InreverseOrder.IsEnabled then
+ InreverseOrder.Check
+ if InreverseOrder.IsChecked = FALSE then
+ Warnlog "InreverseOrder should have been checked"
+ endif
+ endif
+ next etgt
+ TabTextAnimation.Cancel
+ else
+ warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work."
+ endif
+ else
+ warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work."
+ endif
+ Kontext "Tasks"
+
+end function
+
+'-------------------------------------------------------------------------------
+function optionstest2
+
+ dim filedialogue as boolean
+ dim lala as integer
+ dim optsound as integer
+ dim os as integer
+ dim oa as integer
+ dim odc as integer
+ dim ota as integer
+ dim ets as integer
+ dim etspeed as integer
+ dim etrep as integer
+ dim etshap as integer
+ dim etgt as integer
+
+ Kontext "Tasks"
+ EffectOptions.Click
+ kontext "TabEffect"
+ if TabEffect.Exists(5) then
+ Sound.Select 5
+ sleep 4
+ if Play.IsEnabled then
+ Play.Click
+ else
+ warnlog "Play should have been enabled after selecting a sound."
+ endif
+ AfterAnimation.Select 2
+ if DimColor.isEnabled then
+ DimColor.Select 5
+ else
+ Warnlog "DimColor should have been enabled"
+ endif
+ TextAnimation.Select 3
+ if DelayBetweenCharacters.isEnabled then
+ DelayBetweenCharacters.More 5
+ else
+ Warnlog "DelayBetweenCharacters should have been enabled"
+ endif
+ printlog " switch to TabPage 'Timing' "
+ Kontext
+ Active.SetPage TabTiming
+ kontext "TabTiming"
+ if TabTiming.Exists(5) then
+ TimingStart.Select 2
+ if Delay.isVisible AND Delay.isEnabled then
+ Delay.More 5
+ else
+ Warnlog "Delay in Effect Options were not to be found."
+ endif
+ if Speed.isVisible AND Speed.isEnabled then
+ Speed.Select 3
+ else
+ Printlog "Speed in Effect Options were not to be found."
+ endif
+ if Repeat.isVisible then
+ if Repeat.isEnabled then
+ for etrep = 1 to Speed.GetItemCount
+ Repeat.Select etrep
+ next etrep
+ else
+ Warnlog "Repeat in Effect Options were not enabled."
+ endif
+ else
+ Warnlog "Repeat in Effect Options were not visible."
+ endif
+ if Rewind.isVisible then
+ if Rewind.isEnabled then
+ Rewind.Check
+ else
+ Printlog "Rewind in Effect Options were not to be found."
+ endif
+ else
+ Printlog "Rewind in Effect Options were not to be found."
+ endif
+ if Rewind.isVisible then
+ if Rewind.isEnabled then
+ Rewind.Check
+ Rewind.UnCheck
+ else
+ Warnlog "Rewind in Effect Options were not enabled."
+ endif
+ else
+ Warnlog "Rewind in Effect Options were not visible."
+ endif
+ TriggerAnimate.IsChecked
+ TriggerStart.IsChecked
+ if Shape.isVisible then
+ if Shape.isEnabled then
+ for etshap = 1 to Shape.GetItemCount
+ Shape.Select etshap
+ next etshap
+ else
+ Warnlog "Shape in Effect Options were not to be found."
+ endif
+ else
+ Warnlog "Shape in Effect Options were not to be found."
+ endif
+ else
+ warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work."
+ endif
+ printlog " switch to TabPage 'Timing' "
+ Kontext
+ active.setPage TabTextAnimation
+ kontext "TabTextAnimation"
+ if TabTextAnimation.Exists(5) then
+ lala = GroupText.GetItemCount
+ for etgt = 1 to lala
+ GroupText.Select etgt
+ if AutomaticallyAfter.IsEnabled then
+ AutomaticallyAfter.Check
+ AutomaticallyAfter.TypeKeys "<UP>"
+ endif
+ if AnimateAttachedShape.IsEnabled then
+ AnimateAttachedShape.Check
+ if AnimateAttachedShape.IsChecked = FALSE then
+ Warnlog "AnimateAttachedShape should have been checked"
+ endif
+ endif
+ if InreverseOrder.IsEnabled then
+ InreverseOrder.Check
+ if InreverseOrder.IsChecked = FALSE then
+ Warnlog "InreverseOrder should have been checked"
+ endif
+ endif
+ next etgt
+ TabTextAnimation.Cancel
+ else
+ warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work."
+ endif
+ else
+ warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work."
+ endif
+ Kontext "Tasks"
+
+end function
+'-------------------------------------------------------------------------------
diff --git a/testautomation/graphics/tools/id_tools_2.inc b/testautomation/graphics/tools/id_tools_2.inc
new file mode 100644
index 000000000000..60836bdb274a
--- /dev/null
+++ b/testautomation/graphics/tools/id_tools_2.inc
@@ -0,0 +1,740 @@
+'encoding UTF-8 Do not remove or change this line!
+'*******************************************************************************
+' 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.
+'
+'/******************************************************************************
+'*
+'* Owner : wolfram.garten@oracle.com
+'*
+'* short description : some tools (Subs)
+'*
+'\******************************************************************************
+
+sub sFileExport
+
+ printlog " just exporting is done in qatesttool/framework/first test: 'tGraphicExport' but there is no loading, "
+ printlog "+ of the created files and the items on the dialogs are not checked completely "
+ Dim ExZaehler as Integer
+ Dim ExPath as String
+ Dim Liste( 50 ) as String
+
+ if (gApplication = "IMPRESS") then
+ ExtensionString = "odp"
+ else
+ ExtensionString = "odg"
+ end if
+
+ printlog "- all files are saved in [StarOfficePath]/user/work/[application]/export "
+ ExPath = ConvertPath (gOfficePath + "user\work\" + gApplication + "\export\" )
+ OutputGrafikTBO = ExPath & "expo"
+ Printlog "Create the export-dir for the graphics ( + ExPath + )"
+ try
+ app.mkDir ( ExPath )
+ ExZaehler = GetFileList ( ExPath , "*.*" , Liste() )
+ if ExZaehler <> 0 then
+ Printlog "The export-dir exists. The test want to delete all Files ( " + ExZaehler + " )!"
+ if KillFileList ( Liste() ) = FALSE then
+ Warnlog "Not all files can be deleted. " + ListCount ( Liste() ) + " files exists!"
+ end if
+ end if
+ catch
+ Warnlog "An error at creating the export-dir, the test ends!"
+ exit sub
+ endcatch
+
+ printlog "+ open the test document qatesttool/graphics/required/input/graphicexport.od ? ] "
+
+end sub
+
+'-------------------------------------------------------------------------
+sub callAutocorrectOptions
+
+ ToolsAutocorrect
+ Kontext
+ active.SetPage TabOptionen
+ Kontext "TabOptionen"
+end sub
+
+'-------------------------------------------------------------------------------
+sub sCheckCheck (i, Pruefung$, bEnabled)
+
+ hTextrahmenErstellen (Pruefung$,20,20,60,40)
+
+ select case i
+ ' Disabled sCheckUnderlined due to start of external program (web-browser) - FHA
+ case 5: bEnabled 'sCheckUnderlined (bEnabled)
+ case 6: sCheckDash (bEnabled)
+ case 8: sCheckSupperscript (bEnabled)
+ case else:
+ hTypeKeys "<Home><Shift End>"
+ EditCopy
+ if (GetClipboardText = Pruefung$) then ' not replaced
+ if bEnabled then ' not as expected
+ warnlog "- replacement failed"
+ endif
+ else ' replaced
+ if not bEnabled then ' not as expected
+ warnlog "- replacement failed : '" + Pruefung$ + "' - '" + GetClipboardText + "'"
+ endif
+ endif
+ end select
+
+ hTypeKeys "<Home><Shift End><Delete>"
+end sub
+
+'-------------------------------------------------------------------------------
+sub sCheckUnderlined (bEnabled)
+
+ dim btemp as boolean
+ hTypeKeys "<End><Left><Shift Left>"
+ try
+ ContextOpenHyperlink
+ btemp = true
+ catch
+ btemp = false
+ endcatch
+ if (bEnabled <> btemp) then
+ warnlog "- replacement failed"
+ endif
+ kontext
+ if active.exists(5) then
+ active.ok
+ endif
+end sub
+
+'-------------------------------------------------------------------------------
+sub sCheckSupperscript (bEnabled)
+
+ hTypeKeys "<Home><Right><Right>"
+ FormatCharacter
+ Kontext
+ Active.SetPage TabFontPosition
+ Kontext "TabFontPosition"
+ if (bEnabled <> Superscript.IsChecked) then
+ warnlog "- replacement failed"
+ endif
+ TabFontPosition.OK
+end sub
+
+'-------------------------------------------------------------------------------
+sub sCheckDash (bEnabled)
+
+ ' inserted is 45
+ ' en dash is 8211 / alt + 0150
+ ' em dash is 8212 / alt + 0151 ' which doen't work atm
+ dim sTemp as string
+ hTypeKeys "<End><Left><Left><Left><Left><Left><Left><Left><Left><Shift Left>"
+ EditCopy
+ sTemp = GetClipboard
+ if ((asc(sTemp) <> 45) <> bEnabled) then
+ warnlog "- replacement failed : " + bEnabled + " : " + asc(sTemp)
+ endif
+end sub
+
+'-------------------------------------------------------------------------------
+sub sPrintCheckOrder (optional bcheck as boolean)
+
+ dim sTemp as string
+ dim sTemp2 as string
+ dim i as integer
+ printlog " deselect all "
+ Printlog "-----------------------------------"
+ printlog " select in default order and take Position X in mind ;-) "
+ hTypeKeys ("<escape><escape>")
+ for i = 1 to 3
+ hTypeKeys ("<TAB>")
+ sTemp = fGetPositionX()
+ Printlog " - " + i +": " + sTemp
+ if ((isMissing(bcheck) <> FALSE) AND (bcheck = TRUE)) then
+ Select Case i
+ Case 1: sTemp2 = Ueber_Text_1
+ Case 2: sTemp2 = Ueber_Text_2
+ Case 3: sTemp2 = Ueber_Text_3
+ End Select
+ if sTemp <> sTemp2 then
+ warnlog " + " + i + " Arrangement is wrong; is: "+sTemp+"; should: "+sTemp2+";"
+ end if
+ endif
+ next i
+ hTypeKeys ("<escape><escape>")
+ Printlog "-----------------------------------"
+end sub
+
+'-------------------------------------------------------------------------------
+sub Select_Copy
+
+ hUseAsyncSlot( "EditSelectAll" )
+ hUseAsyncSlot( "EditCopy" )
+
+end Sub
+
+'-------------------------------------------------------------------------------
+sub SaveMeasurementSetFirst
+
+ select case( gApplication )
+ case "DRAW" : sApplication = "DRAWING"
+ case "IMPRESS" : sApplication = "IMPRESS"
+ case "WRITER" : sApplication = "WRITER"
+ case "CALC" : sApplication = "CALC"
+ case else : printlog( "Provided gApplication is not supported: " & gApplication )
+ end select
+
+ printlog " - save states "
+ ToolsOptions
+ hToolsOptions (sApplication,"General")
+ ReferenceOld = Masseinheit.GetSelText
+ Masseinheit.TypeKeys= "<HOME>" '(first entry)
+ ReferenceNew = Masseinheit.GetSelText
+ Kontext "ExtrasOptionenDlg"
+ hCloseDialog( ExtrasOptionenDlg, "ok" )
+
+end Sub
+
+'-------------------------------------------------------------------------------
+sub MeasurementSetFirst
+
+ dim f as integer
+
+ select case( gApplication )
+ case "DRAW" : sApplication = "DRAWING"
+ case "IMPRESS" : sApplication = "IMPRESS"
+ case "WRITER" : sApplication = "WRITER"
+ case "CALC" : sApplication = "CALC"
+ case else : printlog( "Provided gApplication is not supported: " & gApplication )
+ end select
+
+ ToolsOptions
+ hToolsOptions (sApplication,"General")
+ if Masseinheit.GetSelText <> ReferenceNew then 'find the right one.
+ Masseinheit.TypeKeys "<HOME>"
+ for f = 1 to Masseinheit.GetItemCount
+ if Masseinheit.GetSelText = ReferenceNew then
+ i = Masseinheit.GetItemCount 'find the right one.
+ else
+ Masseinheit.TypeKeys "<DOWN>"
+ endif
+ next f
+ endif
+ Kontext "ExtrasOptionenDlg"
+ hCloseDialog( ExtrasOptionenDlg, "ok" )
+
+end Sub
+
+'-------------------------------------------------------------------------------
+sub ResetMeasurement
+
+ dim f as integer
+
+ select case( gApplication )
+ case "DRAW" : sApplication = "DRAWING"
+ case "IMPRESS" : sApplication = "IMPRESS"
+ case "WRITER" : sApplication = "WRITER"
+ case "CALC" : sApplication = "CALC"
+ case else : printlog( "Provided gApplication is not supported: " & gApplication )
+ end select
+
+ printlog " - Reset states back to what they were before "
+ ToolsOptions
+ hToolsOptions (sApplication,"General")
+ if Masseinheit.GetSelText <> ReferenceOld then 'find the right one.
+ Masseinheit.TypeKeys "<HOME>"
+ for f = 1 to Masseinheit.GetItemCount
+ if Masseinheit.GetSelText = ReferenceOld then
+ i = Masseinheit.GetItemCount 'find the right one.
+ else
+ Masseinheit.TypeKeys "<DOWN>"
+ endif
+ next f
+ endif
+ Kontext "ExtrasOptionenDlg"
+ ExtrasOptionenDlg.OK
+end Sub
+
+'-------------------------------------------------------------------------------
+sub SetKontextApplication
+
+ hSetDocumentContext() ' Global routine exists
+
+end sub
+
+'-------------------------------------------------------------------------------
+
+sub hSetSpellHypLanguage
+ printlog " select a language with a dictionary, used for spellcheck, thesaurus and hyphenation "
+ dim sTrieit as string
+
+ ' only for asian languages i need to set the default language for the current document to 'English(USA)'
+ ' in all other languages the default has a dictionary
+ if (bAsianLan or (iSprache=55)) then
+ printlog " Tools->Options "
+ ToolsOptions
+ printlog " select from section 'Language Settings' the item 'Languages' "
+ hToolsOptions ("LANGUAGESETTINGS","LANGUAGES")
+ printlog " check checkbox 'For the current document only' in section 'Default languages for document' "
+ AktuellesDokument.Check
+ printlog " If there is no Language defined in 'locale-file' (in same directory as this file is) be smart and select one that supports spellchecking "
+ if (glLocale(4) = "") then
+ Kontext "ExtrasOptionenDlg"
+ printlog "+ cancel dialog 'Options - ' "
+ ExtrasOptionenDlg.Cancel
+ printlog "+ call the smart subroutine that tells you a valid language with an dictionary "
+ sTrieit = hFindSpellHypLanguage
+ printlog "+ Tools->Options "
+ ToolsOptions
+ printlog "+ select from section 'Language Settings' the item 'Languages' "
+ hToolsOptions ("LANGUAGESETTINGS","LANGUAGES")
+ printlog "+ check checkbox 'For the current document only' in section 'Default languages for document' "
+ AktuellesDokument.Check
+ printlog " if smart routine found something, select it in section 'Default languages for document' listbox 'Western' "
+ printlog "+ (manual users just select a language that has an icon in front of it ('ABC' with a checkmark) "
+ if (sTrieit <> "") then
+ try
+ Westlich.Select sTrieit
+ catch
+ Asiatisch.Select sTrieit
+ endcatch
+ else
+ qaErrorLog "Sorry no spellbook found: id_tools.inc::hSetSpellHypLanguage"
+ endif
+ else
+ printlog " if a Language is already defined in the textfile "
+ printlog glLocale (4)
+ try
+ printlog " select it in section 'Default languages for document' listbox 'Western' "
+ printlog "+ (manual users just select a language that has an icon in front of it ('ABC' with a checkmark) "
+ try
+ Westlich.Select glLocale (4)
+ catch
+ Asiatisch.Select glLocale (4)
+ endcatch
+ catch
+ warnlog "this language is not available: '" + glLocale (4) + "'"
+ dim qaw as string
+ qaw = glLocale (4)
+ endcatch
+ endif
+ try
+ printlog "selected: '" + Westlich.GetSelText + "'"
+ catch
+ printlog "selected: '" + Asiatisch.GetSelText + "'"
+ endcatch
+ Kontext "ExtrasOptionenDlg"
+ printlog "+ close dialog 'Options - ' with OK "
+ ExtrasOptionenDlg.OK
+ endif
+end sub
+
+'-------------------------------------------------------------------------------
+sub hTBOtypeInDoc
+
+ hRechteckErstellen ( 10, 10, 30, 40 )
+end sub
+
+'-------------------------------------------------------------------------------
+sub Position_Vergleichen (Ueber_Text_1 as string,Ueber_Text_2 as string,Ueber_Text_3 as string) ' Ueber_Text_1 : X-Position des Objektes
+
+ dim Dummy_Text as string
+ '------------------------------------------------------------ ' Ueber_Text_2 : printlog, bei richtigem Objekt
+ 'gMouseClick 99,99
+ sleep 1
+ gMouseClick 50,50
+ ContextPositionAndSize
+ kontext
+ active.SetPage TabPositionAndSize
+ kontext "TabPositionAndSize"
+ Dummy_Text = PositionX.GetText
+ TabPositionAndSize.OK
+ sleep 1
+ if TabPositionAndSize.exists (5) then printlog "Yo!"
+ printlog "What?"
+ if Dummy_Text = Ueber_Text_1 then
+ Printlog Ueber_Text_2
+ else
+ warnlog Ueber_Text_3,": is: ", Dummy_Text,"; should be: ", Ueber_Text_1
+ end if
+end sub
+
+'-------------------------------------------------------------------------------
+sub g_demoguide
+
+ printlog "------------------- g_demoguide.inc ------------------------"
+
+ call t_Introduction
+ call t_Interoperability
+ call t_DrawingEngine
+
+end sub
+
+'--------------------------------------------------------------------
+sub sFormatTextDrawAnimation
+
+ TabLauftext.OK
+ WaitSlot (3000)
+ gMouseClick 99,99
+ WaitSlot (3000)
+ hTypeKeys("<Tab>")
+ WaitSlot (1000)
+ hTypeKeys("<F2>")
+ WaitSlot (1000)
+ FormatTextDraw
+ Kontext
+ Active.SetPage TabLauftext
+ Kontext "TabLauftext"
+end sub
+
+'-------------------------------------------------------------------------------
+sub mouseclickinpresentation
+
+ Kontext "DocumentPresentation"
+ autoexecute=false
+ DocumentPresentation.MouseDown ( 50, 50 )
+ printlog " switch slides using mouse clicks "
+ DocumentPresentation.MouseUp ( 50, 50 )
+ autoexecute=true
+end sub
+
+'-------------------------------------------------------------------------------
+sub im_002
+ printLog Chr(13) + "--------- im_002_ ---------- $Date: 2008-06-16 10:43:16 $ $Revision: 1.1 $ "
+
+ Call tiEditDeleteSlide
+end sub
+
+'-------------------------------------------------------------------------------
+sub im_003
+ printLog Chr(13) + "--------- im_003_ ----------"
+
+ Call tiViewMasterView
+ Call tiViewSlideMaster
+ Call tiViewPanes
+ 'TODO: TBO not necessary here, move to optional
+ Call tiViewToolbar_1
+end sub
+
+'-------------------------------------------------------------------------------
+sub im_004
+ printLog Chr(13) + "--------- im_004_ ----------"
+
+ Call tiInsertSlideExpandSummary
+end sub
+
+'-------------------------------------------------------------------------------
+sub im_005
+ printLog Chr(13) + "--------- im_005_ ---------- "
+
+ Call tiFormatModifyLayout ' impress only
+end sub
+
+'-------------------------------------------------------------------------------
+sub im_007
+ printLog Chr(13) + "--------- im_007_ ---------- "
+
+ Call tSlideShowSlideShow
+ Call tSlideShowRehearseTimings
+ Call tSlideShowSlideShowSettings
+ Call tSlideShowCustomSlideShow
+ Call tSlideShowSlideTransition
+
+ Call tSlideShowShowHideSlide
+ Call tSlideShowAnimation
+ Call tSlideShowCustomAnimation
+ Call tSlideShowInteraction
+end sub
+
+'-------------------------------------------------------------------------------
+sub im_011
+ printLog Chr(13) + "--------- im_011_ ---------- "
+
+ Call tiDiaLeiste ' only IMPRESS
+end sub
+
+'-------------------------------------------------------------------------------
+sub D_002
+ printLog Chr(13) + "--------- D_002_ ---------- "
+
+ Call tdEditCrossFading
+ Call tdEditLayer
+end sub
+
+'-------------------------------------------------------------------------------
+sub D_003
+ printLog Chr(13) + "--------- D_003_ ---------- "
+
+ call tdViewSlide
+ call tdViewPagePane
+end sub
+
+'-------------------------------------------------------------------------------
+sub D_005
+ printLog Chr(13) + "--------- D_005_ ---------- "
+
+ call tiFormatLayer ' only in draw !!!!!
+end sub
+
+'-------------------------------------------------------------------------------
+sub d_007
+
+ printLog Chr(13) + "--------- d_007 ---------- "
+
+ call tdModifyRotate
+end sub
+
+'-------------------------------------------------------------------------------
+sub hOpenGallery
+
+ Kontext "DocumentWriter"
+ ToolsGallery
+ WaitSlot (2000)
+ Kontext "Gallery"
+ if Gallery.NotExists(2) then
+ ToolsGallery
+ WaitSlot (2000)
+ end if
+end sub
+
+'-------------------------------------------------------------------------
+sub LoadGraphic ( sFile as String, bOK as Boolean ) as boolean
+
+ Dim iW
+ Dim iWMax
+ Dim iH
+ Dim iHMax
+ if app.FileLen(sFile) = "0" then warnlog " the file (" + (sFile) + ") seems to be zero bytes large."
+ call hGrafikEinfuegen ( sFile )
+ sleep (1)
+ FormatGraphics
+ Kontext
+ Active.SetPage TabType
+ Kontext "TabType"
+ OriginalSize.Click
+ iW = Val ( makeNumOutOfText ( Width.GetText ) )
+ iH = Val ( makeNumOutOfText ( Height.GetText )
+ if instr ( sFile, "photo" ) <> 0 then
+ iWMax = 22
+ iHMax = 25
+ else
+ iWMax = 17
+ iHMax = 25
+ end if
+ if iW > iWMax OR iH > iHMax then
+ printlog sFile + " :"
+ warnlog "Size is too big ( max should be '" + iWMax + "' cm* '" + iHMax + "'cm DinA4 with default borders ), but it is '" + iW + "' * '" + iH + "'"
+ LoadGraphic = false
+ end if
+ TabType.OK
+ sleep (1)
+ Kontext "DocumentWriter"
+ DocumentWriter.TypeKeys "<Delete>"
+ sleep (1)
+ bOK = TRUE
+end sub
+
+'-------------------------------------------------------------------------
+sub CheckGraphic ( sFile as String, bOK as Boolean ) as boolean
+
+ if app.FileLen(sFile) = "0" then warnlog " the file (" + (sFile) + ") seems to be zero bytes large."
+ bOK = TRUE
+end sub
+
+'-------------------------------------------------------------------------
+sub GetOnlyGraphics ( OldList() as String, NewList() as String )
+
+ Dim i as Integer
+ Dim sExtension as String
+
+ ListAllDelete ( NewList() )
+ for i=1 to ListCount ( OldList() )
+ sExtension = lcase ( Right ( OldList(i), 3 ) )
+ if sExtension = "jpg" OR sExtension = "gif" OR sExtension = "wmf" OR sExtension = "png" then
+ ListAppend ( NewList(), OldList(i) )
+ end if
+ next i
+end sub
+'-------------------------------------------------------------------------------
+sub hWalkTheStyles (optional a as integer,optional b as integer)
+ dim i as integer
+
+ if isMissing (a) then a=1
+ if isMissing (b) then b=2
+ i=1
+ if a <= i AND i <= b then
+ Kontext
+ printlog " switch to tabpage 'Line' "
+ Messagebox.SetPage TabLinie
+ kontext "TabLinie"
+ Call DialogTest ( TabLinie )
+ Kontext
+ printlog " switch to tabpage 'Area' "
+ Messagebox.SetPage TabArea
+ kontext "TabArea"
+ Call DialogTest ( TabArea )
+ printlog " select radio button 'none' "
+ NoFill.Check
+ Call DialogTest ( TabArea, 1 )
+ printlog " select radio button 'color' "
+ Color.Check
+ Call DialogTest ( TabArea, 2 )
+ printlog " select radio button 'gradient' "
+ Gradient.Check
+ Call DialogTest ( TabArea, 3 )
+ printlog " select radio button 'hatching' "
+ Hatching.Check
+ Call DialogTest ( TabArea, 4 )
+ printlog " select radio button 'bitmap' "
+ Bitmap.Check
+ Call DialogTest ( TabArea, 5 )
+ Kontext
+ printlog " switch to tabpage 'shadowing' "
+ Messagebox.SetPage TabSchatten
+ kontext "TabSchatten"
+ printlog " check 'use shadow' "
+ Anzeigen.check
+ Call DialogTest ( TabSchatten )
+ Kontext
+ printlog " switch to tabpage 'Transparency' "
+ Messagebox.SetPage TabTransparenz
+ kontext "TabTransparenz"
+ printlog " check 'No transparency' "
+ KeineTransparenz.Check
+ printlog " check 'Transparency' "
+ LineareTransparenz.Check
+ printlog " check 'Gradient' "
+ Transparenzverlauf.Check
+ Kontext
+ printlog " switch to tabpage 'Font' "
+ Messagebox.SetPage TabFont
+ kontext "TabFont"
+ Call DialogTest ( TabFont )
+ Kontext
+ printlog " switch to tabpage 'Font Effect' "
+ Messagebox.SetPage TabFontEffects
+ kontext "TabFontEffects"
+ Kontext
+ printlog " switch to tabpage 'indents & spacing' "
+ Messagebox.SetPage TabEinzuegeUndAbstaende
+ kontext "TabEinzuegeUndAbstaende"
+ Call DialogTest ( TabEinzuegeUndAbstaende )
+ endif
+ i=2
+ if a <= i AND i <= b then
+ Kontext
+ printlog " switch to tabpage 'Organize' "
+ Messagebox.SetPage TabVerwalten
+ kontext "TabVerwalten"
+ Call DialogTest ( TabVerwalten )
+ Kontext
+ printlog " switch to tabpage 'text' "
+ Messagebox.SetPage TabText
+ Kontext "TabText"
+ Call DialogTest ( TabText )
+ Kontext
+ printlog " switch to tabpage 'text animation' "
+ Messagebox.SetPage TabLauftext
+ Kontext "TabLauftext"
+ Call DialogTest ( TabLauftext )
+ Kontext
+ printlog " switch to tabpage 'dimension' "
+ Messagebox.SetPage TabBemassung
+ Kontext "TabBemassung"
+ Call DialogTest ( TabBemassung )
+ Kontext
+ printlog " switch to tabpage 'connector' "
+ Messagebox.setpage TabVerbinder
+ Kontext "TabVerbinder"
+ Call Dialogtest ( TabVerbinder )
+ Kontext
+ printlog " switch to tabpage 'alignment' "
+ Messagebox.setpage TabAusrichtungAbsatz
+ Kontext "TabAusrichtungAbsatz"
+ Links.Check
+ Rechts.Check
+ Zentriert.Check
+ Blocksatz.Check
+ Kontext
+ printlog " switch to tabpage 'Tabs' "
+ Messagebox.setpage TabTabulator
+ Kontext "TabTabulator"
+ printlog " click 'new' "
+ Neu.click
+ printlog " ' MAYBE CHECK COUNT OF THIS ?? Position svx:MetricBox:RID_SVXPAGE_TABULATOR:ED_TABPOS "
+ printlog " click 'delete all' "
+ AlleLoeschen.click
+ printlog " click 'new' "
+ Neu.click
+ printlog " click 'delete' "
+ Loeschen.click
+ endif
+ i=3
+ if a <= i AND i <= b then
+ Kontext
+ printlog " switch to tabpage 'Bullets' "
+ Messagebox.SetPage TabBullet
+ Kontext "TabBullet"
+ sleep 1
+ Call DialogTest (TabBullet)
+ sleep 1
+ Kontext
+ printlog " switch to tabpage 'Numbering Type' "
+ Messagebox.SetPage TabNumerierungsart
+ Kontext "TabNumerierungsart"
+ sleep 1
+ Call DialogTest (TabNumerierungsart)
+ sleep 1
+ Kontext
+ printlog " switch to tabpage 'Graphics' "
+ Messagebox.SetPage TabGrafiken
+ Kontext "TabGrafiken"
+ sleep 1
+ Call DialogTest (TabGrafiken)
+ sleep 1
+ Kontext
+ printlog " switch to tabpage 'Customize' "
+ Messagebox.SetPage TabOptionenNumerierung
+ Kontext "TabOptionenNumerierung"
+ sleep 1
+ Call DialogTest (TabOptionenNumerierung)
+ sleep 1
+ endif
+end sub
+
+'---------------------------------------------------------------------------------------
+sub sSelectEmptyLayout
+ if gApplication = "IMPRESS" then
+ Kontext "DocumentImpress"
+ DocumentImpress.UseMenu
+ hMenuSelectNr (5)
+ hMenuSelectNr (13)
+ printlog "Changing focus to TaskPane."
+ kontext "Tasks"
+ sleep (1)
+ printlog "Selecting first and empty layout."
+ LayoutsPreview.TypeKeys "<HOME>"
+ sleep (1)
+ LayoutsPreview.TypeKeys "<RETURN>"
+ sleep (1)
+ kontext "DocumentImpress"
+ else
+ printlog "No change of Layout needed."
+ endif
+end sub
diff --git a/testautomation/graphics/tools/locale_1.txt b/testautomation/graphics/tools/locale_1.txt
new file mode 100755
index 000000000000..f71b11e55fae
--- /dev/null
+++ b/testautomation/graphics/tools/locale_1.txt
@@ -0,0 +1,134 @@
+6
+01
+Handouts
+Slide
+Default
+English (USA)
+Background
+German (Germany)
+7
+Dummy
+Страница
+Базовый
+Английский (США)
+Мастер
+Немецкий (Германия)
+31
+Handout-pagina
+Pagina
+Standaard
+Engels (VS)
+Achtergrond
+Duits (Duitsland)
+33
+Prospectus
+Diapo
+Standard
+Anglais (U.S.A.)
+Arrière-plan
+Allemand (Allemagne)
+34
+Dummy
+Página
+Predeterminado
+Inglés (Estados Unidos)
+Fondo
+Alemán (Alemania)
+36
+Dummy
+Dia
+Alapértelmezett
+Angol (USA)
+Háttér
+Német (Németország)
+39
+Stampati
+Pagina
+Standard
+Inglese (USA)
+Sfondo
+Tedesco (Germania)
+45
+Dummy
+Dias
+Standard
+Engelsk (USA)
+Master
+Tysk (Tyskland)
+46
+Flygblad
+Sida
+Standard
+engelska (USA)
+Bakgrund
+tyska (Tyskland)
+48
+Dummy
+Slajd
+Domyślnie
+Angielski (USA)
+zorze~c
+Niemiecki (Niemcy)
+49
+Dummy
+Folie
+Standard
+Englisch (USA)
+Hintergrund
+Deutsch (Deutschland)
+50
+Dummy
+Prosojnica
+Privzeto
+angleški (ZDA)
+Ozadje
+nemški (Nemčija)
+55
+Folhetos
+Slide
+Padrão
+Inglês (EUA)
+Plano de Fundo
+Alemão (Alemanha)
+81
+Dummy
+ページ
+標準
+英語 (米国)
+スター(~M)
+ドイツ語 (ドイツ)
+82
+유인물
+슬라이드
+기본값
+영어(미국)
+배경
+독일어(독일)
++84
++Dummy
++Ảnh chiếu
++Mặc định
++Anh (Mỹ)
++Chính
++Đức (Đức)
+86
+Dummy
+页
+默认
+英语(美国)
+背景
+德语(德国)
+88
+Dummy
+頁
+標準
+英文 (美國)
+景(~M)
+德文 (德國)
+1
+Dummy
+Slide
+Default
+English (USA)
+Background
+German (Germany)
diff --git a/testautomation/graphics/tools/makeLokaleTxt.bas b/testautomation/graphics/tools/makeLokaleTxt.bas
new file mode 100644
index 000000000000..59e66af87ff6
--- /dev/null
+++ b/testautomation/graphics/tools/makeLokaleTxt.bas
@@ -0,0 +1,286 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' 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.
+'
+'/************************************************************************
+'*
+'* Owner : wolfram.garten@oracle.com
+'*
+'* short description : Graphics: get language dependant strings
+'*
+'\******************************************************************
+
+printlog "Run this script, if you are testing a new language."
+printlog "it will add all relevant strings to the file qatesttool/graphics/tools/locale_1.txt "
+printlog "you just have to make sure, that every language only appears once in the file! "
+
+public glLocale (15*20) as string
+public S1 as string
+public S2 as string
+public S3 as string
+public S4 as string
+
+sub main
+ use "graphics\tools\id_tools.inc"
+ use "graphics\optional\includes\impress\i_slideshow.inc"
+ use "graphics\optional\includes\impress\i_slideshow2.inc"
+ use "graphics\optional\includes\global\g_stylist.inc" 'format -> stylist
+ use "graphics\optional\includes\global\g_spellcheck.inc" 'tools
+
+ ' GetOLEDefaultNames
+
+ if hSetLocaleStrings ( gTesttoolPath + "graphics\tools\locale_1.txt" , glLocale () ) = FALSE then
+ warnlog "Locales file doesn't exist: '" + gTesttoolPath + "graphics\tools\locale_1.txt'"
+ endif
+
+ printlog "Current saved strings are: "
+ printlog "O 1: " + glLocale (1) 'Handouts ' im_103.inc::tViewWorkspaceHandoutView
+ printlog "O 2: " + glLocale (2) 'Slide ' impress/slideshow.inc::
+ printlog "O 3: " + glLocale (3) 'Default
+ printlog "O 4: " + glLocale (4) 'English (USA)
+ printlog "O 5: " + glLocale (5) 'Background
+ printlog "O 6: " + glLocale (6) 'German (Germany)
+
+ printlog "LOCALE Slide - 2 "
+ S1 = glLocale (2) + " 1"
+ S2 = glLocale (2) + " 2"
+ S3 = glLocale (2) + " 3"
+ S4 = glLocale (2) + " 4"
+
+ printlog "Strings from current office: "
+
+ '(1)tViewWorkspaceHandoutView
+ hNewDocument
+ ' hUseMenu
+ ' hMenuSelectNr(3)
+ ' hMenuSelectNr(11)
+ ' printlog hMenuItemGetText (4)
+ ' printlog "view background handout"
+ ' ViewWorkspaceHandoutView
+ ' sleep 2
+ ' FormatPage
+ sleep 2
+ glLocale (1) = "Dummy" 'Seitenname.GetText
+ Printlog "L1: '" + glLocale (1) + "'"
+ '3 Seitenlayout.Close
+ ' ViewWorkspaceDrawingView
+
+ '(2)tSlideShowInteraction/fGetSlideName
+ Kontext "Navigator"
+ if NOT Navigator.exists then
+ hTypeKeys "<SHIFT MOD1 F5>"
+ endif
+ Kontext "NavigatorDraw"
+ if NavigatorDraw.exists (5) then
+ sleep 3
+ glLocale (2) = left(Liste.GetSelText, len(Liste.GetSelText)-2)
+ printlog "L2: '" + glLocale (2) + "'"
+ else
+ warnlog "Navigator not open!"
+ endif
+ Kontext "Navigator"
+ if Navigator.Exists then
+ Navigator.Close
+ endif
+
+ hCloseDocument
+
+ '(3)tFormatStylistTemplateSelect 'stylist.inc::tFormatStylistTemplateSelect
+ gApplication = "WRITER"
+ hNewDocument
+ kontext "Gestalter"
+ if NOT Gestalter.Exists then
+ FormatStylesFormatting
+ sleep 1
+ endif
+ glLocale (3) = Vorlagenliste.getSelText ' HID_STYLE_LISTBOX ' get "Default"
+ printlog "L3: '" + glLocale (3) + "'"
+ hCloseDocument
+ gApplication = "IMPRESS"
+
+ '(4)ASIANONLY tiToolsSpellcheckError
+ ' no need to exclude eurtopean!
+ ' this entry will get English (USA)
+ ' spellbook language as alternative for not existijng asians one
+ ' tiToolsSpellcheckError
+ gApplication = "DRAW"
+ hDateiOeffnen (convertPath(gTesttoolpath + "graphics/required/input/recht_1.sxd"))
+ sleep 5
+ hTypeKeys "<Tab><F2><Mod1 Home><Shift End>"
+ sleep 5
+ FormatCharacter
+ sleep 1
+ Kontext
+ Messagebox.SetPage TabFont
+ kontext "TabFont"
+ sleep 1
+ try
+ glLocale (4) = LanguageWest.getSelText
+ printlog "L4: '" + glLocale (4) + "'"
+ catch
+ glLocale (4) = Language.getSelText
+ printlog "L4: '" + glLocale (4) + "'"
+ endcatch
+ TabFont.Ok
+ sleep 5
+ Call hCloseDocument
+ gApplication = "IMPRESS"
+
+ '(5)tFormatStylistBackground
+ ' stylist only one tabpage area!
+ Dim i as Integer : Dim AlterWert as String : Dim NeuerWert as String : Dim rightentry as Integer : Dim qd as Integer : Dim numberofentries as Integer
+ hNewDocument
+
+ kontext "DocumentImpress"
+ if iSprache <> "36" then
+ Kontext "Gestalter"
+ if NOT Gestalter.Exists(1) then
+ hTypeKeys "<F11>"
+ Kontext "Gestalter"
+ endif
+ Praesentationsvorlagen.Click
+ sleep (2)
+ for qd = 1 to Vorlagenliste.GetItemCount
+ Kontext "Gestalter"
+ Vorlagenliste.Select qd
+ Vorlagenliste.OpenContextMenu
+ hMenuSelectNr (1)
+ kontext "TabArea"
+ if TabArea.exists then
+ rightentry = qd
+ TabArea.Close
+ else
+ kontext "TabVerwalten"
+ if TabVerwalten.Exists(1) then
+ TabVerwalten.Close
+ endif
+ kontext "TabLinie"
+ if TabLinie.Exists(1) then
+ TabLinie.Close
+ endif
+ kontext "TabSchatten"
+ if TabSchatten.Exists(1) then
+ TabSchatten.Close
+ endif
+ kontext "TabTransparenz"
+ if TabTransparenz.Exists(1) then
+ TabTransparenz.Close
+ endif
+ kontext "TabFont"
+ if TabFont.Exists(1) then
+ TabFont.Close
+ endif
+ kontext "TabFontEffects"
+ if TabFontEffects.Exists(1) then
+ TabFontEffects.Close
+ endif
+ kontext "TabEinzuegeUndAbstaende"
+ if TabEinzuegeUndAbstaende.Exists(1) then
+ TabEinzuegeUndAbstaende.Close
+ endif
+ kontext "TabAusrichtungAbsatz"
+ if TabAusrichtungAbsatz.Exists(1) then
+ TabAusrichtungAbsatz.Close
+ endif
+ kontext "TabTabulator"
+ if TabTabulator.Exists(1) then
+ TabTabulator.Close
+ endif
+ kontext "TabBullet"
+ if TabBullet.Exists(1) then
+ TabBullet.Close
+ endif
+ kontext "TabNumerierungsart"
+ if TabNumerierungsart.Exists(1) then
+ TabNumerierungsart.Close
+ endif
+ kontext "TabGrafiken"
+ if TabGrafiken.Exists(1) then
+ TabGrafiken.Close
+ endif
+ kontext "TabOptionenNumerierung"
+ if TabOptionenNumerierung.Exists(1) then
+ TabOptionenNumerierung.Close
+ endif
+ endif
+ Kontext "Gestalter"
+ next qd
+
+ dim stringname as string
+ Vorlagenliste.Select rightentry
+ stringname = Vorlagenliste.GetSelText '(1) 'SelText 'MenuGetItemText(MenugetItemid(1)) '8
+ glLocale (5) = stringname ' "dummy" 'right(stringname, len(stringname)-1)
+ printlog "L5: '" + glLocale (5) + "'"
+ endif
+
+ '(6)
+ ' this entry will get German (Germany)
+ gApplication = "DRAW"
+ hDateiOeffnen (convertPath(gTesttoolpath + "graphics/required/input/recht_49.sxd"))
+ sleep 5
+ hTypeKeys "<Tab><F2><Mod1 Home><Shift End>"
+ sleep 5
+ FormatCharacter
+ sleep 1
+ Kontext
+ Messagebox.SetPage TabFont
+ kontext "TabFont"
+ sleep 1
+ try
+ glLocale (6) = LanguageWest.getSelText
+ printlog "L6: '" + glLocale (6) + "'"
+ catch
+ glLocale (6) = Language.getSelText
+ printlog "L6: '" + glLocale (6) + "'"
+ endcatch
+ TabFont.Ok
+ sleep 5
+ Call hCloseDocument
+
+ gApplication = "IMPRESS"
+
+ dim lLocale (15*20) as string ' list, where file gets loaded into
+ dim flocale as string
+
+ flocale = convertPath (gTesttoolPath + "graphics\tools\locale_1.txt")
+ ListRead (lLocale (), fLocale, "UTF8" )
+ ListAppend(lLocale (), iSprache)
+ for i = 1 to 6
+ ListAppend(lLocale (), glLocale (i))
+ next i
+ ListWrite (lLocale (), fLocale, "UTF8" )
+
+ hCloseDocument
+
+end sub
+
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+ 'use "global\tools\includes\optional\t_ole.inc"
+ gApplication = "IMPRESS"
+ Call GetUseFiles
+end sub
+
+