summaryrefslogtreecommitdiff
path: root/automation/source/app
diff options
context:
space:
mode:
Diffstat (limited to 'automation/source/app')
-rw-r--r--automation/source/app/makefile.mk52
-rw-r--r--automation/source/app/testbasi.cxx161
-rw-r--r--automation/source/app/testbasi.hxx64
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