summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-03-15 15:01:45 +0000
committerOliver Bolte <obo@openoffice.org>2007-03-15 15:01:45 +0000
commita5da6819d60eab2fe77b55b94fcb01a3cbefe97e (patch)
tree956aaa4a7a43a77396b1ffc1d0d74ea5bcbf1181 /basctl
parent1fb32fd46ecf8070c41fb98d248153fc273357cb (diff)
INTEGRATION: CWS basmgr02 (1.1.2); FILE ADDED
2007/02/21 11:03:44 fs 1.1.2.2: #i100000# 2007/02/21 09:32:02 fs 1.1.2.1: #i73331# moved herein from ../../inc, to be able to include files from there (not exported to outside the module, so there's no need for it to reside in $(PRJ)/inc)
Diffstat (limited to 'basctl')
-rw-r--r--basctl/source/inc/basobj.hxx167
1 files changed, 167 insertions, 0 deletions
diff --git a/basctl/source/inc/basobj.hxx b/basctl/source/inc/basobj.hxx
new file mode 100644
index 000000000000..eefb4823e518
--- /dev/null
+++ b/basctl/source/inc/basobj.hxx
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: basobj.hxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: obo $ $Date: 2007-03-15 16:01:45 $
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+#ifndef _BASOBJ_HXX
+#define _BASOBJ_HXX
+
+#include "scriptdocument.hxx"
+
+#ifndef _STRING_HXX //autogen
+#include <tools/string.hxx>
+#endif
+#ifndef _SFXLSTNER_HXX //autogen
+#include <svtools/lstner.hxx>
+#endif
+
+#ifndef _COM_SUN_STAR_IO_XINPUTSTREAMPROVIDER_HXX_
+#include <com/sun/star/io/XInputStreamProvider.hpp>
+#endif
+#ifndef _COM_SUN_STAR_SCRIPT_XLIBRARYCONTAINER_HPP_
+#include <com/sun/star/script/XLibraryContainer.hpp>
+#endif
+#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_
+#include <com/sun/star/frame/XModel.hpp>
+#endif
+
+class SfxMacro;
+class SbMethod;
+class SbModule;
+class SbxObject;
+class SbxVariable;
+class StarBASIC;
+class BasicManager;
+class SfxUInt16Item;
+class SfxBindings;
+class Window;
+struct BasicIDE_Impl;
+
+extern "C" {
+ rtl_uString* basicide_choose_macro( void* pOnlyInDocument_AsXModel, BOOL bChooseOnly, rtl_uString* pMacroDesc );
+ void basicide_macro_organizer( INT16 nTabId );
+}
+
+extern "C" {
+ long basicide_handle_basic_error( void* pPtr );
+}
+
+
+class BasicIDE
+{
+protected:
+ static BOOL StringCompareLessThan( const String& rStr1, const String& rStr2 )
+ { return (rStr1.CompareIgnoreCaseToAscii( rStr2 ) == COMPARE_LESS); }
+public:
+ BasicIDE();
+ ~BasicIDE();
+
+ static SfxMacro* CreateMacro();
+ static void Organize( INT16 tabId );
+
+ static USHORT GetBasicDialogCount();
+ static void IncBasicDialogCount();
+ static void DecBasicDialogCount();
+
+
+ // Hilfsmethoden fuer den allg. Gebrauch:
+ static SbMethod* FindMacro( SbModule* pModule, const String& rMacroName );
+ static SbMethod* CreateMacro( SbModule* pModule, const String& rMacroName );
+ static void RunMethod( SbMethod* pMethod );
+
+ static StarBASIC* FindBasic( const SbxVariable* pVar );
+ static void StopBasic();
+ static long HandleBasicError( StarBASIC* pBasic );
+ static void BasicStopped( BOOL* pbAppWindowDisabled = 0, BOOL* pbDispatcherLocked = 0, USHORT* pnWaitCount = 0,
+ SfxUInt16Item** ppSWActionCount = 0, SfxUInt16Item** ppSWLockViewCount = 0 );
+
+ static BOOL IsValidSbxName( const String& rName );
+
+ static BasicManager* FindBasicManager( StarBASIC* pLib );
+
+ static SfxBindings* GetBindingsPtr();
+
+ static void InvalidateDebuggerSlots();
+
+ // libraries
+
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > GetMergedLibraryNames(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer >& xModLibContainer,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer >& xDlgLibContainer );
+
+ // new methods for modules
+
+ static ::rtl::OUString GetModule(
+ const ScriptDocument& rDocument, const String& rLibName, const String& rModName )
+ throw( ::com::sun::star::container::NoSuchElementException );
+
+ /** renames a module
+
+ Will show an error message when renaming fails because the new name is already used.
+ */
+ static bool RenameModule(
+ Window* pErrorParent, const ScriptDocument& rDocument,
+ const String& rLibName, const String& rOldName, const String& rNewName );
+
+ // new methods for macros
+
+ static ::rtl::OUString ChooseMacro( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& rxLimitToDocument,
+ BOOL bChooseOnly, const ::rtl::OUString& rMacroDesc );
+
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > GetMethodNames(
+ const ScriptDocument& rDocument, const String& rLibName, const String& rModName )
+ throw( ::com::sun::star::container::NoSuchElementException );
+
+ static BOOL HasMethod(
+ const ScriptDocument& rDocument, const String& rLibName, const String& rModName, const String& rMethName );
+
+ // new methods for dialogs
+
+ static ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStreamProvider > GetDialog(
+ const ScriptDocument& rDocument, const String& rLibName, const String& rDlgName )
+ throw( ::com::sun::star::container::NoSuchElementException );
+
+ /** renames a dialog
+
+ Will show an error message when renaming fails because the new name is already used.
+ */
+ static bool RenameDialog(
+ Window* pErrorParent, const ScriptDocument& rDocument, const String& rLibName, const String& rOldName, const String& rNewName )
+ throw( ::com::sun::star::container::ElementExistException, ::com::sun::star::container::NoSuchElementException );
+
+ static bool RemoveDialog(
+ const ScriptDocument& rDocument, const String& rLibName, const String& rDlgName );
+
+ static void MarkDocumentModified( const ScriptDocument& rDocument );
+};
+
+#endif // _BASOBJ_HXX