Update ooo320-m1
[ooovba.git] / testautomation / writer / tools / includes / w_tool2.inc
blob280d18b51677ab6afa5ecdf6d8aad246044ddb2a
1 '**************************************************************************
2 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 '*
4 '* Copyright 2008 by Sun Microsystems, Inc.
5 '*
6 '* OpenOffice.org - a multi-platform office productivity suite
7 '*
8 '* $RCSfile: w_tool2.inc,v $
9 '*
10 '* $Revision: 1.2 $
12 '* last change: $Author: vg $ $Date: 2008-08-18 12:43:13 $
14 '* This file is part of OpenOffice.org.
16 '* OpenOffice.org is free software: you can redistribute it and/or modify
17 '* it under the terms of the GNU Lesser General Public License version 3
18 '* only, as published by the Free Software Foundation.
20 '* OpenOffice.org is distributed in the hope that it will be useful,
21 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
22 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23 '* GNU Lesser General Public License version 3 for more details
24 '* (a copy is included in the LICENSE file that accompanied this code).
26 '* You should have received a copy of the GNU Lesser General Public License
27 '* version 3 along with OpenOffice.org.  If not, see
28 '* <http://www.openoffice.org/license.html>
29 '* for a copy of the LGPLv3 License.
31 '/************************************************************************
32 '*                                                                **
33 '* owner : helge.delfs@sun.com                                    **
34 '*                                                                **
35 '* short description : Description of file                        **
36 '*                                                                **
37 '*******************************************************************
38 '*                                                                **
39 ' #1 OptionenAufrufen
40 ' #1 CheckUberpruefen
41 ' #1 UnCheckUeberpruefen
42 ' #1 WortErgaenzen
43 '*                                                                **
44 '\******************************************************************
46 sub OptionenAufrufen(Seite as string)
47     Dim i as integer, GotItAlready as Boolean
48     Kontext
49     ToolsAutoCorrect
50     For i = 1 to 5
51         Kontext "Active"
52         if Active.Exists then
53             if Active.GetRT = 304 then
54                 if i = 1 then
55                     Warnlog Active.Gettext + " Bug#90025"
56                     GotItAlready = True
57                 end if
58                 Active.Ok
59             end if
60         end if
61     next i
62     Kontext
63     Select case Seite
64     case "TabErsetzung"   : active.SetPage TabErsetzung
65     case "TabAusnahmen"   : active.SetPage TabAusnahmen
66     case "TabOptionen"    : active.SetPage TabOptionen
67     case "TabTypografisch": active.SetPage TabTypografisch
68     end select
69     for i = 1 to 5
70         Kontext "Active"
71         if Active.Exists then
72             if Active.GetRT = 304 then
73                 if i = 1 and GotItAlready = False then Warnlog Active.Gettext + " Bug#90025"
74                 Active.Ok
75             end if
76         end if
77     next i
78     Kontext Seite
79 end sub
83 sub CheckUberpruefen ( Pruefung$ )
84     Call wTypeKeys Pruefung$
85     wait 100
86     Call wTypeKeys "<Home><Shift End>"
87     EditCopy
88     if GetClipboardText = Pruefung$ then Warnlog "Text has not been replaced"
89     Call wTypeKeys "<Home><Shift End><Delete>"
90 end sub
92 sub UnCheckUeberpruefen ( Pruefung$ )
93     Call wTypeKeys Pruefung$
94     wait 100
95     Call wTypeKeys "<Home><Shift End>"
96     EditCopy
97     if GetClipboardText <> Pruefung$ then Warnlog "Text has been replaced"
98     Call wTypeKeys "<Home><Shift End><Delete>"
99 end sub
102 sub WortErgaenzen(Tastaturbefehl as string)
103     Call wTypeKeys "Die"
104     Wait 500
105     Call wTypeKeys Tastaturbefehl
106     Call wTypeKeys "<End><Mod1 Shift Left>"
107     EditCopy
108     if GetClipBoardtext = "Dies" then Warnlog "Word 'Dies' has been completed!"
109     if Tastaturbefehl = "<Return>" then Call wTypeKeys "<Return>"
111     Call wTypeKeys "auto"
112     Wait 500
113     Call wTypeKeys Tastaturbefehl
114     Call wTypeKeys "<End><Mod1 Shift Left>"
115     EditCopy
116     if GetClipBoardtext <> "automatischen" then Warnlog "Word 'automatischen' has not been completed!"
117     if Tastaturbefehl = "<Return>" then Call wTypeKeys "<Return>"
119     Call wTypeKeys "Wor"
120     Wait 500
121     Call wTypeKeys Tastaturbefehl
122     Call wTypeKeys "<End><Mod1 Shift Left>"
123     EditCopy
124     if GetClipBoardtext <> "Worterkennung" then Warnlog "Word 'Worterkennung' has not been completed!"
125     if Tastaturbefehl = "<Return>" then Call wTypeKeys "<Return>"
127 end sub
129 ' -----------------------------------------------------------------------------
131 function wCreateAutotextCategory(vCategoryName as string) as boolean
132     Dim i as integer, bCategoryExist as boolean
133     '/// This function creates an autotext-category
134     '/// requires CategoryName to create
135     '/// returns true if category could be created
136     '/// Attention: Autotext-Dialog leaves open after creating category
137     Kontext "Autotext"
138     if Not Autotext.Exists then EditAutotext
140     Kontext "Active"
141     if Active.Exists then
142         if Active.GetRT = 304 then
143             QAErrorlog Active.Gettext
144             Active.Ok
145         end if
146     end if
148     Kontext "Autotext"
149     try
150         Bereiche.Click
151         Kontext "Active"
152         if Active.Exists then
153             if Active.GetRT = 304 then
154                 QAErrorlog Active.Gettext
155                 Active.Ok
156             end if
157         end if
158     catch
159         Warnlog "Button 'Categories' is disabled!"
160         exit function
161     endcatch
163     Kontext "BereicheBearbeitenAutotext"
164     if ( BereicheBearbeitenAutotext.Exists( 1 ) ) then
166         Liste.TypeKeys "<Home>"
167         For i = 1 to Liste.GetItemCount
168             if Liste.GetText = vCategoryName then
169                 QAErrorlog "Category " & vCategoryName & " already existing"
170                 bCategoryExist = true
171                 exit for
172             end if
173         next i
175         if bCategoryExist = false then
176             for i = 1 to Pfad.GetItemCount
177                 Pfad.Select i
178                 Bereich.Settext vCategoryName
179                 try
180                     Neu.Click
181                     exit for
182                 catch
183                     if i = Pfad.GetItemCount then
184                         Warnlog "Unable to create new category"
185                         BereicheBearbeitenAutotext.Close
186                         exit function
187                     end if
188                 endcatch
189             next i
191             if Liste.GetText <> vCategoryName then
192                 Warnlog "New category is not selected after creation"
193                 try
194                     Liste.Select vCategoryName
195                     wCreateAutotextCategory = true
196                 catch
197                     exit function
198                 endcatch
199             else
200                 wCreateAutotextCategory = true
201             end if
202         else
203             wCreateAutotextCategory = true
204         end if
206         BereicheBearbeitenAutotext.Ok
208         Kontext "Active"
209         if Active.Exists then
210             if Active.GetRT = 304 then
211                 QAErrorlog Active.Gettext
212                 Active.Ok
213             end if
214         end if
216     else
217         warnlog( "Dialog <BereicheBearbeitenAutotext> is not available" )
218     endif
220 end function
222 ' -----------------------------------------------------------------------------
224 function wSelectAutotextCategory(vCategoryName as string) as boolean
225     Dim i as integer
226     '/// This function selects an autotext-category
227     '/// requires CategoryName to select
228     '/// returns true if category could be selected
229     '/// Attention: Autotext-Dialog leaves open after selecting category
230     Kontext "Autotext"
231     if Not Autotext.Exists then EditAutotext
233     Kontext "Active"
234     if Active.Exists then
235         if Active.GetRT = 304 then
236             QAErrorlog Active.Gettext
237             Active.Ok
238         end if
239     end if
240     '/// close all categories
241     Kontext "Autotext"
242     Liste.Select 1
243     for i=1 to 10
244         Liste.TypeKeys "-"
245         Liste.TypeKeys "<Down>"
246         wait 500
247     next i
249     Liste.TypeKeys "<Home>"
250     for i=1 to 10
251         if Liste.Gettext <>  vCategoryName then
252             Liste.TypeKeys "<Down>"
253             wait 500
254         end if
255     next i
257     if Liste.Gettext =  vCategoryName then wSelectAutotextCategory = true
259 end function
261 ' -----------------------------------------------------------------------------
263 function wDeleteAutotextCategory(vCategoryName as string) as boolean
264     Dim i as integer
265     '/// This function deletes an autotext-category
266     '/// requires CategoryName to delete
267     '/// returns true if category could be deleted
268     '/// Attention: Autotext-Dialog leaves open after deleting category
269     Kontext "Autotext"
270     if Not Autotext.Exists then EditAutotext
272     Kontext "Active"
273     if Active.Exists then
274         if Active.GetRT = 304 then
275             QAErrorlog Active.Gettext
276             Active.Ok
277         end if
278     end if
280     Kontext "Autotext"
281     try
282         Bereiche.Click
284         Kontext "Active"
285         if Active.Exists then
286             if Active.GetRT = 304 then
287                 QAErrorlog Active.Gettext
288                 Active.Ok
289             end if
290         end if
292     catch
293         Warnlog "Button 'Categories' is disabled!"
294         exit function
295     endcatch
297     wait 500
298     Kontext "BereicheBearbeitenAutotext"
299     if Not BereicheBearbeitenAutotext.Exists then exit function
301     Liste.TypeKeys "<Home>"
302     for i=1 to 10
303         if Liste.Gettext <>  vCategoryName then
304             Liste.TypeKeys "<Down>"
305             wait 500
306         end if
307     next i
309     if Liste.Gettext = vCategoryName then
310         try
311             Loeschen.Click
312         catch
313             exit function
314             BereicheBearbeitenAutotext.Close
315         endcatch
316     end if
317     BereicheBearbeitenAutotext.Ok
319     Kontext "Active"
320     if Active.Exists then
321         if Active.GetRT = 304 then
322             try
323                 Active.Yes
324                 wDeleteAutotextCategory = true
325                 Sleep 1
326             catch
327                 Active.Ok
328             endcatch
329         end if
330     end if
332     Kontext "Active"
333     if Active.Exists then
334         if Active.GetRT = 304 then
335             QAErrorlog Active.Gettext
336             Active.Ok
337         end if
338     end if
340 end function
342 '----------------------------------------------------------------------
344 function wDeleteAutotext(vAutotextName as string) as boolean
345     '/// This function deletes an autotext
346     '/// requires AutotextName to delete
347     '/// returns true if Autotext could be deleted
348     '/// Attention: Autotext-Dialog leaves open after deleting autotext
350     Dim j as integer
351     Dim ik as integer
352     Dim bDeleted as boolean
353     Dim sAllGroups as integer
354     Dim sAllInGroups as integer
355     
356     Kontext "Autotext"
357     if Not Autotext.Exists then EditAutotext
359     Kontext "Active"
360     if Active.Exists then
361         if Active.GetRT = 304 then
362             QAErrorlog Active.Gettext
363             Active.Ok
364         end if
365     end if
367     Kontext "Autotext"
368     Liste.Select 1
369     for j=1 to 10
370         Liste.TypeKeys "-"
371         Liste.TypeKeys "<Down>"
372         wait 500
373     next j
375     bDeleted = false
376     ' count all groups
377     sAllGroups = Liste.GetItemCount
378     ' travel through all groups
379     For ik = 1 to sAllGroups            
380         Liste.Select ik
381         Liste.TypeKeys "+"
382     
383         sAllInGroups = Liste.GetItemCount - sAllGroups
384                 For j = 1 to sAllInGroups
385                         Liste.TypeKeys "<Down>"
386                         if Liste.Gettext = vAutotextName then
387                                 try
388                                         Menue.Click
389                                         wait 500
390                                         Call hMenuSelectNr ( 3 )
391                                         Kontext "Active"
392                                         if Active.Exists and Active.GetRT = 304 then
393                                                 Active.yes
394                                                 wDeleteAutotext = true
395                                         else
396                                                 Warnlog "No messages to confirm deleting the Autotext!"
397                                         end if
398                                         bDeleted = true
399                                         exit for
400                                 catch
401                                         Warnlog "Menu Autotext->'Delete' disabled ! Test failed !"
402                                 endcatch
403                         end if
404                 next j
405                 if bDeleted = true then exit for
406                 ' close group
407         Liste.Select ik
408         Liste.TypeKeys "-"      
409     next ik
411 end function