diff options
Diffstat (limited to 'automation/source/app')
-rw-r--r-- | automation/source/app/makefile.mk | 52 | ||||
-rw-r--r-- | automation/source/app/testbasi.cxx | 161 | ||||
-rw-r--r-- | automation/source/app/testbasi.hxx | 64 |
3 files changed, 277 insertions, 0 deletions
diff --git a/automation/source/app/makefile.mk b/automation/source/app/makefile.mk new file mode 100644 index 000000000000..8a430b3c3a96 --- /dev/null +++ b/automation/source/app/makefile.mk @@ -0,0 +1,52 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=automation +TARGET=app + +# --- Settings ------------------------------------------------------------ + +.INCLUDE : settings.mk + +# --- Allgemein ------------------------------------------------------------ + +CXXFILES = \ + testbasi.cxx + + +OBJFILES = \ + $(OBJ)$/testbasi.obj + + +LIBTARGET = NO + + +# --- Targets ------------------------------------------------------------ + +.INCLUDE : target.mk diff --git a/automation/source/app/testbasi.cxx b/automation/source/app/testbasi.cxx new file mode 100644 index 000000000000..292cd70b34a4 --- /dev/null +++ b/automation/source/app/testbasi.cxx @@ -0,0 +1,161 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_automation.hxx" +#include <basic/sbx.hxx> + +#ifndef _BASIC_TTRESHLP_HXX +#include <basic/ttstrhlp.hxx> +#endif +#include <basic/testtool.hxx> +#include "testbasi.hxx" +//#include "app.hxx" +//#include "basic.hrc" +//#include "appbased.hxx" +#define P_FEHLERLISTE TestToolObj::pFehlerListe + +//#include "status.hxx" +//#include "basic.hrc" + +//#include "object.hxx" + +#include <testapp.hxx> +#include <testtool.hxx> +#ifndef _SB_INTERN_HXX +//#include "sbintern.hxx" +#endif + +//#include "comm_bas.hxx" +//#include "processw.hxx" + +TYPEINIT1(TTBasic,MyBasic) + +/*class MyFactory : public SbxFactory +{ +public: + virtual SbxBase* Create( UINT16 nSbxId, UINT32 = SBXCR_SBX ); +}; + +static SampleObjectFac aFac1; +static MyFactory aFac2; +static CommunicationFactory aComManFac; +static ProcessFactory aProcessFac; +static short nInst = 0; + +SbxBase* MyFactory::Create( UINT16 nSbxId, UINT32 nCr ) +{ + if( nCr == SBXCR_TEST && nSbxId == SBXID_MYBASIC ) + return new MyBasic; + else + return NULL; +} */ + +TTBasic::TTBasic() : MyBasic() +{ +// Eigenes Objekt reinbraten + TestToolObj* pTTO = new TestToolObj( CUniString("App"), this ); + pTTO->SetLogHdl( GenLogHdl() ); + pTTO->SetWinInfoHdl( GenWinInfoHdl() ); + pTTO->SetModuleWinExistsHdl( GenModuleWinExistsHdl() ); + pTTO->SetWriteStringHdl( GenWriteStringHdl() ); + pTTO->SetCErrorHdl( LINK( this, TTBasic, CErrorImpl ) ); + + StartListeningTT( pTTO->GetTTBroadcaster() ); + + pTestObject = pTTO; + pTestObject->SetFlag( SBX_EXTSEARCH ); + Insert( pTestObject ); +} + +MyBasic* TTBasic::CreateMyBasic() +{ + return new TTBasic(); +} + +void TTBasic::LoadIniFile() +{ + ((TestToolObj*)pTestObject)->LoadIniFile(); +} + +SbTextType TTBasic::GetSymbolType( const String &rSymbol, BOOL bWasTTControl ) +{ + return ((TestToolObj*)pTestObject)->GetSymbolType( rSymbol, bWasTTControl ); +} + + +TTBasic::~TTBasic() +{ +} + +IMPL_LINK( TTBasic, CErrorImpl, ErrorEntry*, pData ) +{ + return CError( pData->nError, pData->aText, pData->nLine, pData->nCol1, pData->nCol2 ); +} + +BOOL TTBasic::Compile( SbModule* p ) +{ + p->SetComment( ((TestToolObj*)pTestObject)->GetRevision(p->GetSource()) ); + SbModule* pOldModule = GetCompileModule(); + SetCompileModule( p ); + p->SetSource( ((TestToolObj*)pTestObject)->PreCompile(p->GetSource()) ); + SetCompileModule( pOldModule ); + if ( ((TestToolObj*)pTestObject)->WasPrecompilerError() ) + return FALSE; + return MyBasic::Compile( p ); +} + +const String TTBasic::GetSpechialErrorText() +{ + String nErrorText; + if ( pTestObject && IS_ERROR() && GetErrorCode() == GET_ERROR()->nError ) + { + nErrorText = GenRealString( GET_ERROR()->aText ); + nErrorText.AppendAscii( ": " ); + nErrorText += String::CreateFromInt64( GET_ERROR()->nError ); + } + else + { + nErrorText = GetErrorText(); + } + return nErrorText; +} + +void TTBasic::ReportRuntimeError( AppBasEd *pEditWin ) +{ + SbxVariableRef aDummy = new SbxVariable; + aDummy->SetUserData( 24 ); // ID_MaybeAddErr + ((TestToolObj*)pTestObject)->Notify( pTestObject->GetBroadcaster(), SbxHint( SBX_HINT_DATAWANTED, aDummy ) ); + aDummy->SetUserData( 18 ); // ID_ExceptLog + ((TestToolObj*)pTestObject)->Notify( pTestObject->GetBroadcaster(), SbxHint( SBX_HINT_DATAWANTED, aDummy ) ); + MyBasic::ReportRuntimeError( pEditWin ); +} + +void TTBasic::DebugFindNoErrors( BOOL bDebugFindNoErrors ) +{ + ((TestToolObj*)pTestObject)->DebugFindNoErrors( bDebugFindNoErrors ); +} diff --git a/automation/source/app/testbasi.hxx b/automation/source/app/testbasi.hxx new file mode 100644 index 000000000000..882b697f1cf3 --- /dev/null +++ b/automation/source/app/testbasi.hxx @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _TTBASIC_HXX +#define _TTBASIC_HXX + +#include <basic/sbstar.hxx> +#include <basic/mybasic.hxx> + +class ErrorEntry; + +#define SBXID_TTBASIC 0x5454 // TTBasic: TT + +#define SBXCR_TEST2 0x54534554L // TEST + +class TTBasic : public MyBasic +{ +public: + SBX_DECL_PERSIST_NODATA(SBXCR_TEST2,SBXID_TTBASIC,1); + TYPEINFO(); + TTBasic(); + ~TTBasic(); + BOOL Compile( SbModule* ); + static MyBasic* CreateMyBasic(); + + // nicht mit #ifdefs klammern, da diese Headerdatei für testtool und basic + // gleichermaßen verwendet wird. + DECL_LINK( CErrorImpl, ErrorEntry* ); +// SbxObject *pTestObject; // für das Testtool; ansonsten NULL + + void LoadIniFile(); + SbTextType GetSymbolType( const String &Symbol, BOOL bWasTTControl ); // Besimmt den erweiterten Symboltyp für das Syntaxhighlighting + virtual const String GetSpechialErrorText(); + virtual void ReportRuntimeError( AppBasEd *pEditWin ); + virtual void DebugFindNoErrors( BOOL bDebugFindNoErrors ); +}; + +SV_DECL_IMPL_REF(TTBasic) + +#endif |