diff options
Diffstat (limited to 'testautomation/graphics/tools')
-rw-r--r-- | testautomation/graphics/tools/id_tools.inc | 1504 | ||||
-rw-r--r-- | testautomation/graphics/tools/id_tools_2.inc | 740 | ||||
-rwxr-xr-x | testautomation/graphics/tools/locale_1.txt | 134 | ||||
-rw-r--r-- | testautomation/graphics/tools/makeLokaleTxt.bas | 286 |
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 + + |