jl165 merging heads
[LibreOffice.git] / testautomation / framework / tools / includes / options_tools.inc
blob4f7a05154795b62369631042396abb7784cc383d
1 'encoding UTF-8  Do not remove or change this line!
2 '*******************************************************************************
3 ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 ' Copyright 2000, 2010 Oracle and/or its affiliates.
7 ' OpenOffice.org - a multi-platform office productivity suite
9 ' This file is part of OpenOffice.org.
11 ' OpenOffice.org is free software: you can redistribute it and/or modify
12 ' it under the terms of the GNU Lesser General Public License version 3
13 ' only, as published by the Free Software Foundation.
15 ' OpenOffice.org is distributed in the hope that it will be useful,
16 ' but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ' GNU Lesser General Public License version 3 for more details
19 ' (a copy is included in the LICENSE file that accompanied this code).
21 ' You should have received a copy of the GNU Lesser General Public License
22 ' version 3 along with OpenOffice.org.  If not, see
23 ' <http://www.openoffice.org/license.html>
24 ' for a copy of the LGPLv3 License.
26 '/******************************************************************************
28 '* owner : thorsten.bosbach@oracle.com
30 '* short description : tools for options tests
32 '\******************************************************************************
34 sub GetPathList ( ls1 () as String, ls2 () as String, ls3 () as String )
36     Dim lsInterim ( 50 ) as String
37     Dim i as Integer
38     Dim sList as String
39     Dim bNewCreate as Boolean
40     '///routine to get the correct comparison list for path-options
41     '///+ if the list does not exist => CreatePathList
42     '///+ you can find the lists for all languages in separate files
43     '///+[TesttoolPath]\framework\options\input\paths_[LanguageCode].txt
44     ls1 (0) = 0 : ls2 (0) = 0 :  ls3 (0) = 0
45     sList = gTesttoolPath + "framework\optional\input\options\paths_" + iSprache + ".txt"
46     sList = convertpath( sList )
48     if App.Dir ( sList ) = "" then
49         bNewCreate = TRUE
50         CreatePathList
51     else
52         bNewCreate = FALSE
53     end if
55     if bAsianLan = TRUE then
57         select case iSystemSprache
58         case 01, 33, 34, 39, 46, 49
59             ListRead ( lsInterim (), sList, "utf8" )
60         case else
62             if bNewCreate = FALSE then
63                 CreatePathList
64             endif
66             ListRead ( lsInterim (), sList, "utf8" )
67         end select
69     else
70         ListRead ( lsInterim (), sList , "utf8" )
71     end if
73     for i = 1 to ListCount ( lsInterim () )
74         ListAppend ( ls1 (), Left ( lsInterim (i), Instr ( lsInterim (i), ";" ) - 1 ) )
75         ListAppend ( ls2 (), Mid ( lsInterim (i), Len ( lsInterim (i) ) - 2, 1 ) )
76         ListAppend ( ls3 (), Right  ( lsInterim (i), 1 ) )
77     next i
79 end sub
81 '*******************************************************************************
83 sub CreatePathList
85     Dim i as Integer, iNum as Integer
86     Dim sType as String, sVario as String, sList as String
87     Dim lsInterim ( 50 ) as String
88     '///create the comparison list for path-options
89     '///+[TesttoolPath]\framework\options\input\paths_[LanguageCode].txt
90     sList = ConvertPath ( gTesttoolPath + "framework\optional\input\options\paths_" + iSprache + ".txt" )
91     call hNewDocument()
92     ToolsOptions
93     hToolsOptions ( "StarOffice", "Paths" )
95     for i=1 to Typ.GetItemCount
97         Kontext "TabPfade"
99         if i=1 then
100             Typ.TypeKeys "<Down>"
101             Typ.TypeKeys "<Home>"
102         else
103             Typ.TypeKeys "<Down>"
104         end if
106         sType = Typ.GetSelText
108         if Bearbeiten.IsEnabled then
109             Bearbeiten.Click
111             Kontext "OeffnenDlg"
113             if OeffnenDlg.Exists then
114                 sVario = 1
115                 iNum = 1
116                 OeffnenDlg.Cancel
117             end if
119             Kontext "PfadeAuswaehlen"
120             if PfadeAuswaehlen.Exists then
121                 sVario = 2
122                 iNum = Pfade.GetItemCount
123                 PfadeAuswaehlen.Cancel
124             end if
126         else
127             sVario = 0
128             iNum = 0
129         end if
131         ListAppend ( lsInterim(), sType + ";" + sVario + ";" + iNum )
132     next i
134     if bAsianLan = FALSE then
135         Warnlog "The file for comparison does not exists. The file will be written!"
136         Warnlog "Please check : " + sList
137         ListWrite ( lsInterim(), sList )
138     else
139         Warnlog "The file for comparison does not exists. The file will be written!"
140         Warnlog "Please check : " + sList
141         ListWrite ( lsInterim(), sList, "utf8" )
142     end if
144 end sub
146 '*******************************************************************************
148 sub Make3D
150     '///test with 3D-objects when 3D-options are changed ( view page )
151     gApplication = "IMPRESS"
152     call hNewDocument()
153     WL_SD_Wuerfel
154     Sleep 1
156     Kontext "Documentimpress"
157     DocumentImpress.MouseDown 50, 50
158     DocumentImpress.MouseMove 30, 60
159     DocumentImpress.MouseUp 30, 60
160     Sleep 3
161     call hCloseDocument()
162     gApplication = "WRITER"
164 end sub
166 '*******************************************************************************
168 sub DeleteColor( cColorName as String )
169     'Deletes a color by name. The color is selected in the listbox
170     'and should - if it exists - be visible in the entryfield above the list.
171     'If this is not the case the color probably not exists and thus
172     'cannot be deleted.
173     'Remember i18n, only use this sub for colors you created yourself!
174     dim iItems as Integer     'Number of listed colors
175     dim i as Integer          'counter
176     dim bExists as Boolean    'TRUE if color has been successfully deleted
177     dim iPos as Integer       'Position of the deleted color
178     dim sColor as string
180     printlog "DeleteColor:: - Trying to delete color: '" + cColorName + "'"
181     Kontext "TabFarben"
182     bExists = FALSE
183     iItems = Farbe.getItemCount
184     i = 0
185     while ((i<iItems) AND (NOT bExists))
186         sColor = Farbe.getItemText(i+1)
187         if (sColor = cColorName) then
188             Loeschen.Click
189             Kontext "Active"
190             if Active.Exists then
191                 printlog active.getText
192                 Active.Yes
193             else
194                 qaErrorlog "No warning about deleting the color."
195             endif
196             printlog " - successfully deleted color @ " + (i+1) + "/" + iItems
197             bExists = TRUE
198         else
199             inc (i)
200         endif
201 '        if FarbName.getText = cColorName then
202     wend
203     iPos = i+1
205     if bExists then
206         'The userdefined colors usually are appended to the list. If they are
207         'somewhere else this might be a bug.
208         if iItems <> iPos then
209             warnlog  "   The color was not located at the end of the list."
210             printlog "   The Order of the list might be corrupted"
211         end if
212     else
213         'Inform that the color did not exist. This usually is perfectly ok.
214         printlog "   (The color was not deleted, it was not found)"
215     endif
216 end sub
218 '*******************************************************************************
220 sub modifyColorRGB_PGUP( iColor as Integer )
221     'The current color's values are set to maximum (255) for RGB
222     printlog( "modifyColorRGB_PGUP:: - change the color by pressing PAGE UP in RGB listboxes." )
223     
224     Kontext "TabFarben"
225     Farbe.Select(iColor)
226     R.TypeKeys("<PageUp>")
227     G.TypeKeys("<PageUp>")
228     B.TypeKeys("<PageUp>")
229     printlog("modifyColorRGB_PGUP:: Press 'modify'")
230     Aendern.Click()
231     Sleep (1)
232 end sub
234 '*******************************************************************************
236 sub createNewColor( aColor() as String )
237     ' INPUT : array: (1): Name; (2): Red value; (3): Green value; (4): Blue value
238     ' OUTPUT: 
239     'The desired color is selected by name and created.
240     'If it already exists, there is a problem
241     printlog( "createNewColor:: Adding a color to the list: '" + aColor(1) + "'"
242     Kontext "TabFarben"
243     FarbName.setText(aColor(1))
244     R.SetText(aColor(2))
245     G.SetText(aColor(3))
246     B.SetText(aColor(4))
247     Sleep(1)
248     Hinzufuegen.Click
249     Sleep(1)
250     
251     Kontext "DuplicateNameWarning"
252     if DuplicateNameWarning.Exists then
253         warnlog "createNewColor:: Color already exists."
254         DuplicateNameWarning.OK
255         Kontext "NameDlg"
256         if NameDlg.Exists then
257             printlog "createNewColor:: Naming dialog shown. Good, cancelling"
258             NameDlg.Cancel
259         else
260             warnlog "createNewColor:: Naming dialog didn't came up."
261         end if
262     else
263         printlog "createNewColor:: New color has been created"
264     end if
265 end sub
267 '*******************************************************************************
269 sub getColorRGB( aColor() as String )
270     ' INPUT : array with index 1-4 that will get deleted
271     ' OUTPUT: array: (1): Name; (2): Red value; (3): Green value; (4): Blue value
272     'A RGB color always has four attributes:
273     'The name and the three RGB values (0...255)
274     printlog( "GetColorRGB:: Determining the current color" )
275     FarbModell.Select(1)
276     
277     aColor(1) = FarbName.GetText()
278     aColor(2) = R.GetText()
279     aColor(3) = G.GetText()
280     aColor(4) = B.GetText()
281     
282     printlog( "GetColorRGB:: N = " & aColor(1) )
283     printlog( "GetColorRGB:: R = " & aColor(2) )
284     printlog( "GetColorRGB:: G = " & aColor(3) )
285     printlog( "GetColorRGB:: B = " & aColor(4) )
286 end sub
288 '*******************************************************************************
290 sub compareTwoColorsRGB( aColor() as String )
291     ' INPUT : array: (1): Name; (2): Red value; (3): Green value; (4): Blue value
292     '         and a selected color
293     ' OUTPUT: 
294     'Comparision of two colors. Tested values are:
295     'Name and three RGB values
296     'aColor is the expected value, bColor is the current color
297     dim i as Integer
298     dim bColor(4) as String
300     printlog( "compareTwoColorsRGB:: Compare saved default color with the current" )
301     call getColorRGB(bColor()) 
302     for i = 1 to 4
303         if aColor(i) <> bColor(i) then
304             warnlog( "compareTwoColorsRGB:: " & "(" & i & ") Expected: '" _
305             & aColor( i ) & "' found: '" & bColor(i) & "'" )
306         else
307             printlog( "compareTwoColorsRGB:: " & "(" & i & ") OK" )
308         endif
309     next i
310 end sub
312 '*******************************************************************************
314 sub ModifyColorRGB( aColor() as String )
315     'A RGB color always has four attributes:
316     'The name and the three RGB values (0...255)
318     Kontext "TabFarben"
319     FarbName.SetText( aColor( 1 ) )
320     FarbModell.Select( 1 )
321     R.SetText( aColor( 2 ) )
322     G.SetText( aColor( 3 ) )
323     B.SetText( aColor( 4 ) )
324     Aendern.Click
325 end sub