diff options
Diffstat (limited to 'automation/source/app/testbasi.cxx')
-rw-r--r-- | automation/source/app/testbasi.cxx | 161 |
1 files changed, 161 insertions, 0 deletions
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 ); +} |