merge the formfield patch from ooo-build
[ooovba.git] / testautomation / dbaccess / optional / includes / ctrl_Grid.inc
blob335d5775ceb66a76254c19e4e170545f478403b1
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 '* 
5 '* Copyright 2008 by Sun Microsystems, Inc.
6 '*
7 '* OpenOffice.org - a multi-platform office productivity suite
8 '*
9 '* $RCSfile: ctrl_Grid.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 07:43:41 $
15 '* This file is part of OpenOffice.org.
17 '* OpenOffice.org is free software: you can redistribute it and/or modify
18 '* it under the terms of the GNU Lesser General Public License version 3
19 '* only, as published by the Free Software Foundation.
21 '* OpenOffice.org is distributed in the hope that it will be useful,
22 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
23 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 '* GNU Lesser General Public License version 3 for more details
25 '* (a copy is included in the LICENSE file that accompanied this code).
27 '* You should have received a copy of the GNU Lesser General Public License
28 '* version 3 along with OpenOffice.org.  If not, see
29 '* <http://www.openoffice.org/license.html>
30 '* for a copy of the LGPLv3 License.
32 '/************************************************************************
34 '* owner : marc.neumann@sun.com
36 '* short description : Grid Control Test
38 '\***********************************************************************
39 sub ctrl_Grid
41         printlog "------------------- ctrl_Grid.inc ------------------------"
42            
43     call tCreateGridControlColumn
44     call tReplaceGridControlColumn
45     call tDeleteGridControlColumn    
46     call tShowHideGridControlColumn
47                 
48 end sub
49 '-------------------------------------------------------------------------
50 testcase tCreateGridControlColumn
51     
52     dim i as integer 
54     '/// open new document
55     printlog "open new document and tear off form function toolbar"    
56     call hNewDocument
57     sleep(1)
59     call hToolbarSelect("MoreControls",true)
61     '/// insert a grid control
62     printlog "insert a grid control"
63     Kontext "MoreControls"
64         Grid.Click
65         sleep(4)
66         call hDrawingWithSelection ( 40, 20, 60, 40 )
67         sleep(2)
68     '/// cancel the autopilot if exist
69     printlog "cancel the autopilot if exist"
70         Kontext "AutopilotTableElement" 
71             if AutopilotTableElement.Exists(3) then AutopilotTableElement.Cancel
72         sleep(1)        
73     
74     Kontext "DocumentWriter"
75     '/// select the gridcontrol and press return to get into the edit mode 
76         printlog "select the gridcontrol and change in edit mode"      
77         DocumentWriter.TypeKeys "<RETURN>" , true
78         sleep(1)
79         '/// press SHIFT F10 to open the context menu and insert a text controls
80         printlog "press SHIFT F10 to open the context menu and insert 3 controls"
81         for i = 1 to 3                     
82             DocumentWriter.Typekeys "<SHIFT F10>" , true            
83             myMenuSelectNr(1)
84             myMenuSelectNr(i) 
85             sleep(1)
86         next i    
87         sleep(1)    
88     '/// save and close the document
89     printlog "save and close the document"        
90     hFileSaveAsKill ( gOfficePath + ConvertPath("user/work/TT_GridControl_create.odt"))
91     hCloseDocument
92     sleep(1)
93     '/// load the document
94     printlog "load the document"
95     hFileOpen ( gOfficePath + ConvertPath("user/work/TT_GridControl_create.odt"))
96     sleep(1)        
97     
98     call hToolbarSelect("FormControls",true)
100     Kontext "FormControls"
101         SwitchControlDesignMode.Click
102         sleep(4) 
104     '/// check if the control are still there
105     printlog "check if the control are still there"        
106     Kontext "DocumentWriter"
107         DocumentWriter.TypeKeys "<SHIFT F4>" , true
108         sleep(1)
109         DocumentWriter.TypeKeys "<RETURN>" , true
110         sleep(1)
111         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
112         sleep(1)
113         DocumentWriter.Typekeys "<SHIFT F10>" , true
114         'open the propety broser             
115         myMenuSelectNr(5)
116         sleep(1)
118         Kontext "ControlPropertiesTabControl"
119             ControlPropertiesTabControl.setPage TabGeneralControl          
120                 
121         if getControlType <> "text box" then 
122             warnlog "column controls is wrong"                
123         endif
124     ' close property browser
125     Kontext "TabGeneralControl"
126         TabGeneralControl.TypeKeys "<Escape>"
127         sleep(1)
129      call hCloseDocument
131 endcase
132 '-------------------------------------------------------------------------
133 testcase tDeleteGridControlColumn
134     
135     dim i as integer 
137     '/// open new document
138     printlog "open new document and tear off form function toolbar"    
139     call hNewDocument
140     sleep(1)
142     call hToolbarSelect("MoreControls",true)
144     '/// insert a grid control
145     printlog "insert a grid control"
146     Kontext "MoreControls"
147         Grid.Click
148         sleep(4)        
149         call hDrawingWithSelection ( 40, 20, 60, 40 )
150         sleep(2)
151     '/// cancel the autopilot if exist
152     printlog "cancel the autopilot if exist"
153         Kontext "AutopilotTableElement" 
154             if AutopilotTableElement.Exists(3) then AutopilotTableElement.Cancel
155         sleep(1)        
156     
157     Kontext "DocumentWriter"
158     '/// select the gridcontrol and press return to get into the edit mode 
159         printlog "select the gridcontrol and change in edit mode"      
160         DocumentWriter.TypeKeys "<RETURN>" , true
161         sleep(1)
162         '/// press SHIFT F10 to open the context menu and insert a text controls
163         printlog "press SHIFT F10 to open the context menu and insert 3 controls"
164         for i = 1 to 3                     
165             DocumentWriter.Typekeys "<SHIFT F10>" , true            
166             myMenuSelectNr(1)
167             myMenuSelectNr(i) 
168             sleep(1)
169         next i    
170         sleep(1)
172     '/// delete inserted columns
173     printlog "delete inserted columns"
174     DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
175     sleep(1)
176     DocumentWriter.Typekeys "<RIGHT>" , true
177     sleep(1)        
178     DocumentWriter.Typekeys "<SHIFT F10>" , true            
179     myMenuSelectNr(3)
180     sleep(1)
181     DocumentWriter.Typekeys "<LEFT>" , true
182     sleep(1)
183     DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
184     sleep(1)
185     DocumentWriter.Typekeys "<SHIFT F10>" , true            
186     myMenuSelectNr(3)
187     sleep(1)
188     DocumentWriter.Typekeys "<LEFT>" , true
189     sleep(1)
190     DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
191     sleep(1)
192     DocumentWriter.Typekeys "<SHIFT F10>" , true         
193     myMenuSelectNr(3)
194     sleep(1)
195     '/// check deletion
196     printlog "check deletion"
197     DocumentWriter.Typekeys "<LEFT>" , true
198     sleep(1)
199     DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
200     sleep(1)
201     DocumentWriter.Typekeys "<SHIFT F10>" , true  
202     if hMenuItemGetCount <> 1 then   'context of a column has more than one item
203         warnlog "Deleting column went wrong"
204     else
205         printlog "deleting column successfull"
206     endif
207     sleep(1)
208     call hMenuClose()
209     '/// save and close the document
210         printlog "save and close the document"        
211         hFileSaveAsKill ( gOfficePath + ConvertPath("user/work/TT_GridControl_delete.odt"))
212         hCloseDocument
213         sleep(1)
214     '/// reload the document
215         printlog "reload the document"
216         hFileOpen ( gOfficePath + ConvertPath("user/work/TT_GridControl_delete.odt"))
217         sleep(1)
219     call hToolbarSelect("FormControls",true)
221     Kontext "FormControls"
222         SwitchControlDesignMode.Click
223         sleep(4)
224         
225     '/// check deletion after save-&reloading
226     printlog "check deletion after save-&reloading"
227     Kontext "DocumentWriter"
228         DocumentWriter.TypeKeys "<SHIFT F4>" , true
229         sleep(1)        
230         DocumentWriter.TypeKeys "<RETURN>" , true     
231         sleep(1) 
232         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
233         sleep(1)
234         DocumentWriter.Typekeys "<SHIFT F10>" , true        
235         sleep(1) 
236         if hMenuItemGetCount <> 1 then   'context of a column has more than one item
237             warnlog "Deleting column after save-&reloading went wrong"
238         else
239             printlog "deleting column after save-&reloading successfull"
240         endif
241         sleep(1)
242         'close the open context menu
243         MenuSelect(0)
244     call hCloseDocument()
246 endcase
247 '-------------------------------------------------------------------------
248 testcase tReplaceGridControlColumn    
250     '/// open new document
251         printlog "open new document and tear off form function toolbar"    
252         call hNewDocument
253         sleep(1)
254         'prepare document
255     
256     call hToolbarSelect("MoreControls",true)
258     Kontext "MoreControls"
259         Grid.Click
260         sleep(4)
261     '/// insert a grid control
262     printlog "insert a grid control"
263         printlog "insert a grid control"        
264         call hDrawingWithSelection ( 40, 20, 60, 40 )
265         sleep(2)
266     '/// cancel the autopilot if exist
267     printlog "cancel the autopilot if exist"
268         printlog "cancel the autopilot if exist"
269         Kontext "AutopilotTableElement" 
270             if AutopilotTableElement.Exists(3) then AutopilotTableElement.Cancel
271         sleep(1)
272     '/// - check replacing columns from context -
273     printlog "- check replacing columns from context -"
274         printlog ""
275         printlog "- check replacing columns from context -"
276     
277     '/// press SHIFT F10 to open the context menu and insert a text controls
278     printlog "press SHIFT F10 to open the context menu and insert a text controls"    
279     Kontext "DocumentWriter"        
280         DocumentWriter.Typekeys "<RETURN>" , true  
281         sleep(1)        
282         DocumentWriter.Typekeys "<SHIFT F10>" , true            
283         myMenuSelectNr(1)
284         myMenuSelectNr(1) 
285         
287     '/// replace the text control with a list box controls
288     printlog "replace the text control with a list box controls"
289     Kontext "DocumentWriter"
290         
291         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
292         sleep(1)
293         DocumentWriter.Typekeys "<SHIFT F10>" , true            
294         myMenuSelectNr(2)            
295         myMenuSelectNr(3)            
296         sleep(1)
298     '/// check if the control was replaced
299     printlog "check if the control was replaced"    
300     Kontext "DocumentWriter"
301         DocumentWriter.TypeKeys "<RETURN>" , true
302         sleep(1)
303         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
304         sleep(1)
305         DocumentWriter.Typekeys "<SHIFT F10>" , true
306         'open the propety broser             
307         myMenuSelectNr(4)
308         sleep(1)                    
309         if getControlType <> "list box" then 
310             warnlog "Replacing column controls went wrong"                
311         endif
312         ' close the property browser        
313         Kontext "TabGeneralControl"
314             TabGeneralControl.TypeKeys "<Escape>"
315             sleep(1)
317     '/// save and close the document
318         printlog "save and close the document"        
319         hFileSaveAsKill ( gOfficePath + ConvertPath("user/work/TT_GridControl_replacing.odt"))
320         hCloseDocument
321         sleep(1)
322     '/// reload the document
323         printlog "reload the document"
324         hFileOpen ( gOfficePath + ConvertPath("user/work/TT_GridControl_replacing.odt"))
325         sleep(1)
326         'prepare document
327     
328     call hToolbarSelect("FormControls",true)
329     
330     Kontext "FormControls"
331         SwitchControlDesignMode.Click
332         sleep(4) 
333     '/// check replacing after save-&reloading
334     printlog "check replacing after save-&reloading"
335     Kontext "DocumentWriter"
336         DocumentWriter.TypeKeys "<SHIFT F4>" , true
337         sleep(1)
338         DocumentWriter.TypeKeys "<RETURN>" , true
339         sleep(1)
340         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
341         sleep(1)        
342         DocumentWriter.Typekeys "<SHIFT F10>" , true
343         ' open property browser             
344         myMenuSelectNr(4)
345         if getControlType <> "list box" then 
346             warnlog "Replacing column controls not present after reload"            
347         endif
348         ' close property browser
349         Kontext "TabGeneralControl"
350             TabGeneralControl.TypeKeys "<Escape>"
351             sleep(1)
352         call hCloseDocument
354 endcase
355 '-------------------------------------------------------------------------
356 testcase tShowHideGridControlColumn
357     
358     dim i as integer
360     '/// open new document
361     printlog "open new document"        
362     call hNewDocument
363     sleep(1)
364     
365     call hToolbarSelect("MoreControls",true)
366     
367     Kontext "MoreControls"
368         Grid.Click
369         sleep(4)
370     
371     '/// insert a grid control
372     printlog "insert a grid control"    
373     call hDrawingWithSelection ( 40, 20, 60, 40 )
374     sleep(2)
376     '/// cancel the autopilot if exist
377     printlog "cancel the autopilot if exist"
378         Kontext "AutopilotTableElement" 
379             if AutopilotTableElement.Exists(3) then AutopilotTableElement.Cancel
380         sleep(1)
381             
382     '/// select the gridcontrol and press return to get into the edit mode 
383     printlog "select the gridcontrol and change in edit mode"
384     Kontext "DocumentWriter"      
385         DocumentWriter.TypeKeys "<RETURN>" , true
386         sleep(1)
387     
388     '/// press SHIFT F10 to open the context menu and insert controls
389     printlog "press SHIFT F10 to open the context menu and insert controls"       
390         for i = 1 to 3                     
391             DocumentWriter.Typekeys "<SHIFT F10>" , true            
392             myMenuSelectNr(1)
393             myMenuSelectNr(i) 
394             sleep(1)
395         next i    
396         sleep(1)     
397     '/// hide the first column
398     printlog "hide the first column"
399     Kontext "DocumentWriter"
400         sleep(1)
401         DocumentWriter.TypeKeys "<RETURN>" , true
402         sleep(1)
403         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
404         sleep(1)
405         DocumentWriter.Typekeys "<SHIFT F10>" , true             
406         myMenuSelectNr(4)
407         sleep(1)
408         DocumentWriter.TypeKeys "<RETURN>" , true
409         sleep(1)
410         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
411         sleep(1)
412     
413     '/// check hiding column
414     printlog "check hiding column"
415         DocumentWriter.TypeKeys "<RETURN>" , true
416         sleep(1)
417         DocumentWriter.Typekeys "<SHIFT F10>" , true             
418         if hMenuItemGetCount <> 6 then   'context of a column after hiding has 6 items (normal 5)
419             warnlog "Hiding column went wrong"
420         else
421             printlog "hiding column successfull"
422         endif
423         call hMenuClose()
424     '/// save and close the document
425         printlog "save and close the document"        
426         hFileSaveAsKill ( gOfficePath + ConvertPath("user/work/TT_GridControl_hide_show.odt"))
427         hCloseDocument
428         sleep(1)
430     '/// reload the document
431         printlog "reload the document"
432         hFileOpen ( gOfficePath + ConvertPath("user/work/TT_GridControl_hide_show.odt"))
433         sleep(1)
434     
435     '/// check hiding column after saving and reloading
436     printlog "check hiding column after saving and reloadin"
438     call hToolbarSelect("FormControls",true)
439     
440     Kontext "FormControls"
441         SwitchControlDesignMode.Click
442         sleep(4)
444     Kontext "DocumentWriter"
445         DocumentWriter.TypeKeys "<SHIFT F4>" , true
446         sleep(1)
447         DocumentWriter.TypeKeys "<RETURN>" , true
448         sleep(1)
449         DocumentWriter.Typekeys "<MOD1 SHIFT SPACE>" , true
450         sleep(1)
451         DocumentWriter.Typekeys "<SHIFT F10>" , true             
452         if hMenuItemGetCount <> 6 then   'context of a column after hiding has 6 items (normal 5)
453             warnlog "Hiding column after saving and reloading went wrong"
454         else
455             printlog "hiding column after saving and reloading successfull"
456         endif
458     '/// show column after saving and reloading
459     printlog "show column after saving and reloading"
460         myMenuSelectNr(5)
461         myMenuSelectNr(3) 
462         sleep(1)    
463         DocumentWriter.Typekeys "<SHIFT F10>" , true             
464         if hMenuItemGetCount <> 5 then   'context of a column normal has 5 items (before show column 6)
465             warnlog "Show column after saving and reloading went wrong"
466         else
467             printlog "show column after saving and reloading successfull"
468         endif
469         sleep(1)
470         'close the open context menu
471         MenuSelect(0)
472         call hCloseDocument
474 endcase
475 '-------------------------------------------------------------------------
476 '-------------------------------------------------------------------------
477 function getControlType     
478     'control property browser must be open
479     'check what properties are present and so find out what control type
480     dim sControlString as string 
481         Kontext "TabGeneralControl"     
482         if TabGeneralControl.exists(3) then
483             TabGeneralControl.TypeKeys "<TAB>" , true ' this tab is importent, I don't not why but it is.
484             if DefaultState.exists then
485                 sControlString = "check box"
486             elseif LineCount.exists then
487                 if MaxTextLen.exists then
488                     sControlString = "combo box"
489                 else
490                     sControlString = "list box"
491                 endif
492             elseif EditMask.exists then
493                 sControlString = "pattern field"
494             elseif FormatKey.exists then
495                 sControlString = "formatted field"
496             elseif CurrencySymbol.exists then
497                 sControlString = "currency field"
498             elseif TimeMin.exists then
499                 sControlString = "time field"
500             elseif DateMin.exists then
501                 sControlString = "date field"
502             elseif StrictFormat.exists then
503                 sControlString = "numeric field"                                    
504             elseif MaxTextLen.exists then                
505                 if EditMask.exists then
506                     sControlString = "pattern field"
507                 else
508                     sControlString = "text box"
509                 endif
510             else
511                 sControlString = "unkown"
512             endif
513         else
514             warnlog "TabGeneralControl not there."
515         endif
516         sleep(1)        
517             getControlType = sControlString
518 end function
519 '-------------------------------------------------------------------------
520 sub myMenuSelectNr ( EintragsNr as Integer ) as String
521     Dim nID as Integer
522     Sleep 1   
523     nID = MenuGetItemID ( EintragsNr )   
524     sleep(1)
525     MenuSelect ( nID )
526     sleep(1)
527 end sub