summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-03-15 15:01:29 +0000
committerOliver Bolte <obo@openoffice.org>2007-03-15 15:01:29 +0000
commit1fb32fd46ecf8070c41fb98d248153fc273357cb (patch)
tree3845f3fe45953b50c92eda29c09b4bfa7a6b74ff /basctl
parent15474ac366ccbd94e70e6396a7be2021e292de6c (diff)
INTEGRATION: CWS basmgr02 (1.1.2); FILE ADDED
2007/02/21 09:32:01 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/basidesh.hxx221
1 files changed, 221 insertions, 0 deletions
diff --git a/basctl/source/inc/basidesh.hxx b/basctl/source/inc/basidesh.hxx
new file mode 100644
index 000000000000..300b325fc620
--- /dev/null
+++ b/basctl/source/inc/basidesh.hxx
@@ -0,0 +1,221 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: basidesh.hxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: obo $ $Date: 2007-03-15 16:01:29 $
+ *
+ * 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 _BASIDESH_HXX
+#define _BASIDESH_HXX
+
+#ifndef _SBXITEM_HXX
+#include "sbxitem.hxx"
+#endif
+
+#include "scriptdocument.hxx"
+
+#ifndef _VIEWFAC_HXX //autogen
+#include <sfx2/viewfac.hxx>
+#endif
+#ifndef _SFX_SHELL_HXX //autogen
+#include <sfx2/shell.hxx>
+#endif
+#ifndef _SCRBAR_HXX //autogen
+#include <vcl/scrbar.hxx>
+#endif
+#ifndef _TABLE_HXX //autogen
+#include <tools/table.hxx>
+#endif
+#ifndef _SFXVIEWSH_HXX //autogen
+#include <sfx2/viewsh.hxx>
+#endif
+#include <svx/ifaceids.hxx>
+
+//----------------------------------------------------------------------------
+
+const ULONG BASICIDE_UI_FEATURE_SHOW_BROWSER = 0x00000001;
+
+//----------------------------------------------------------------------------
+
+class ModulWindow;
+class ModulWindowLayout;
+class DialogWindow;
+class SdrView;
+class ObjectCatalog;
+class BasicIDETabBar;
+class TabBar;
+class IDEBaseWindow;
+class SbxObject;
+class SbModule;
+class StarBASIC;
+class LocalizationMgr;
+struct BasicIDEShell_Impl;
+
+#if _SOLAR__PRIVATE
+DECLARE_TABLE( IDEWindowTable, IDEBaseWindow* )
+#else
+typedef Table IDEWindowTable;
+#endif
+
+class BasicIDEShell: public SfxViewShell
+{
+friend class JavaDebuggingListenerImpl;
+friend class LocalizationMgr;
+friend class BasicIDE;
+
+ ObjectCatalog* pObjectCatalog;
+
+ IDEWindowTable aIDEWindowTable;
+ USHORT nCurKey;
+ IDEBaseWindow* pCurWin;
+ ScriptDocument m_aCurDocument;
+ String m_aCurLibName;
+ LocalizationMgr* m_pCurLocalizationMgr;
+
+ ScrollBar aHScrollBar;
+ ScrollBar aVScrollBar;
+ ScrollBarBox aScrollBarBox;
+ BasicIDETabBar* pTabBar;
+ BOOL bTabBarSplitted;
+ BOOL bCreatingWindow;
+ ModulWindowLayout* pModulLayout;
+ BOOL m_bAppBasicModified;
+
+#if _SOLAR__PRIVATE
+ void Init();
+ void InitTabBar();
+ void InitScrollBars();
+ void CheckWindows();
+ void RemoveWindows( const ScriptDocument& rDocument, const String& rLibName, BOOL bDestroy );
+ void UpdateWindows();
+ void ShowObjectDialog( BOOL bShow, BOOL bCreateOrDestroy );
+ void InvalidateBasicIDESlots();
+ void StoreAllWindowData( BOOL bPersistent = TRUE );
+ void SetMDITitle();
+ void EnableScrollbars( BOOL bEnable );
+ void SetCurLib( const ScriptDocument& rDocument, String aLibName, bool bUpdateWindows = true , bool bCheck = true );
+ void SetCurLibForLocalization( const ScriptDocument& rDocument, String aLibName );
+
+ void ImplStartListening( StarBASIC* pBasic );
+
+ DECL_LINK( TabBarHdl, TabBar* );
+ DECL_LINK( AccelSelectHdl, Accelerator* );
+ DECL_LINK( ObjectDialogCancelHdl, ObjectCatalog * );
+ DECL_LINK( TabBarSplitHdl, TabBar * );
+#endif
+
+protected:
+ virtual void AdjustPosSizePixel( const Point &rPos, const Size &rSize );
+ virtual void OuterResizePixel( const Point &rPos, const Size &rSize );
+ virtual Size GetOptimalSizePixel() const;
+ USHORT InsertWindowInTable( IDEBaseWindow* pNewWin );
+ virtual USHORT PrepareClose( BOOL bUI, BOOL bForBrowsing );
+
+ void SetCurWindow( IDEBaseWindow* pNewWin, BOOL bUpdateTabBar = FALSE, BOOL bRememberAsCurrent = TRUE );
+ void RemoveWindow( IDEBaseWindow* pWindow, BOOL bDestroy, BOOL bAllowChangeCurWindow = TRUE );
+ void ArrangeTabBar();
+
+ ModulWindow* CreateBasWin( const ScriptDocument& rDocument, const String& rLibName, const String& rModName );
+ DialogWindow* CreateDlgWin( const ScriptDocument& rDocument, const String& rLibName, const String& rDlgName );
+
+ ModulWindow* FindBasWin( const ScriptDocument& rDocument, const String& rLibName, const String& rModName, BOOL bCreateIfNotExist, BOOL bFindSuspended = FALSE );
+ DialogWindow* FindDlgWin( const ScriptDocument& rDocument, const String& rLibName, const String& rDlgName, BOOL bCreateIfNotExist, BOOL bFindSuspended = FALSE );
+ ModulWindow* ShowActiveModuleWindow( StarBASIC* pBasic );
+
+ virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
+ const SfxHint& rHint, const TypeId& rHintType );
+
+ virtual void Activate(BOOL bMDI);
+ virtual void Deactivate(BOOL bMDI);
+
+ virtual void Move();
+ virtual void ShowCursor( FASTBOOL bOn = TRUE );
+
+ void CreateModulWindowLayout();
+ void DestroyModulWindowLayout();
+ void UpdateModulWindowLayout( bool bBasicStopped );
+
+ sal_Bool HasBasic() const;
+
+public:
+ TYPEINFO();
+ SFX_DECL_INTERFACE( SVX_INTERFACE_BASIDE_VIEWSH )
+ SFX_DECL_VIEWFACTORY(BasicIDEShell);
+
+ BasicIDEShell( SfxViewFrame *pFrame, Window *);
+ BasicIDEShell( SfxViewFrame *pFrame, SfxViewShell *pOldSh );
+ BasicIDEShell( SfxViewFrame *pFrame, const BasicIDEShell &rOrig );
+ ~BasicIDEShell();
+
+ IDEBaseWindow* GetCurWindow() const { return pCurWin; }
+ const ScriptDocument&
+ GetCurDocument() const { return m_aCurDocument; }
+ const String& GetCurLibName() const { return m_aCurLibName; }
+ ObjectCatalog* GetObjectCatalog() const { return pObjectCatalog; }
+ LocalizationMgr* GetCurLocalizationMgr() const { return m_pCurLocalizationMgr; }
+
+ ScrollBar& GetHScrollBar() { return aHScrollBar; }
+ ScrollBar& GetVScrollBar() { return aVScrollBar; }
+ ScrollBarBox& GetScrollBarBox() { return aScrollBarBox; }
+ TabBar* GetTabBar() { return (TabBar*)pTabBar; }
+ IDEWindowTable& GetIDEWindowTable() { return aIDEWindowTable; }
+
+ SdrView* GetCurDlgView();
+
+ SfxUndoManager* GetUndoManager();
+
+ virtual USHORT Print( SfxProgress &rProgress, BOOL bIsAPI, PrintDialog *pPrintDialog = 0 );
+ virtual SfxPrinter* GetPrinter( BOOL bCreate );
+ virtual USHORT SetPrinter( SfxPrinter *pNewPrinter, USHORT nDiffFlags = SFX_PRINTER_ALL );
+ virtual String GetSelectionText( BOOL bCompleteWords );
+ virtual BOOL HasSelection( BOOL bText ) const;
+
+ void GetState( SfxItemSet& );
+ void ExecuteGlobal( SfxRequest& rReq );
+ void ExecuteCurrent( SfxRequest& rReq );
+ void ExecuteBasic( SfxRequest& rReq );
+ void ExecuteDialog( SfxRequest& rReq );
+
+ virtual BOOL HasUIFeature( ULONG nFeature );
+
+ long CallBasicErrorHdl( StarBASIC* pBasic );
+ long CallBasicBreakHdl( StarBASIC* pBasic );
+
+ ModulWindowLayout* GetLayoutWindow() const { return pModulLayout; }
+
+ IDEBaseWindow* FindWindow( const ScriptDocument& rDocument, const String& rLibName = String(), const String& rName = String(), USHORT nType = BASICIDE_TYPE_UNKNOWN, BOOL bFindSuspended = FALSE );
+ IDEBaseWindow* FindApplicationWindow();
+ BOOL NextPage( BOOL bPrev = FALSE );
+
+ BOOL IsAppBasicModified() const { return m_bAppBasicModified; }
+ void SetAppBasicModified( BOOL bModified = TRUE ) { m_bAppBasicModified = bModified; }
+};
+
+#endif // _BASIDESH_HXX