'encoding UTF-8 Do not remove or change this line!
'*************************************************************************
'
' Licensed to the Apache Software Foundation (ASF) under one
' or more contributor license agreements. See the NOTICE file
' distributed with this work for additional information
' regarding copyright ownership. The ASF licenses this file
' to you under the Apache License, Version 2.0 (the
' "License"); you may not use this file except in compliance
' with the License. You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing,
' software distributed under the License is distributed on an
' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
' KIND, either express or implied. See the License for the
' specific language governing permissions and limitations
' under the License.
'
'*************************************************************************
'*
'* short description : General option test (sub-routines for options tests)
'*
'\******************************************************************************
function hToolsOptions ( Applicationname as string, Tabpagename as string, OPTIONAL bSilent as Boolean ) as Boolean
const CFN = "global::tools::includes::required::t_option.inc:"
Dim bCorPage as Boolean
Dim bFirst as Boolean
Dim InitialNodeCount as Integer ' All nodes collapsed
Dim CurrentNodeCount as Integer ' Number of nodes when a top node is expanded
Dim iCurrentPage as Integer ' Increment variable for stepping through the nodes
Dim startpos as integer
Applicationname = ucase( Applicationname )
Tabpagename = ucase( Tabpagename )
'///hToolsOptions: Routine to select the correct option page
'///+input: The groupname as string, name of optionpage as string
'///+note: The options dialog has to be opened
'///+OPTIONAL: TRUE as an additional parameter if you want a printlog instead of a warning if a page has not been found.
if IsMissing(bSilent) then
bSilent = FALSE
end if
Kontext "Active"
try
if Active.Exists(1) then Active.OK
catch
if Active.Exists(1) then Active.No
endcatch
'///Group names list:
'///+
- "StarOffice"
'///+- "LoadSave"
'///+- "LanguageSettings"
'///+- "Internet"
'///+- "Textdocument"
'///+- "HTMLDocument"
'///+- "Spreadsheet"
'///+- "Presentation"
'///+- "Drawing"
'///+- "Formula"
'///+- "Chart"
'///+- "Datasource"
Kontext "ExtrasOptionenDlg"
if ExtrasOptionenDlg.Exists then
Optionsliste.TypeKeys ""
for iCurrentPage = 1 to 12+1
Optionsliste.TypeKeys "-"
next iCurrentPage
'Optionsliste.TypeKeys ""
InitialNodeCount = Optionsliste.GetItemCount
select case Applicationname
case "STAROFFICE" : startpos = 1
case "LOADSAVE" : startpos = 2
case "LANGUAGESETTINGS" : startpos = 3
case "WRITER" : startpos = 4
case "MASTERDOCUMENT" : startpos = 4
case "HTML" : startpos = 5
case "CALC" : startpos = 4
case "IMPRESS" : startpos = 4
case "DRAW" : startpos = 4
case "MATH" : startpos = 4
case "DATASOURCES" : startpos = InitialNodeCount -2
case "CHART" : startpos = InitialNodeCount -1
case "INTERNET" : startpos = InitialNodeCount ' always the last one
case else
warnlog( CFN & "Invalid Application name specified: " & Applicationname )
printlog( "Valid options are:" )
printlog( "gApplications: WRITER, CALC, MASTERDOCUMENT, DRAW, IMPRESS, HTML, MATH, CHART" )
printlog( "additionally.: STAROFFICE, LOADSAVE, LANGUAGESETTINGS, DATASOURCES, INTERNET" )
printlog( "All names must be uppercase" )
exit function
end select
Optionsliste.select Startpos
Optionsliste.typekeys "+"
CurrentNodeCount = Optionsliste.GetItemCount
bFirst = TRUE
for iCurrentPage = 1 to CurrentNodeCount - InitialNodeCount
bCorPage = FALSE
Kontext "ExtrasOptionenDlg"
Optionsliste.TypeKeys ""
WaitSlot() ' Some sort of NOOP
select case Applicationname
case "STAROFFICE"
'///Pages in group "StarOffice"are:
'///+- "UserData"
'///+- "General"
'///+- "Memory"
'///+- "View"
'///+- "Print"
'///+- "Paths"
'///+- "Colors"
'///+- "FontReplacement"
'///+- "Security"
'///+- "Appearence"
'///+- "Accessibility"
'///+- "Java"
select case Tabpagename
case "USERDATA"
Kontext "TabBenutzerdaten"
if TabBenutzerdaten.exists then bCorPage = TRUE
case "GENERAL"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabSonstigesAllgemein"
If TabSonstigesAllgemein.exists(2) then bCorPage = TRUE
case "MEMORY"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabMemory"
If TabMemory.exists(2) then bCorPage = TRUE
case "VIEW"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabAnsichtAllgemein"
If TabAnsichtAllgemein.exists(2) then bCorPage = TRUE
case "PRINT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 5 )
bFirst = FALSE
Kontext "TabPrintStarOffice"
if TabPrintStarOffice.exists(2) then bCorPage = TRUE
case "PATHS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 6 )
bFirst = FALSE
Kontext "TabPfade"
If TabPfade.exists(2) then bCorPage = TRUE
case "COLORS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 7 )
bFirst = FALSE
Kontext "TabFarben"
If TabFarben.exists(4) then bCorPage = TRUE
case "FONTREPLACEMENT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 8 )
bFirst = FALSE
Kontext "TabSchriftErsetzung"
If TabSchriftErsetzung.exists(2) then bCorPage = TRUE
case "SECURITY"
if bFirst = TRUE then Optionsliste.Select ( startpos + 9 )
bFirst = FALSE
Kontext "TabSecurity"
If TabSecurity.exists(2) then bCorPage = TRUE
case "APPEARANCE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 10 )
bFirst = FALSE
Kontext "TabAppearance"
If TabAppearance.exists(2) then bCorPage = TRUE
case "ACCESSIBILITY"
if bFirst = TRUE then Optionsliste.Select ( startpos + 11 )
bFirst = FALSE
Kontext "TabAccessibility"
If TabAccessibility.exists(2) then bCorPage = TRUE
case "JAVA"
if bFirst = TRUE then Optionsliste.Select ( startpos + 12 )
bFirst = FALSE
Kontext "TabJava"
If TabJava.exists(2) then bCorPage = TRUE
case "ONLINEUPDATE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 13 )
bFirst = FALSE
Kontext "TabOnlineUpdate"
If TabOnlineUpdate.exists(2) then bCorPage = TRUE
case "IMPROVEMENT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 14 )
bFirst = FALSE
Kontext "TabOOoImprovement"
If TabOOoImprovement.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "LOADSAVE"
'///Pages in group "LoadSave"are:
'///+- "General"
'///+- "VBAProperties"
'///+- "MicrosoftOffice"
'///+- "HTMLCompatibility"
select case Tabpagename
case "GENERAL"
Kontext "TabSpeichern"
if TabSpeichern.exists then bCorPage = TRUE
case "VBAPROPERTIES"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabMicrosoftOffice97"
If WinwordBasicLaden.exists(4) then bCorPage = TRUE
case "MICROSOFTOFFICE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabMicrosoftOffice2"
If Auswahl.exists(4) then bCorPage = TRUE
case "HTMLCOMPATIBILITY"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabHtml"
If TabHtml.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "LANGUAGESETTINGS"
'///Pages in group "LanguageSettings"are:
'///+- "Language"
'///+- "WritingAids"
'///+- "SearchingJapanese"
'///+- "AsianLayout"
'///+"Complex Text Layout"
Kontext "Active"
if Active.Exists then Active.OK
Kontext "ExtrasOptionenDlg"
select case Tabpagename
case "LANGUAGES"
Kontext "TabSprachen"
If TabSprachen.exists(2) then bCorPage = TRUE
case "WRITINGAIDS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabLinguistik"
If TabLinguistik.exists(2) then bCorPage = TRUE
case "SEARCHINGINJAPANESE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabJapaneseFind"
if TabJapaneseFind.exists(2) then bCorPage = TRUE
case "ASIANLAYOUT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabAsianLayoutOptions"
if TabAsianLayoutOptions.exists(2) then bCorPage = TRUE
case "COMPLEXTEXTLAYOUT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 5 )
bFirst = FALSE
Kontext "TabComplexTextLayout"
if TabComplexTextLayout.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "INTERNET"
'///Pages in group "Internet"are:
'///+
Kontext "Active"
if Active.Exists then Active.OK
Kontext "ExtrasOptionenDlg"
select case Tabpagename
case "PROXY"
Kontext "TabProxyServer"
if TabProxyServer.exists(2) then bCorPage = TRUE
case "SEARCH"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabSuche"
If TabSuche.exists(2) then bCorPage = TRUE
case "EMAIL"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabEmail"
If TabEmail.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "WRITER"
'///Pages in group "TextDocument"are:
'///+- "General"
'///+- "View"
'///+- "FormattinAids"
'///+- "Grid"
'///+- "BasicFonts"
'///+- "BasicFontsAsian"
'///+- "BasicFontsCTL"
'///+- "Print"
'///+- "Table"
'///+- "Changes"
select case Tabpagename
case "GENERAL"
Kontext "TabLaden"
If TabLaden.exists then bCorPage = TRUE
case "VIEW"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabInhalteWriter"
If TabInhalteWriter.exists(2) then bCorPage = TRUE
case "FORMATTINGAIDS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabDirektCursor"
If TabDirektCursor.exists(2) then bCorPage = TRUE
case "GRID"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabRaster"
If TabRaster.exists(2) then bCorPage = TRUE
case "BASICFONTS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 5 )
bFirst = FALSE
Kontext "TabGrundschriften"
If TabGrundschriften.exists(2) then bCorPage = TRUE
case "BASICFONTSASIAN"
if bFirst = TRUE then Optionsliste.Select ( startpos + 6 )
bFirst = FALSE
Kontext "TabGrundschriftenASIAN"
If TabGrundschriftenASIAN.exists(2) then bCorPage = TRUE
case "BASICFONTSCTL"
if bFirst = TRUE then Optionsliste.Select ( startpos + 6 )
bFirst = FALSE
Kontext "TabGrundschriftenCTL"
If TabGrundschriftenCTL.exists(2) then bCorPage = TRUE
case "PRINT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 6 )
bFirst = FALSE
Kontext "TabDruckenWriter"
If TabDruckenWriter.exists(2) then bCorPage = TRUE
case "TABLE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 7 )
bFirst = FALSE
Kontext "TabTabelleOptionen"
If TabTabelleOptionen.exists(2) then bCorPage = TRUE
case "CHANGES"
if bFirst = TRUE then Optionsliste.Select ( startpos + 8 )
bFirst = FALSE
Kontext "TabAenderungenWriter"
If TabAenderungenWriter.exists(2) then bCorPage = TRUE
case "COMPATIBILITY"
if bFirst = TRUE then Optionsliste.Select ( startpos + 9 )
bFirst = FALSE
Kontext "TabCompatibility"
If TabCompatibility.exists(2) then bCorPage = TRUE
case "AUTOCAPTION"
if bFirst = TRUE then Optionsliste.Select ( startpos + 10 )
bFirst = FALSE
Kontext "TabAutoCaption"
If TabAutoCaption.exists(2) then bCorPage = TRUE
case "MAILMERGEEMAIL"
if bFirst = TRUE then Optionsliste.Select ( startpos + 11 )
bFirst = FALSE
Kontext "TabMailMergeEMail"
If TabMailMergeEMail.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "HTML"
'///Pages in group "HTMLDocument"are:
'///+- "General"
'///+- "View"
'///+- "Grid"
'///+- "Print"
'///+- "Table"
'///+- "Source"
'///+- "Background"
select case Tabpagename
case "VIEW"
Kontext "TabInhalteHTML"
If TabInhalteHTML.exists then bCorPage = TRUE
case "FORMATTINGAIDS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabDirektCursor"
If TabDirektCursor.exists(2) then bCorPage = TRUE
case "GRID"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabRaster"
If TabRaster.exists(2) then bCorPage = TRUE
case "PRINT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabDruckenHTML"
If TabDruckenHTML.exists(2) then bCorPage = TRUE
case "TABLE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 5 )
bFirst = FALSE
Kontext "TabTabelleOptionen"
If TabTabelleOptionen.exists(2) then bCorPage = TRUE
case "BACKGROUND"
if bFirst = TRUE then Optionsliste.Select ( startpos + 6 )
bFirst = FALSE
Kontext "TabHintergrund"
If TabHintergrund.exists then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "CALC"
'///Pages in group "Spreadsheet"are:
'///+- "General"
'///+- "View"
'///+- "Calculate"
'///+- "Sortlists"
'///+- "Changes"
'///+- "Grid"
'///+- "Print"
select case Tabpagename
case "GENERAL"
Kontext "TabLayoutCalc"
If TabLayoutCalc.exists(2) then bCorPage = TRUE
case "VIEW"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabInhaltCalc"
If TabInhaltCalc.exists(2) then bCorPage = TRUE
case "CALCULATE"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabBerechnen"
If TabBerechnen.exists(2) then bCorPage = TRUE
case "SORTLISTS"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabSortierlisten"
If TabSortierlisten.exists(2) then bCorPage = TRUE
case "CHANGES"
if bFirst = TRUE then Optionsliste.Select ( startpos + 5 )
bFirst = FALSE
Kontext "TabAenderungenCalc"
If TabAenderungenCalc.exists(2) then bCorPage = TRUE
case "GRID"
if bFirst = TRUE then Optionsliste.Select ( startpos + 6 )
bFirst = FALSE
Kontext "TabRaster"
If TabRaster.exists(2) then bCorPage = TRUE
case "PRINT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 7 )
bFirst = FALSE
Kontext "TabPrintCalcOptions"
If TabPrintCalcOptions.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "IMPRESS"
'///Pages in group "Presentation"are:
'///+- "General"
'///+- "View"
'///+- "Grid"
'///+- "Print"
select case Tabpagename
case "GENERAL"
Kontext "TabSonstigesDraw"
If TabSonstigesDraw.exists then bCorPage = TRUE
case "VIEW"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabInhalteDraw"
If TabInhalteDraw.exists(2) then bCorPage = TRUE
case "GRID"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabRaster"
If TabRaster.exists(2) then bCorPage = TRUE
case "PRINT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabDruckenDraw"
If TabDruckenDraw.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "DRAW"
'///Pages in group "Drawing"are:
'///+- "General"
'///+- "View"
'///+- "Grid"
'///+- "Print"
select case Tabpagename
case "GENERAL"
Kontext "TabSonstigesDraw"
If TabSonstigesDraw.exists then bCorPage = TRUE
case "VIEW"
if bFirst = TRUE then Optionsliste.Select ( startpos + 2 )
bFirst = FALSE
Kontext "TabInhalteDraw"
If TabInhalteDraw.exists(2) then bCorPage = TRUE
case "GRID"
if bFirst = TRUE then Optionsliste.Select ( startpos + 3 )
bFirst = FALSE
Kontext "TabRaster"
If TabRaster.exists(2) then bCorPage = TRUE
case "PRINT"
if bFirst = TRUE then Optionsliste.Select ( startpos + 4 )
bFirst = FALSE
Kontext "TabDruckenDraw"
If TabDruckenDraw.exists(2) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "MATH"
'///Page(s) in group "Formula"are:
'///+
select case Tabpagename
case "SETTINGS"
Kontext "TabDruckenMath"
If TabDruckenMath.exists then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "CHART"
'///Pages in group "Chart"are:
'///+
select case Tabpagename
case "DEFAULTCOLORS"
Kontext "TabGrundfarben"
If TabGrundfarben.exists(4) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case "DATASOURCES"
'///Pages in group "Datasource"are:
'///+
select case Tabpagename
case "CONNECTIONS"
Kontext "TabConnections"
If TabConnections.exists(4) then bCorPage = TRUE
case "DATABASES"
Kontext "TabRegisteredDatabase"
If TabRegisteredDatabase.exists(4) then bCorPage = TRUE
case else : bCorPage = FALSE
end select
case else
bCorPage = False
end select
If bCorPage = TRUE then Exit for
next iCurrentPage
if ( NOT bCorPage ) then
if ( NOT bSilent ) then
warnlog CFN & Applicationname + " / " + Tabpagename + " could not be found! Please review your test!"
else
printlog CFN & Applicationname + " / " + Tabpagename + " could not be found!"
end if
end if
else
bCorPage = FALSE
warnlog CFN & "Please open the option-dialog with 'ToolsOptions' before you called this routine!"
end if
hToolsOptions = bCorPage
end function