'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 : Helper Routines for Base tests. '* '*************************************************************************************** '* '* #1 fOpenNewFormDesign '* #1 fCloseForm '* #1 fSaveForm '* #1 fOpenForm '* #1 fFindForm '* '\*********************************************************************************** '------------------------------------------------------------------------- function fOpenNewFormDesign() '/// open a a new form design from an open database '/// parameter: Kontext "DATABASE" if ( Database.NotExists(3) ) then fOpenNewFormDesign = false exit function end if Database.MouseDown(50,50) Database.MouseUp(50,50) sleep(1) ViewForms NewFormDesign sleep(2) fOpenNewFormDesign = true end function '-------------------------------------------------------------------- function fCloseForm( optional bSave ) '/// close an open form '/// parameter: '/// optional bSave: if true the form shall be saved, if false the changes are lost sleep(1) Kontext "DocumentWriter" DocumentWriter.UseMenu hMenuSelectNr(1) ' the file menu hMenuSelectNr(5) ' the Close Window 'when issue 30401 is fixed this has to be changed Kontext "Messagebox" if Messagebox.Exists(3) then if ( IsMissing( bSave ) ) then Messagebox.No else if bSave then Messagebox.Yes else Messagebox.No endif endif end if sleep(1) fCloseForm = true end function '-------------------------------------------------------------------- function fSaveForm( sFormName as string, optional bCloseForm as boolean ) '/// save an open form with the given name '/// parameter: '/// sFormName: the name under which the form shall be saved. If the file allready exists, then the file will be overwritten '/// optional bCloseForm: if true the form shall be closed after saving, if false form stay open sleep(1) Kontext "DocumentWriter" DocumentWriter.UseMenu hMenuSelectNr(1) ' the file menu hMenuSelectNr(6) ' the Save Kontext "FormSaveDialog" if FormSaveDialog.exists(3) then FormName.setText(sFormName) SaveBtn.Click 'click yes in the overwrite messages box Kontext "MessageBox" if MessageBox.exists(1) then MessageBox.Yes endif fSaveForm = true else fSaveForm = false end if if ( IsMissing( bCloseForm ) ) then ' nothing else call fCloseForm() end if end function '-------------------------------------------------------------------- function fOpenForm(sFormName as string) '/// open a form with the given name '/// parameter: '/// sFormName: the name of the form which shall be open if ( fFindForm(sFormName) = true ) then printlog "Form found -> open" Kontext "ContainerView" OpenForm ' uno-Slot .uno:DB/Open sleep(1) fOpenForm = true else printlog "Form not found." fOpenForm = false end if end function '-------------------------------------------------------------------- function fFindForm(sFormName as string) '/// select a form with the given name '/// parameter: '/// sFormName: the name of the form which shall be selected Dim iNumbersOfForms as integer Dim i as integer Kontext "ContainerView" ViewForms fFindForm = false if ( Not FormTree.exists(1) ) then warnlog "The form tree doesn't exists" exit function end if iNumbersOfForms = FormTree.getItemCount() ' this select the first entry FormTree.TypeKeys "" FormTree.TypeKeys "" for i = 1 to iNumbersOfForms FormTree.TypeKeys "" 'printlog "i = " + i 'printlog "FormName.getItemCount = " + FormTree.getItemCount if FormTree.getItemCount > iNumbersOfForms then iNumbersOfForms = FormTree.getItemCount() endif 'printlog "FormName.getSeltext = " + FormTree.getSeltext if FormTree.getSeltext = sFormName then fFindForm = true exit for endif FormTree.TypeKeys "" next sleep(1) end function