summaryrefslogtreecommitdiff
path: root/sfx2/inc
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2010-04-28 17:52:28 +0200
committerMichael Stahl <mst@openoffice.org>2010-04-28 17:52:28 +0200
commitfd358e1499ada29ac8421a7940e8eb6a61e7f818 (patch)
tree5bf0ff9fe2ab496838b0e93fb966a0c42c44f264 /sfx2/inc
parentd5d509c803f6210e7d62d6f91e9773774ea3ac58 (diff)
parenteeaf2f34f56d815040b0e80b5e3abd6b08400bdc (diff)
merge DEV300_m77
Diffstat (limited to 'sfx2/inc')
-rw-r--r--sfx2/inc/about.hxx10
-rw-r--r--sfx2/inc/frmload.hxx150
-rw-r--r--sfx2/inc/inettbc.hxx13
-rw-r--r--sfx2/inc/pch/precompiled_sfx2.hxx1
-rw-r--r--sfx2/inc/sfx2/app.hxx4
-rw-r--r--sfx2/inc/sfx2/bindings.hxx3
-rw-r--r--sfx2/inc/sfx2/docfac.hxx5
-rw-r--r--sfx2/inc/sfx2/docfile.hxx15
-rw-r--r--sfx2/inc/sfx2/frame.hxx150
-rw-r--r--sfx2/inc/sfx2/linkmgr.hxx2
-rw-r--r--sfx2/inc/sfx2/objsh.hxx35
-rw-r--r--sfx2/inc/sfx2/sfx.hrc1
-rw-r--r--sfx2/inc/sfx2/sfxbasecontroller.hxx170
-rw-r--r--sfx2/inc/sfx2/sfxbasemodel.hxx72
-rw-r--r--sfx2/inc/sfx2/sfxmodelfactory.hxx2
-rw-r--r--sfx2/inc/sfx2/sfxsids.hrc215
-rw-r--r--sfx2/inc/sfx2/shell.hxx1
-rw-r--r--sfx2/inc/sfx2/topfrm.hxx122
-rw-r--r--sfx2/inc/sfx2/viewfrm.hxx142
-rw-r--r--sfx2/inc/sfx2/viewsh.hxx35
-rw-r--r--sfx2/inc/viewfac.hxx3
21 files changed, 373 insertions, 778 deletions
diff --git a/sfx2/inc/about.hxx b/sfx2/inc/about.hxx
index a7c76d09f1..7a4d1c5f31 100644
--- a/sfx2/inc/about.hxx
+++ b/sfx2/inc/about.hxx
@@ -29,15 +29,10 @@
// include ---------------------------------------------------------------
-#ifndef _RESARY_HXX //autogen
#include <tools/resary.hxx>
-#endif
-#ifndef _BUTTON_HXX //autogen
#include <vcl/button.hxx>
-#endif
-#ifndef _ACCEL_HXX //autogen
#include <vcl/accel.hxx>
-#endif
+#include <svtools/svmedit.hxx>
#include <tools/list.hxx>
#include <svtools/stdctrl.hxx>
#include <sfx2/basedlgs.hxx> // SfxModalDialog
@@ -53,13 +48,14 @@ private:
Image aAppLogo;
FixedInfo aVersionText;
- FixedInfo aCopyrightText;
+ MultiLineEdit aCopyrightText;
FixedInfo aBuildData;
ResStringArray aDeveloperAry;
String aDevVersionStr;
String aAccelStr;
String aVersionData;
+ String aCopyrightTextStr;
AccelList aAccelList;
diff --git a/sfx2/inc/frmload.hxx b/sfx2/inc/frmload.hxx
index 78294180c1..aa9b7e5cee 100644
--- a/sfx2/inc/frmload.hxx
+++ b/sfx2/inc/frmload.hxx
@@ -28,80 +28,126 @@
#ifndef _SFX_FRMLOAD_HXX
#define _SFX_FRMLOAD_HXX
+#include "sfx2/sfxuno.hxx"
+#include "sfx2/objsh.hxx"
+
+/** === begin UNO includes === **/
#include <com/sun/star/frame/XLoadEventListener.hpp>
-#include <rtl/ustring.hxx>
-#include <tools/debug.hxx>
#include <com/sun/star/frame/XSynchronousFrameLoader.hpp>
+#include <com/sun/star/frame/XController2.hpp>
+#include <com/sun/star/frame/XModel2.hpp>
#include <com/sun/star/document/XExtendedFilterDetection.hpp>
#include <com/sun/star/uno/Exception.hpp>
-#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/task/XInteractionHandler.hpp>
+/** === end UNO includes === **/
+
+#include <rtl/ustring.hxx>
+#include <tools/debug.hxx>
#include <cppuhelper/implbase1.hxx>
#include <cppuhelper/implbase2.hxx>
#include <cppuhelper/implbase3.hxx>
-
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <cppuhelper/factory.hxx>
#include <tools/link.hxx>
#include <tools/string.hxx>
+#include <comphelper/componentcontext.hxx>
+#include <comphelper/namedvaluecollection.hxx>
-class SfxObjectFactory;
+class SfxFilter;
class SfxFilterMatcher;
-class LoadEnvironment_Impl;
-class SfxMedium;
-namespace com
-{
- namespace sun
- {
- namespace star
- {
- namespace uno
- {
- class Any;
- }
- namespace lang
- {
- class XMultiServiceFactory;
- }
- namespace frame
- {
- class XFrame;
- }
- namespace beans
- {
- struct PropertyValue;
- }
- }
- }
-}
-
-#include <sfx2/sfxuno.hxx>
-
-#define REFERENCE ::com::sun::star::uno::Reference
-#define SEQUENCE ::com::sun::star::uno::Sequence
-#define RUNTIME_EXCEPTION ::com::sun::star::uno::RuntimeException
-
-class SfxFrameLoader_Impl : public ::cppu::WeakImplHelper2< ::com::sun::star::frame::XSynchronousFrameLoader, ::com::sun::star::lang::XServiceInfo >
-{
- REFERENCE < ::com::sun::star::frame::XFrame > xFrame;
- REFERENCE < ::com::sun::star::frame::XLoadEventListener > xListener;
- String aFilterName;
- SfxMedium* pMedium;
+class SfxFrameWeak;
- DECL_LINK( LoadDone_Impl, void* );
+class SAL_DLLPRIVATE SfxFrameLoader_Impl : public ::cppu::WeakImplHelper2< ::com::sun::star::frame::XSynchronousFrameLoader, ::com::sun::star::lang::XServiceInfo >
+{
+ ::comphelper::ComponentContext m_aContext;
public:
- SfxFrameLoader_Impl( const REFERENCE < ::com::sun::star::lang::XMultiServiceFactory >& xFactory );
- virtual ~SfxFrameLoader_Impl();
+ SfxFrameLoader_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
SFX_DECL_XSERVICEINFO
//----------------------------------------------------------------------------------
// XSynchronousFrameLoader
//----------------------------------------------------------------------------------
- virtual sal_Bool SAL_CALL load( const SEQUENCE< ::com::sun::star::beans::PropertyValue >& lDescriptor, const REFERENCE< ::com::sun::star::frame::XFrame >& xFrame ) throw( RUNTIME_EXCEPTION );
- virtual void SAL_CALL cancel() throw( RUNTIME_EXCEPTION );
+ virtual sal_Bool SAL_CALL load( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArgs, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame ) throw( ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL cancel() throw( ::com::sun::star::uno::RuntimeException );
+
+protected:
+ virtual ~SfxFrameLoader_Impl();
+
+private:
+ const SfxFilter* impl_getFilterFromServiceName_nothrow(
+ const ::rtl::OUString& i_rServiceName
+ ) const;
+
+ ::rtl::OUString impl_askForFilter_nothrow(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& i_rxHandler,
+ const ::rtl::OUString& i_rDocumentURL
+ ) const;
+
+ const SfxFilter* impl_detectFilterForURL(
+ const ::rtl::OUString& _rURL,
+ const ::comphelper::NamedValueCollection& i_rDescriptor,
+ const SfxFilterMatcher& rMatcher
+ ) const;
+
+ sal_Bool impl_createNewDocWithSlotParam(
+ const USHORT _nSlotID,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rxFrame,
+ const bool i_bHidden
+ );
+
+ void impl_determineFilter(
+ ::comphelper::NamedValueCollection& io_rDescriptor
+ ) const;
+
+ bool impl_determineTemplateDocument(
+ ::comphelper::NamedValueCollection& io_rDescriptor
+ ) const;
+
+ USHORT impl_findSlotParam(
+ const ::rtl::OUString& i_rFactoryURL
+ ) const;
+
+ SfxObjectShellLock impl_findObjectShell(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel2 >& i_rxDocument
+ ) const;
+
+ void impl_lockHiddenDocument(
+ SfxObjectShell& i_rDocument,
+ const ::comphelper::NamedValueCollection& i_rDescriptor
+ ) const;
+
+ void impl_handleCaughtError_nothrow(
+ const ::com::sun::star::uno::Any& i_rCaughtError,
+ const ::comphelper::NamedValueCollection& i_rDescriptor
+ ) const;
+
+ void impl_removeLoaderArguments(
+ ::comphelper::NamedValueCollection& io_rDescriptor
+ );
+
+ sal_Int16 impl_determineEffectiveViewId_nothrow(
+ const SfxObjectShell& i_rDocument,
+ const ::comphelper::NamedValueCollection& i_rDescriptor
+ );
+
+ ::comphelper::NamedValueCollection
+ impl_extractViewCreationArgs(
+ ::comphelper::NamedValueCollection& io_rDescriptor
+ );
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >
+ impl_createDocumentView(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel2 >& i_rModel,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame,
+ const ::comphelper::NamedValueCollection& i_rViewFactoryArgs,
+ const ::rtl::OUString& i_rViewName
+ );
};
#endif
diff --git a/sfx2/inc/inettbc.hxx b/sfx2/inc/inettbc.hxx
index 633c3c007a..c50e3a87ed 100644
--- a/sfx2/inc/inettbc.hxx
+++ b/sfx2/inc/inettbc.hxx
@@ -74,19 +74,6 @@ public:
virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
};
-class SfxCancelToolBoxControl_Impl : public SfxToolBoxControl
-{
-public:
-
- SFX_DECL_TOOLBOX_CONTROL();
-
- SfxCancelToolBoxControl_Impl( USHORT nSlotId, USHORT nId, ToolBox& rBox );
-
- virtual SfxPopupWindowType GetPopupWindowType() const;
- virtual SfxPopupWindow* CreatePopupWindow();
- virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
-};
-
#endif
#endif
diff --git a/sfx2/inc/pch/precompiled_sfx2.hxx b/sfx2/inc/pch/precompiled_sfx2.hxx
index d457cc4759..6e6ada026d 100644
--- a/sfx2/inc/pch/precompiled_sfx2.hxx
+++ b/sfx2/inc/pch/precompiled_sfx2.hxx
@@ -492,7 +492,6 @@
#include "svl/aeitem.hxx"
#include "svtools/asynclink.hxx"
#include "svl/brdcst.hxx"
-#include "svl/cancel.hxx"
#include "svl/cntwids.hrc"
#include "svtools/controldims.hrc"
#include "svl/ctypeitm.hxx"
diff --git a/sfx2/inc/sfx2/app.hxx b/sfx2/inc/sfx2/app.hxx
index ac548cf14b..18c3735d1c 100644
--- a/sfx2/inc/sfx2/app.hxx
+++ b/sfx2/inc/sfx2/app.hxx
@@ -58,7 +58,6 @@ class AppSettings;
struct SfxChildWinContextFactory;
class SfxAppData_Impl;
class SfxBindings;
-class SfxCancelManager;
class SfxChildWinFactArr_Impl;
class SfxChildWindow;
class SfxDispatcher;
@@ -218,7 +217,6 @@ public:
// members
SfxFilterMatcher& GetFilterMatcher();
- SfxCancelManager* GetCancelManager() const;
SfxMacroConfig* GetMacroConfig() const;
SfxProgress* GetProgress() const;
const String& GetLastSaveDirectory() const;
@@ -264,7 +262,6 @@ public:
SAL_DLLPRIVATE SfxDispatcher* GetAppDispatcher_Impl();
SAL_DLLPRIVATE SfxDispatcher* GetDispatcher_Impl();
- SAL_DLLPRIVATE SfxObjectShellLock NewDoc_Impl( const String& rFactory, const SfxItemSet* pSet = NULL );
SAL_DLLPRIVATE BOOL QueryExit_Impl();
SAL_DLLPRIVATE void SetOptions_Impl(const SfxItemSet &);
SAL_DLLPRIVATE FASTBOOL Initialize_Impl();
@@ -290,7 +287,6 @@ public:
// TODO/CLEANUP: still needed?
SAL_DLLPRIVATE void NewDocDirectExec_Impl(SfxRequest &);
SAL_DLLPRIVATE void NewDocExec_Impl(SfxRequest &);
- SAL_DLLPRIVATE const SfxPoolItem* NewDocDirectExec_ImplOld(SfxRequest &); // used by FrameLoader to work with the old behaviour ...
SAL_DLLPRIVATE void OpenDocExec_Impl(SfxRequest &);
SAL_DLLPRIVATE void MiscExec_Impl(SfxRequest &);
SAL_DLLPRIVATE void MiscState_Impl(SfxItemSet &);
diff --git a/sfx2/inc/sfx2/bindings.hxx b/sfx2/inc/sfx2/bindings.hxx
index f7cd994b07..6eab21e0b7 100644
--- a/sfx2/inc/sfx2/bindings.hxx
+++ b/sfx2/inc/sfx2/bindings.hxx
@@ -96,8 +96,7 @@ class SFX2_DLLPUBLIC SfxBindings: public SfxBroadcaster
der Klasse SfxBindings. Sie wird von der SfxApplication automatisch
angelegt und zerst"ort. Instanzen werden aber i.d.R. "uber das
Makro <SFX_BINDINGS> oder den zugeh"origen <SfxViewFrame> besorgt
- werden. Bestimmte SfxViewFrame Subklassen (z.B. <SfxInPlaceFrame>)
- legen ihre eigene Instanz der SfxBindings an.
+ werden.
Die SfxBindings verwalten alle in den an ihr angemeldeten Controllern
gebundenen Slot-Ids und cachen die jeweiligen <Slot-Server>
diff --git a/sfx2/inc/sfx2/docfac.hxx b/sfx2/inc/sfx2/docfac.hxx
index cf1b5ce9f6..87fa15db4d 100644
--- a/sfx2/inc/sfx2/docfac.hxx
+++ b/sfx2/inc/sfx2/docfac.hxx
@@ -82,6 +82,7 @@ public:
const SvGlobalName& GetClassId() const;
SfxObjectShellFlags GetFlags() { return nFlags; }
const char* GetShortName() const { return pShortName; }
+ String GetFactoryURL() const; // shortcut for "private:factory/GetShortName()"
String GetFactoryName() const { return String::CreateFromAscii( pShortName ); }
String GetModuleName() const;
void SetDocumentTypeNameResource( const ResId& rId );
@@ -93,6 +94,9 @@ public:
USHORT GetViewFactoryCount() const;
SfxViewFactory& GetViewFactory(USHORT i = 0) const;
+ /// returns the view factory whose GetViewName delivers the requested logical name
+ SfxViewFactory* GetViewFactoryByViewName( const String& i_rViewName ) const;
+
// Filter
const SfxFilter* GetTemplateFilter() const;
static String GetStandardTemplate( const String& rServiceName );
@@ -106,6 +110,7 @@ public:
//#if 0 // _SOLAR__PRIVATE
SAL_DLLPRIVATE void SetModule_Impl( SfxModule* );
SAL_DLLPRIVATE static void UpdateFilterContainers_Impl();
+ SAL_DLLPRIVATE sal_uInt16 GetViewNo_Impl( const sal_uInt16 i_nViewId, const sal_uInt16 i_nFallback ) const;
//#endif
private:
diff --git a/sfx2/inc/sfx2/docfile.hxx b/sfx2/inc/sfx2/docfile.hxx
index 12e3b3dcee..e6961a1a1b 100644
--- a/sfx2/inc/sfx2/docfile.hxx
+++ b/sfx2/inc/sfx2/docfile.hxx
@@ -48,7 +48,6 @@
#include <svl/lstner.hxx>
#include <tools/globname.hxx>
-#include <svl/cancel.hxx>
#include <cppuhelper/weak.hxx>
#include <ucbhelper/content.hxx>
@@ -64,16 +63,6 @@ class SfxItemSet;
class DateTime;
class SvStringsDtor;
class SvEaMgr;
-class SfxPoolCancelManager_Impl;
-
-#define SFX_TFPRIO_SYNCHRON 0
-#define SFX_TFPRIO_DOC 10
-#define SFX_TFPRIO_VISIBLE_LOWRES_GRAPHIC 20
-#define SFX_TFPRIO_VISIBLE_HIGHRES_GRAPHIC 21
-#define SFX_TFPRIO_PLUGINS 40
-#define SFX_TFPRIO_INVISIBLE_LOWRES_GRAPHIC 50
-#define SFX_TFPRIO_INVISIBLE_HIGHRES_GRAPHIC 51
-#define SFX_TFPRIO_DOWNLOADS 60
#define S2BS(s) ByteString( s, RTL_TEXTENCODING_MS_1252 )
@@ -157,7 +146,6 @@ public:
void SetLoadTargetFrame(SfxFrame* pFrame );
SfxFrame* GetLoadTargetFrame() const;
- void CancelTransfers();
void SetReferer( const String& rRefer );
const String& GetReferer( ) const;
@@ -235,7 +223,6 @@ public:
void SetUsesCache( sal_Bool );
sal_Bool IsExpired() const;
void SetName( const String& rName, sal_Bool bSetOrigURL = sal_False );
- void SetDontCreateCancellable();
sal_Bool IsAllowedForExternalBrowser() const;
long GetFileVersion() const;
@@ -273,8 +260,6 @@ public:
SAL_DLLPRIVATE sal_Bool TransferVersionList_Impl( SfxMedium& rMedium );
SAL_DLLPRIVATE sal_Bool SaveVersionList_Impl( sal_Bool bUseXML );
SAL_DLLPRIVATE sal_Bool RemoveVersion_Impl( const ::rtl::OUString& rVersion );
- SAL_DLLPRIVATE SfxPoolCancelManager_Impl* GetCancelManager_Impl() const;
- SAL_DLLPRIVATE void SetCancelManager_Impl( SfxPoolCancelManager_Impl* pMgr );
SAL_DLLPRIVATE void SetExpired_Impl( const DateTime& rDateTime );
SAL_DLLPRIVATE SvKeyValueIterator* GetHeaderAttributes_Impl();
diff --git a/sfx2/inc/sfx2/frame.hxx b/sfx2/inc/sfx2/frame.hxx
index 9d9a6b3f26..fe47d4674b 100644
--- a/sfx2/inc/sfx2/frame.hxx
+++ b/sfx2/inc/sfx2/frame.hxx
@@ -68,6 +68,7 @@ namespace com
#include <svl/brdcst.hxx>
#include <tools/list.hxx>
#include <svl/poolitem.hxx>
+#include <comphelper/namedvaluecollection.hxx>
class SvBorder;
class SfxWorkWindow;
@@ -83,31 +84,18 @@ class SfxMedium;
class SfxFrameHistory_Impl;
class SfxDispatcher;
class SfxMedium;
-class SfxCancellable;
class Rectangle;
class SfxRequest;
class SfxUnoControllerItem;
class SvCompatWeakHdl;
+class SystemWindow;
typedef SfxFrame* SfxFramePtr;
class SfxFrameArr_Impl;
DECLARE_LIST( TargetList, String* )
-#define SFXFRAME_INTERNAL 0x0001
-#define SFXFRAME_EXTERNAL 0x0002
-#define SFXFRAME_OWNSDOCUMENT 0x0004
-#define SFXFRAME_PLUGIN 0x0008
-#define SFXFRAME_HASTITLE 0x0010
-#define SFXFRAME_SERVER 0x0020 // Is es ein Frame, der in einem Container steckt ?
-#define SFXFRAME_FRAMESET 0x0040
-
-#define BROWSE_NORMAL 0
-#define BROWSE_FORWARD 1
-#define BROWSE_BACKWARD 2
-#define NO_BROWSE 3
-#define BROWSE_FRAME 4
-#define BROWSE_MAX_MODE 10
+#define SFXFRAME_HASTITLE 0x0001
//==========================================================================
// Ein SfxFrame ist eine Verwaltungsklasse f"ur Fenster und deren Inhalte.
@@ -123,82 +111,63 @@ DECLARE_LIST( TargetList, String* )
//==========================================================================
class SfxFrameArr_Impl;
-class SfxCancelManager;
struct SfxFramePickEntry_Impl;
-class SfxUnoFrame;
class SFX2_DLLPUBLIC SfxFrame
{
friend class SfxFrameIterator;
- friend struct SfxFramePickEntry_Impl;
- friend class SfxUnoFrame;
- friend class SfxViewFrame; /*HACK!*/
+ friend class SfxFrameWindow_Impl;
private:
- String aName;
SfxFrame* pParentFrame;
SfxFrameArr_Impl* pChildArr;
SfxFrame_Impl* pImp;
- SfxUnoFrame* pUnoImp;
-
- SAL_DLLPRIVATE void UpdateUndoHistory_Impl(
- SfxObjectShell *pDocSh, const String* pNew, const String *pTitle = 0 );
- SAL_DLLPRIVATE void UpdateCurrentHistory_Impl(
- SfxObjectShell *pDocSh, const String* pNew );
+ Window* pWindow;
protected:
- virtual sal_Bool Close() = 0;
- virtual ~SfxFrame();
+ sal_Bool Close();
+ virtual ~SfxFrame();
-//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE void SetCurrentDocument_Impl( SfxObjectShell* );
- SAL_DLLPRIVATE void InsertChildFrame_Impl( SfxFrame*, sal_uInt16 nPos = 0 );
- SAL_DLLPRIVATE void RemoveChildFrame_Impl( sal_uInt16 nPos );
SAL_DLLPRIVATE void RemoveChildFrame_Impl( SfxFrame* );
- SAL_DLLPRIVATE void SetIsTop_Impl( sal_Bool bIsTop = sal_True );
-//#endif
+
+ SfxFrame( ); // not implemented
+ SAL_DLLPRIVATE SfxFrame( Window& i_rContainerWindow, bool bHidden );
public:
TYPEINFO();
- SfxFrame(SfxFrame* pParent = 0);
+
+ static SfxFrame* Create( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame );
+ static ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >
+ CreateBlankFrame();
+ static SfxFrame* Create( SfxObjectShell& rDoc, Window& rWindow, USHORT nViewId, bool bHidden );
SvCompatWeakHdl* GetHdl();
- virtual Window& GetWindow() const = 0;
+ Window& GetWindow() const;
void CancelTransfers( sal_Bool bCancelLoadEnv = sal_True );
sal_Bool DoClose();
sal_uInt16 GetChildFrameCount() const;
SfxFrame* GetChildFrame( sal_uInt16 nPos ) const;
- void SetFrameName( const String& rName );
- const String& GetFrameName() const
- { return aName; }
SfxFrame* GetParentFrame() const
{ return pParentFrame; }
- String GetContent() const;
+
+ void SetPresentationMode( BOOL bSet );
+ SystemWindow* GetSystemWindow() const;
static SfxFrame* GetFirst();
static SfxFrame* GetNext( SfxFrame& );
- virtual sal_Bool InsertDocument( SfxObjectShell *pDoc );
- const SfxPoolItem* LoadDocumentSynchron( SfxItemSet& aSet );
- void DocumentInserted( SfxObjectShell* pDoc );
+ static const SfxPoolItem*
+ OpenDocumentSynchron( SfxItemSet& aSet, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rTargetFrame );
SfxBroadcaster& GetBroadcaster() const;
SfxObjectShell* GetCurrentDocument() const;
SfxViewFrame* GetCurrentViewFrame() const;
- SfxFrame* GetTopFrame() const;
+ SfxFrame& GetTopFrame() const;
sal_Bool IsParent( SfxFrame* ) const;
- SfxFrame* findFrame( const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags);
- SfxFrame* SearchFrame( const String&, SfxMedium* pMedium = 0 );
sal_uInt32 GetFrameType() const;
void GetTargetList( TargetList& ) const;
- void ClearHistory();
SAL_DLLPRIVATE SfxFrame* GetContainingDocFrame_Impl( SfxFrame* pSelf );
sal_Bool IsTop() const;
- sal_Bool CloseChildFrames();
- void UpdatePickEntries();
- void UpdatePickEntries( const ::com::sun::star::uno::Any& rValue );
- void UpdateHistory( const ::rtl::OUString& aURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs, const ::rtl::OUString& rTitle );
- void UpdateHistory(SfxObjectShell*, const String*pNew = 0 );
void UpdateDescriptor( SfxObjectShell *pDoc );
void Resize();
sal_Bool HasComponent() const;
@@ -212,68 +181,30 @@ public:
::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >
GetController() const;
- static sal_Bool LoadSfxComponent( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > &,
- const ::rtl::OUString&,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >&,
- const SfxObjectFactory* );
-
sal_Bool IsInPlace() const;
//#if 0 // _SOLAR__PRIVATE
SAL_DLLPRIVATE sal_Bool DoClose_Impl();
- SAL_DLLPRIVATE void SetFrameInterface_Impl( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
+ SAL_DLLPRIVATE void SetFrameInterface_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
SAL_DLLPRIVATE void ReleasingComponent_Impl( sal_Bool bSet );
- SAL_DLLPRIVATE const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor >
- GetInterceptor_Impl();
- SAL_DLLPRIVATE void Clear_Impl();
- SAL_DLLPRIVATE sal_uInt16 LoadComponent_Impl( const ::rtl::OUString& rURL,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rArgs,
- const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrameLoader > & rLoader,
- SfxItemSet* pSet=0, sal_Bool bDontClose=sal_False );
- SAL_DLLPRIVATE void LoadFinished_Impl();
- DECL_DLLPRIVATE_STATIC_LINK( SfxFrame, BindingHasNewPart_Impl, void* );
- SAL_DLLPRIVATE SfxCancelManager* GetCancelManager() const;
SAL_DLLPRIVATE void GetViewData_Impl();
- SAL_DLLPRIVATE sal_Bool CheckContentForLoad_Impl();
- SAL_DLLPRIVATE sal_Bool ExecuteHistoryMenu_Impl( sal_uInt16 nWnich, const Rectangle& rRect, sal_uInt16 nFlags=0 );
- SAL_DLLPRIVATE void ActivatePickEntry_Impl( SfxFramePickEntry_Impl*, sal_uInt16 nMode, SfxFrameDescriptor *pD = NULL );
- SAL_DLLPRIVATE void CopyHistory_Impl( SfxFrame *pFrame ) const;
- SAL_DLLPRIVATE SfxFrame* SearchChildrenForName_Impl( const String&, sal_Bool bDeep = sal_True ) const;
SAL_DLLPRIVATE void SetFrameType_Impl( sal_uInt32 );
- SAL_DLLPRIVATE void Activate_Impl( sal_Bool bBeamerOn );
- SAL_DLLPRIVATE void Deactivate_Impl();
SAL_DLLPRIVATE sal_uInt16 PrepareClose_Impl( sal_Bool bUI, sal_Bool bForBrowsing=sal_False );
SAL_DLLPRIVATE sal_Bool DocIsModified_Impl();
SAL_DLLPRIVATE void SetCurrentViewFrame_Impl( SfxViewFrame* );
- SAL_DLLPRIVATE SfxFrame* SearchFrame_Impl( sal_uInt16, sal_Bool bDeep=sal_False );
- SAL_DLLPRIVATE SfxFrame* SearchFrame_Impl( const String&, sal_Bool bDeep=sal_False );
- SAL_DLLPRIVATE void SetFrameId_Impl( sal_uInt16 );
- SAL_DLLPRIVATE sal_uInt16 GetFrameId_Impl() const;
- SAL_DLLPRIVATE void SetFrameIdName_Impl( const String& );
SAL_DLLPRIVATE sal_Bool IsClosing_Impl() const;
SAL_DLLPRIVATE void SetIsClosing_Impl();
- SAL_DLLPRIVATE sal_Bool BrowseInFrame( int nDelta );
- SAL_DLLPRIVATE sal_Bool Browse( sal_Bool bForward, sal_uInt16 nDelta = 1, sal_Bool bNewFrame=sal_False );
- SAL_DLLPRIVATE sal_Bool CanBrowseForward() const;
- SAL_DLLPRIVATE sal_Bool CanBrowseBackward() const;
// Methoden f"ur den Zugriff auf das aktuelle Set
SAL_DLLPRIVATE void SetDescriptor( SfxFrameDescriptor* );
SAL_DLLPRIVATE SfxFrameDescriptor* GetDescriptor() const;
SAL_DLLPRIVATE void Lock_Impl( sal_Bool bLock );
- SAL_DLLPRIVATE sal_uInt16 GetLockCount_Impl() const;
- //sal_Bool IsLocked_Impl() const
- // { return GetLockCount_Impl() > 0; }
- SAL_DLLPRIVATE void CloseOnUnlock_Impl();
- SAL_DLLPRIVATE SfxViewFrame* ActivateChildFrame_Impl();
SAL_DLLPRIVATE SfxDispatcher* GetDispatcher_Impl() const;
SAL_DLLPRIVATE sal_Bool IsAutoLoadLocked_Impl() const;
SAL_DLLPRIVATE static void InsertTopFrame_Impl( SfxFrame* pFrame );
SAL_DLLPRIVATE static void RemoveTopFrame_Impl( SfxFrame* pFrame );
- SAL_DLLPRIVATE void SetItemSet_Impl( const SfxItemSet* pSet );
- SAL_DLLPRIVATE const SfxItemSet* GetItemSet_Impl();
SAL_DLLPRIVATE void SetOwnsBindings_Impl( sal_Bool bSet );
SAL_DLLPRIVATE sal_Bool OwnsBindings_Impl() const;
SAL_DLLPRIVATE void InvalidateUnoControllers_Impl();
@@ -284,15 +215,19 @@ public:
SAL_DLLPRIVATE Rectangle GetTopOuterRectPixel_Impl() const;
SAL_DLLPRIVATE void CreateWorkWindow_Impl();
SAL_DLLPRIVATE void SetWorkWindow_Impl( SfxWorkWindow* pWorkwin );
- SAL_DLLPRIVATE const SvBorder& GetBorder_Impl() const;
SAL_DLLPRIVATE void GrabFocusOnComponent_Impl();
- SAL_DLLPRIVATE void ReFill_Impl( const SfxFrameSetDescriptor* pSet );
- SAL_DLLPRIVATE void LockFocus_Impl( sal_Bool bLock );
- SAL_DLLPRIVATE sal_Bool IsFocusLocked_Impl() const;
- SAL_DLLPRIVATE void CloseDocument_Impl();
SAL_DLLPRIVATE void SetInPlace_Impl( sal_Bool );
-// sal_Bool IsPlugin_Impl() const;
+
+ SAL_DLLPRIVATE void PrepareForDoc_Impl( SfxObjectShell& i_rDoc );
+ SAL_DLLPRIVATE void LockResize_Impl( BOOL bLock );
+ SAL_DLLPRIVATE void SetMenuBarOn_Impl( BOOL bOn );
+ SAL_DLLPRIVATE BOOL IsMenuBarOn_Impl() const;
+ SAL_DLLPRIVATE SystemWindow* GetTopWindow_Impl() const;
+ SAL_DLLPRIVATE void PositionWindow_Impl( const Rectangle& rWinArea ) const;
+ SAL_DLLPRIVATE bool IsMarkedHidden_Impl() const;
//#endif
+private:
+ SAL_DLLPRIVATE void Construct_Impl();
};
SV_DECL_COMPAT_WEAK( SfxFrame )
@@ -350,7 +285,24 @@ public:
::com::sun::star::uno::Any GetValue() const
{ return aValue; }
virtual int operator==( const SfxPoolItem& ) const;
- virtual String GetValueText() const;
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
+ virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
+};
+
+class SFX2_DLLPUBLIC SfxUnoFrameItem : public SfxPoolItem
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >
+ m_xFrame;
+
+public:
+ TYPEINFO();
+ SfxUnoFrameItem();
+ SfxUnoFrameItem( sal_uInt16 nWhich, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame );
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >&
+ GetFrame() const
+ { return m_xFrame; }
+ virtual int operator==( const SfxPoolItem& ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
diff --git a/sfx2/inc/sfx2/linkmgr.hxx b/sfx2/inc/sfx2/linkmgr.hxx
index f17ed58a0c..6ff4e267d9 100644
--- a/sfx2/inc/sfx2/linkmgr.hxx
+++ b/sfx2/inc/sfx2/linkmgr.hxx
@@ -131,8 +131,6 @@ public:
// (ist zur Zeit nur fuer die FileLinks interressant!)
void CancelTransfers();
- static void SetTransferPriority( sfx2::SvBaseLink& rLink, USHORT nPrio );
-
// um Status Informationen aus dem FileObject an den BaseLink zu
// senden, gibt es eine eigene ClipBoardId. Das SvData-Object hat
// dann die entsprechenden Informationen als String.
diff --git a/sfx2/inc/sfx2/objsh.hxx b/sfx2/inc/sfx2/objsh.hxx
index c73e373d57..97196ad3c4 100644
--- a/sfx2/inc/sfx2/objsh.hxx
+++ b/sfx2/inc/sfx2/objsh.hxx
@@ -92,7 +92,6 @@ class GDIMetaFile;
class Bitmap;
class INetURLObject;
class IndexBitSet;
-class SfxTopFrame;
class JobSetup;
class Size;
class Point;
@@ -217,17 +216,13 @@ private:
SfxMedium * pMedium; // Beschreibung der Datei bzw. des Storage, in dem sich das Objekt befindet
SfxStyleSheetBasePool* pStyleSheetPool; // StyleSheets
SfxObjectCreateMode eCreateMode; // Zweck des Objekts
- sal_uInt16 nViewNo; // Numerierung der MDIWins
sal_Bool bHasName :1, // sal_True := bestehendes Objekt, sal_False := es ist ein neues Objekt
bIsTmp :1; // temp. Storage
private:
//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE void Construct_Impl();
SAL_DLLPRIVATE void UpdateTime_Impl(const ::com::sun::star::uno::Reference<
::com::sun::star::document::XDocumentProperties> & i_xDocProps);
- SAL_DLLPRIVATE sal_Bool MakeBackup_Impl(const String &rName,
- sal_Bool bCopyAllways = sal_False);
SAL_DLLPRIVATE sal_Bool SaveTo_Impl(SfxMedium &rMedium, const SfxItemSet* pSet );
@@ -237,6 +232,7 @@ private:
protected:
SfxObjectShell(SfxObjectCreateMode);
+ SfxObjectShell( const sal_uInt64 i_nCreationFlags ); // see sfxmodelfactory.hxx
virtual ~SfxObjectShell();
virtual void ModifyChanged();
@@ -246,10 +242,6 @@ protected:
*/
void SetHasNoBasic();
-//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE void StartLoading_Impl();
-//#endif
-
/// template method, called by FlushDocInfo; this implementation is empty
virtual void DoFlushDocInfo();
@@ -501,11 +493,6 @@ public:
void SetTitle( const String& rTitle );
String GetTitle( sal_uInt16 nMaxLen = 0 ) const;
void InvalidateName(); // Zuruecksetzen auf unbenannt
-//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE void SetLastMark_Impl( const String & );
- SAL_DLLPRIVATE const String& GetLastMark_Impl() const;
- SAL_DLLPRIVATE sal_Bool DoInitNew_Impl( const ::rtl::OUString& rName );
-//#endif
// DDE-Interface
virtual long DdeExecute( const String& rCmd );
@@ -609,19 +596,15 @@ public:
virtual SfxFrame* GetSmartSelf( SfxFrame* pSelf, SfxMedium& rMedium );
- void SetModel( SfxBaseModel* pModel );
- const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >&
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
GetModel() const;
// Nur uebergangsweise fuer die Applikationen !!!
void SetBaseModel( SfxBaseModel* pModel );
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > GetBaseModel();
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > GetBaseModel() const;
// Nur uebergangsweise fuer die Applikationen !!!
virtual SEQUENCE< OUSTRING > GetEventNames();
-//REMOVE SotStorageStreamRef GetConfigurationStream( const String& rName, BOOL bCreate=FALSE );
-//REMOVE SvStorageRef GetConfigurationStorage( SotStorage* pStor=NULL );
-
Window* GetDialogParent( SfxMedium* pMedium=0 );
String UpdateTitle( SfxMedium* pMed=NULL, USHORT nDocViewNo=0 );
static SfxObjectShell* CreateObject( const String& rServiceName, SfxObjectCreateMode = SFX_CREATE_MODE_STANDARD );
@@ -674,12 +657,10 @@ public:
virtual Printer * GetDocumentPrinter();
virtual OutputDevice* GetDocumentRefDev();
virtual void OnDocumentPrinterChanged( Printer * pNewPrinter );
- //virtual UINT32 GetViewAspect() const;
virtual Rectangle GetVisArea( USHORT nAspect ) const;
virtual void SetVisArea( const Rectangle & rVisArea );
const Rectangle & GetVisArea() const;
void SetVisAreaSize( const Size & rVisSize );
-//REMOVE virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > CreateTransferableSnapshot();
virtual ULONG GetMiscStatus() const;
MapUnit GetMapUnit() const;
@@ -723,9 +704,6 @@ public:
SAL_DLLPRIVATE ::rtl::OUString CreateTempCopyOfStorage_Impl(
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
- SAL_DLLPRIVATE static sal_Bool NoDependencyFromManifest_Impl(
- const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
-
SAL_DLLPRIVATE void InitOwnModel_Impl();
SAL_DLLPRIVATE void BreakMacroSign_Impl( sal_Bool bBreakMacroSing );
SAL_DLLPRIVATE void CheckSecurityOnLoading_Impl();
@@ -734,7 +712,6 @@ public:
const ::com::sun::star::uno::Sequence< ::com::sun::star::security::DocumentSignatureInformation >& aInfos );
SAL_DLLPRIVATE void CheckEncryption_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xHandler );
- SAL_DLLPRIVATE SEQUENCE< OUSTRING > GetEventNames_Impl();
SAL_DLLPRIVATE void InitBasicManager_Impl();
SAL_DLLPRIVATE SfxObjectShell_Impl* Get_Impl() { return pImp; }
@@ -768,12 +745,10 @@ public:
const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr );
SAL_DLLPRIVATE void PositionView_Impl();
SAL_DLLPRIVATE void UpdateFromTemplate_Impl();
- SAL_DLLPRIVATE void Reload_Impl();
SAL_DLLPRIVATE sal_Bool CanReload_Impl();
SAL_DLLPRIVATE void SetNamedVisibility_Impl();
SAL_DLLPRIVATE sal_Bool DoSave_Impl( const SfxItemSet* pSet=0 );
SAL_DLLPRIVATE sal_Bool Save_Impl( const SfxItemSet* pSet=0 );
- SAL_DLLPRIVATE void UpdatePickList_Impl();
SAL_DLLPRIVATE sal_Bool PreDoSaveAs_Impl(const String &rFileName, const String &rFiltName, SfxItemSet *);
SAL_DLLPRIVATE sal_Bool APISaveAs_Impl ( const String& aFileName, SfxItemSet* aParams );
SAL_DLLPRIVATE sal_Bool CommonSaveAs_Impl ( const INetURLObject& aURL, const String& aFilterName, SfxItemSet* aParams );
@@ -781,15 +756,13 @@ public:
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
sal_Bool bTypeMustBeSetAlready );
SAL_DLLPRIVATE void PrepareSecondTryLoad_Impl();
+ SAL_DLLPRIVATE void SetInitialized_Impl( const bool i_fromInitNew );
// public-internals
SAL_DLLPRIVATE IndexBitSet& GetNoSet_Impl();
SAL_DLLPRIVATE void SetProgress_Impl( SfxProgress *pProgress );
- SAL_DLLPRIVATE sal_uInt16& GetAktViewNo() { return nViewNo; }
SAL_DLLPRIVATE void PostActivateEvent_Impl( SfxViewFrame* );
SAL_DLLPRIVATE void SetActivateEvent_Impl(sal_uInt16 );
-//REMOVE FASTBOOL SaveWindows_Impl( SvStorage &rStor ) const;
- SAL_DLLPRIVATE SfxViewFrame* LoadWindows_Impl( SfxTopFrame *pPrefered = 0 );
SAL_DLLPRIVATE SfxObjectShell* GetParentShellByModel_Impl();
// configuration items
diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc
index 573b6944e1..b0d91faf9e 100644
--- a/sfx2/inc/sfx2/sfx.hrc
+++ b/sfx2/inc/sfx2/sfx.hrc
@@ -216,6 +216,7 @@
#define ABOUT_STR_DEVELOPER_ARY 1
#define ABOUT_STR_FRENCH_COPYRIGHT 2
#define ABOUT_STR_ACCEL 3
+#define ABOUT_STR_COPYRIGHT 4
#define RID_APPTITLE (RID_SFX_START+4)
#define RID_BUILDVERSION (RID_SFX_START+5)
diff --git a/sfx2/inc/sfx2/sfxbasecontroller.hxx b/sfx2/inc/sfx2/sfxbasecontroller.hxx
index 1583ae0d25..566e45a599 100644
--- a/sfx2/inc/sfx2/sfxbasecontroller.hxx
+++ b/sfx2/inc/sfx2/sfxbasecontroller.hxx
@@ -35,7 +35,7 @@
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/DispatchDescriptor.hpp>
#include <com/sun/star/frame/XDispatchInformationProvider.hpp>
-#include <com/sun/star/frame/XController.hpp>
+#include <com/sun/star/frame/XController2.hpp>
#include <com/sun/star/frame/XControllerBorder.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XFrame.hpp>
@@ -43,7 +43,8 @@
#include <com/sun/star/frame/XTitleChangeBroadcaster.hpp>
#include <com/sun/star/util/URL.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase9.hxx>
+#include <cppuhelper/basemutex.hxx>
#include <osl/mutex.hxx>
#include <com/sun/star/task/XStatusIndicatorSupplier.hpp>
#include <com/sun/star/ui/XContextMenuInterception.hpp>
@@ -67,27 +68,16 @@
#define ANY ::com::sun::star::uno::Any
#define SEQUENCE ::com::sun::star::uno::Sequence
#define XDISPATCH ::com::sun::star::frame::XDispatch
-#define XDISPATCHPROVIDER ::com::sun::star::frame::XDispatchProvider
#define DISPATCHDESCRIPTOR ::com::sun::star::frame::DispatchDescriptor
#define XMODEL ::com::sun::star::frame::XModel
#define XFRAME ::com::sun::star::frame::XFrame
-#define XCONTROLLER ::com::sun::star::frame::XController
-#define XCONTROLLERBORDER ::com::sun::star::frame::XControllerBorder
#define XEVENTLISTENER ::com::sun::star::lang::XEventListener
#define MUTEX ::osl::Mutex
#define RUNTIMEEXCEPTION ::com::sun::star::uno::RuntimeException
#define UNOTYPE ::com::sun::star::uno::Type
-#define OWEAKOBJECT ::cppu::OWeakObject
-#define XTYPEPROVIDER ::com::sun::star::lang::XTypeProvider
#define UNOURL ::com::sun::star::util::URL
#define OUSTRING ::rtl::OUString
-#define XSTATUSINDICATORSUPPLIER ::com::sun::star::task::XStatusIndicatorSupplier
-#define XCONTEXTMENUINTERCEPTION ::com::sun::star::ui::XContextMenuInterception
#define XCONTEXTMENUINTERCEPTOR ::com::sun::star::ui::XContextMenuInterceptor
-#define XUSERINPUTINTERCEPTION ::com::sun::star::awt::XUserInputInterception
-#define XDISPATCHINFORMATIONPROVIDER ::com::sun::star::frame::XDispatchInformationProvider
-#define XTITLE ::com::sun::star::frame::XTitle
-#define XTITLECHANGEBROADCASTER ::com::sun::star::frame::XTitleChangeBroadcaster
//________________________________________________________________________________________________________
// forwards
@@ -95,6 +85,8 @@
struct IMPL_SfxBaseController_DataContainer ; // impl. struct to hold member of class SfxBaseController
+class SfxViewFrame;
+
sal_Int16 MapGroupIDToCommandGroup( sal_Int16 nGroupID );
sal_Bool SupportsCommandGroup( sal_Int16 nCommandGroup );
sal_Int16 MapCommandGroupToGroupID( sal_Int16 nCommandGroup );
@@ -103,36 +95,19 @@ sal_Int16 MapCommandGroupToGroupID( sal_Int16 nCommandGroup );
// class declarations
//________________________________________________________________________________________________________
-struct IMPL_SfxBaseController_MutexContainer
-{
- MUTEX m_aMutex ;
-} ;
-
-/**_______________________________________________________________________________________________________
- @short -
-
- @descr -
-
- @implements -
-
- @base -
-*/
-
-// Forward to impl-baseclass!
-//class IMPL_SfxBaseController ;
-
-class SFX2_DLLPUBLIC SfxBaseController : public XTYPEPROVIDER
- , public XCONTROLLER
- , public XCONTROLLERBORDER
- , public XDISPATCHPROVIDER
- , public XSTATUSINDICATORSUPPLIER
- , public XCONTEXTMENUINTERCEPTION
- , public XUSERINPUTINTERCEPTION
- , public XDISPATCHINFORMATIONPROVIDER
- , public XTITLE
- , public XTITLECHANGEBROADCASTER
- , public IMPL_SfxBaseController_MutexContainer
- , public OWEAKOBJECT
+typedef ::cppu::WeakImplHelper9 < ::com::sun::star::frame::XController2
+ , ::com::sun::star::frame::XControllerBorder
+ , ::com::sun::star::frame::XDispatchProvider
+ , ::com::sun::star::task::XStatusIndicatorSupplier
+ , ::com::sun::star::ui::XContextMenuInterception
+ , ::com::sun::star::awt::XUserInputInterception
+ , ::com::sun::star::frame::XDispatchInformationProvider
+ , ::com::sun::star::frame::XTitle
+ , ::com::sun::star::frame::XTitleChangeBroadcaster
+ > SfxBaseController_Base;
+
+class SFX2_DLLPUBLIC SfxBaseController :public SfxBaseController_Base
+ ,public ::cppu::BaseMutex
{
//________________________________________________________________________________________________________
// public methods
@@ -177,93 +152,14 @@ public:
SAL_DLLPRIVATE void ReleaseShell_Impl();
SAL_DLLPRIVATE void BorderWidthsChanged_Impl();
- //____________________________________________________________________________________________________
- // XInterface
- //____________________________________________________________________________________________________
-
- /**___________________________________________________________________________________________________
- @short give answer, if interface is supported
- @descr The interfaces are searched by type.
-
- @seealso XInterface
-
- @param "rType" is the type of searched interface.
-
- @return Any information about found interface
-
- @onerror A RuntimeException is thrown.
- */
-
- virtual ANY SAL_CALL queryInterface( const UNOTYPE& rType ) throw( RUNTIMEEXCEPTION ) ;
-
- /**___________________________________________________________________________________________________
- @short increment refcount
- @descr -
-
- @seealso XInterface
- @seealso release()
-
- @param -
-
- @return -
-
- @onerror A RuntimeException is thrown.
- */
-
- virtual void SAL_CALL acquire() throw() ;
-
- /**___________________________________________________________________________________________________
- @short decrement refcount
- @descr -
-
- @seealso XInterface
- @seealso acquire()
-
- @param -
-
- @return -
-
- @onerror A RuntimeException is thrown.
- */
-
- virtual void SAL_CALL release() throw() ;
+ ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > SAL_CALL getStatusIndicator( ) throw (::com::sun::star::uno::RuntimeException);
//____________________________________________________________________________________________________
- // XTypeProvider
+ // XController2
//____________________________________________________________________________________________________
-
- /**___________________________________________________________________________________________________
- @short get information about supported interfaces
- @descr -
-
- @seealso XTypeProvider
-
- @param -
-
- @return Sequence of types of all supported interfaces
-
- @onerror A RuntimeException is thrown.
- */
-
- virtual SEQUENCE< UNOTYPE > SAL_CALL getTypes() throw( RUNTIMEEXCEPTION ) ;
-
- /**___________________________________________________________________________________________________
- @short get implementation id
- @descr This ID is neccessary for UNO-caching. If there no ID, cache is disabled.
- Another way, cache is enabled.
-
- @seealso XTypeProvider
-
- @param -
-
- @return ID as Sequence of byte
-
- @onerror A RuntimeException is thrown.
- */
-
- virtual SEQUENCE< sal_Int8 > SAL_CALL getImplementationId() throw( RUNTIMEEXCEPTION ) ;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > SAL_CALL getStatusIndicator( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > SAL_CALL getComponentWindow() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getViewControllerName() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCreationArguments() throw (::com::sun::star::uno::RuntimeException);
//____________________________________________________________________________________________________
// XController
@@ -496,23 +392,23 @@ public:
SAL_DLLPRIVATE BOOL HandleEvent_Impl( NotifyEvent& rEvent );
SAL_DLLPRIVATE BOOL HasKeyListeners_Impl();
SAL_DLLPRIVATE BOOL HasMouseClickListeners_Impl();
+ SAL_DLLPRIVATE void SetCreationArguments_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& i_rCreationArgs );
SAL_DLLPRIVATE ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitle > impl_getTitleHelper ();
//#endif
+private:
+ enum ConnectSfxFrame
+ {
+ E_CONNECT,
+ E_DISCONNECT,
+ E_RECONNECT
+ };
+ SAL_DLLPRIVATE void ConnectSfxFrame_Impl( const ConnectSfxFrame i_eConnect );
+ SAL_DLLPRIVATE SfxViewFrame& GetViewFrame_Impl() const;
//________________________________________________________________________________________________________
// private variables
//________________________________________________________________________________________________________
- /** With this method you can set the flag that controlls whether the
- frame is released together with a controller when the later one is
- disposed.
- @param bFlag
- When passing <true/>, the default value of this flag, then
- disposing the controller results in releasing the frame.
- Passing <false/> leaves the frame unaffected.
- */
- void FrameIsReleasedWithController (sal_Bool bFlag);
-
private:
IMPL_SfxBaseController_DataContainer* m_pData ;
diff --git a/sfx2/inc/sfx2/sfxbasemodel.hxx b/sfx2/inc/sfx2/sfxbasemodel.hxx
index 605929710e..52fe2c14bf 100644
--- a/sfx2/inc/sfx2/sfxbasemodel.hxx
+++ b/sfx2/inc/sfx2/sfxbasemodel.hxx
@@ -43,6 +43,7 @@
#include <com/sun/star/document/XDocumentInfo.hpp>
#include <com/sun/star/document/XDocumentInfoSupplier.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
+#include <com/sun/star/document/XDocumentRecovery.hpp>
#include <com/sun/star/rdf/XDocumentMetadataAccess.hpp>
@@ -55,6 +56,8 @@
#include <com/sun/star/document/XStorageBasedDocument.hpp>
#include <com/sun/star/document/XScriptInvocationContext.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
+#include <com/sun/star/lang/NotInitializedException.hpp>
+#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/frame/XModel2.hpp>
#include <com/sun/star/frame/DoubleInitializationException.hpp>
#include <com/sun/star/util/XModifiable2.hpp>
@@ -82,6 +85,8 @@
#include <cppuhelper/typeprovider.hxx>
#include <com/sun/star/script/XStarBasicAccess.hpp>
#include <osl/mutex.hxx>
+#include <vos/mutex.hxx>
+#include <vcl/svapp.hxx>
#include <tools/link.hxx>
@@ -91,9 +96,9 @@
#include <com/sun/star/task/XInteractionHandler.hpp>
//________________________________________________________________________________________________________
-#if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_29)
-#define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_29
-#define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 29
+#if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_30)
+#define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_30
+#define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 30
#include <comphelper/implbase_var.hxx>
#endif
@@ -196,8 +201,12 @@ class SfxPrinter;
class SfxViewShell;
class SfxObjectShell ;
class SfxEventHint;
+class SfxViewFrame;
struct IMPL_SfxBaseModel_DataContainer ; // impl. struct to hold member of class SfxBaseModel
+namespace sfx { namespace intern {
+ class ViewCreationGuard;
+} }
//________________________________________________________________________________________________________
// class declarations
//________________________________________________________________________________________________________
@@ -228,10 +237,11 @@ struct IMPL_SfxBaseModel_DataContainer ; // impl. struct to hold member of clas
SfxListener
*/
-typedef ::comphelper::WeakImplHelper29 < XCHILD
+typedef ::comphelper::WeakImplHelper30 < XCHILD
, XDOCUMENTINFOSUPPLIER
, ::com::sun::star::document::XDocumentPropertiesSupplier
, ::com::sun::star::rdf::XDocumentMetadataAccess
+ , ::com::sun::star::document::XDocumentRecovery
, XEVENTBROADCASTER
, XEVENTLISTENER
, XEVENTSSUPPLIER
@@ -1284,6 +1294,18 @@ public:
virtual ::rtl::OUString SAL_CALL getUntitledPrefix()
throw (css::uno::RuntimeException);
+ // css.document.XDocumentRecovery
+ virtual ::sal_Bool SAL_CALL wasModifiedSinceLastSave()
+ throw ( ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL storeToRecoveryFile( const ::rtl::OUString& i_TargetLocation, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& i_MediaDescriptor )
+ throw ( ::com::sun::star::uno::RuntimeException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException );
+ virtual void SAL_CALL recoverFromFile( const ::rtl::OUString& i_SourceLocation, const ::rtl::OUString& i_SalvagedFile, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& i_MediaDescriptor )
+ throw ( ::com::sun::star::uno::RuntimeException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException );
+
//____________________________________________________________________________________________________
// ::com::sun::star::rdf::XNode:
@@ -1463,6 +1485,7 @@ public:
SAL_DLLPRIVATE sal_Bool impl_isDisposed() const ;
sal_Bool IsDisposed() const ;
+ sal_Bool IsInitialized() const;
::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData() throw (::com::sun::star::uno::RuntimeException);
void SAL_CALL setViewData( const ::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess >& aData ) throw (::com::sun::star::uno::RuntimeException);
@@ -1473,7 +1496,6 @@ public:
/** returns true if someone added a XEventListener to this XEventBroadcaster */
sal_Bool hasEventListeners() const;
-
protected:
/* returns a unique id for the model that is valid as long as the document
@@ -1517,6 +1539,13 @@ private:
SAL_DLLPRIVATE css::uno::Reference< css::frame::XTitle > impl_getTitleHelper ();
SAL_DLLPRIVATE css::uno::Reference< css::frame::XUntitledNumbers > impl_getUntitledHelper ();
+ SAL_DLLPRIVATE SfxViewFrame* FindOrCreateViewFrame_Impl(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame,
+ ::sfx::intern::ViewCreationGuard& i_rGuard
+ ) const;
+
+ SAL_DLLPRIVATE void NotifyModifyListeners_Impl() const;
+
//________________________________________________________________________________________________________
// private variables and methods
//________________________________________________________________________________________________________
@@ -1526,9 +1555,42 @@ private:
IMPL_SfxBaseModel_DataContainer* m_pData ;
// cannot be held in m_pData, since it needs to be accessed in non-threadsafe context
const bool m_bSupportEmbeddedScripts;
+ const bool m_bSupportDocRecovery;
} ; // class SfxBaseModel
+class SFX2_DLLPUBLIC SfxModelGuard
+{
+public:
+ enum AllowedModelState
+ {
+ // not yet initialized
+ E_INITIALIZING,
+ // fully alive, i.e. initialized, and not yet disposed
+ E_FULLY_ALIVE
+ };
+
+ SfxModelGuard( SfxBaseModel& i_rModel, const AllowedModelState i_eState = E_FULLY_ALIVE )
+ :m_aGuard( Application::GetSolarMutex() )
+ {
+ if ( i_rModel.IsDisposed() )
+ throw ::com::sun::star::lang::DisposedException( ::rtl::OUString(), *&i_rModel );
+ if ( ( i_eState != E_INITIALIZING ) && !i_rModel.IsInitialized() )
+ throw ::com::sun::star::lang::NotInitializedException( ::rtl::OUString(), *&i_rModel );
+ }
+ ~SfxModelGuard()
+ {
+ }
+
+ void clear()
+ {
+ m_aGuard.clear();
+ }
+
+private:
+ ::vos::OClearableGuard m_aGuard;
+};
+
#undef css
#endif // _SFX_SFXBASEMODEL_HXX_
diff --git a/sfx2/inc/sfx2/sfxmodelfactory.hxx b/sfx2/inc/sfx2/sfxmodelfactory.hxx
index 9136251614..ac22ef41df 100644
--- a/sfx2/inc/sfx2/sfxmodelfactory.hxx
+++ b/sfx2/inc/sfx2/sfxmodelfactory.hxx
@@ -40,8 +40,10 @@ namespace sfx2
{
//........................................................................
+ #define SFXMODEL_STANDARD (sal_uInt64)(0x0000)
#define SFXMODEL_EMBEDDED_OBJECT (sal_uInt64)(0x0001)
#define SFXMODEL_DISABLE_EMBEDDED_SCRIPTS (sal_uInt64)(0x0002)
+ #define SFXMODEL_DISABLE_DOCUMENT_RECOVERY (sal_uInt64)(0x0004)
typedef ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > ( SAL_CALL * SfxModelFactoryFunc ) (
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory,
diff --git a/sfx2/inc/sfx2/sfxsids.hrc b/sfx2/inc/sfx2/sfxsids.hrc
index 16e0205de1..3d6f742a81 100644
--- a/sfx2/inc/sfx2/sfxsids.hrc
+++ b/sfx2/inc/sfx2/sfxsids.hrc
@@ -53,7 +53,6 @@
#define SID_NONE 0
#define SID_UNKNOWN SID_SFX_START
-#define SID_SUBREQUEST (SID_SFX_START+90)
//-------------------------------------------------------------------------
@@ -83,79 +82,28 @@
#define SID_PRINTER_CHANGESTODOC (SID_SFX_START + 324)
#define SID_PRINTPREVIEW (SID_SFX_START + 325)
-#define SID_MAIL_DATE (SID_SFX_START + 326)
-#define SID_MAIL_FROM (SID_SFX_START + 327)
#define SID_MAIL_SUBJECT (SID_SFX_START + 328)
-#define SID_MAIL_OPEN (SID_SFX_START + 329)
#define SID_MAIL_NOTIFY (SID_SFX_START + 330)
#define SID_MAIL_SENDDOC (SID_SFX_START + 331)
#define SID_MAIL_SENDDOCASPDF (SID_SFX_START + 1672)
-
#define SID_MAIL_RECIPIENT (SID_SFX_START + 334)
#define SID_MAIL_TEXT (SID_SFX_START + 335)
#define SID_MAIL_ATTACH (SID_SFX_START + 336)
#define SID_MAIL_PRIORITY (SID_SFX_START + 337)
-#define SID_MAIL_DELETE (SID_SFX_START + 338)
-#define SID_MAIL_NEW (SID_SFX_START + 339)
-
-#define SID_MAIL_NEWWITHSERVER (SID_SFX_START + 360)
-#define SID_MAIL_REPLY (SID_SFX_START + 361)
-#define SID_MAIL_FOLLOWUP (SID_SFX_START + 362)
-#define SID_MAIL_FORWARD (SID_SFX_START + 363)
-#define SID_MAIL_SEND (SID_SFX_START + 364)
-#define SID_MAIL_FILE (SID_SFX_START + 365)
-#define SID_MAIL_MARKASREAD (SID_SFX_START + 366)
-#define SID_MAIL_MARKASUNREAD (SID_SFX_START + 367)
-#define SID_MAIL_NEXT (SID_SFX_START + 368)
-#define SID_MAIL_PREV (SID_SFX_START + 369)
-#define SID_MAIL_NEXTDELETE (SID_SFX_START + 370)
-#define SID_MAIL_PREVDELETE (SID_SFX_START + 371)
-#define SID_MAIL_OPEN_NEWS (SID_SFX_START + 372)
-#define SID_MAIL_THREAD_MARKASREAD (SID_SFX_START + 373)
-#define SID_MAIL_THREAD_MARKASUNREAD (SID_SFX_START + 374)
+
#define SID_MAIL_ATTACH_FILE (SID_SFX_START + 375)
-#define SID_MAIL_DETACH_FILE (SID_SFX_START + 376)
-#define SID_MAIL_MARK (SID_SFX_START + 377)
-#define SID_MAIL_TXTFORMAT (SID_SFX_START + 378)
-#define SID_MAIL_UPDATETOOLBOX (SID_SFX_START + 379)
-
-#define SID_OPEN_ANCHOR (SID_SFX_START + 380)
-#define SID_MAIL_ADDRESSBOOK (SID_SFX_START + 1644)
-#define SID_MAIL_ALLNEWSGROUPS (SID_SFX_START + 382)
-#define SID_MAIL_GROUPREPLY (SID_SFX_START + 383)
-#define SID_MAIL_SIGNATURE (SID_SFX_START + 384)
-#define SID_MAIL_PREPAREEXPORT (SID_SFX_START + 385)
-#define SID_MAIL_NEXTUNREAD (SID_SFX_START + 386)
-#define SID_MAIL_PREVUNREAD (SID_SFX_START + 387)
+
#define SID_MAIL_EXPORT_FINISHED (SID_SFX_START + 388)
-#define SID_NEWSSERVER_NAME (SID_SFX_START + 389)
-#define SID_NEWS_GROUP_CHANGED (SID_SFX_START + 390)
-#define SID_MAILBROWSER_CTRL (SID_SFX_START + 391)
-#define SID_NEWSGROUP_NAME (SID_SFX_START + 392)
#define SID_WEBHTML (SID_SFX_START + 393)
#define SID_MAIL_SCROLLBODY_PAGEDOWN (SID_SFX_START + 1588)
-#define SID_MAIL_REPLY_FOLLOWUP (SID_SFX_START + 1635)
-#define SID_PHONE_STATUSBAR_CONTROL (SID_SFX_START + 398)
-#define SID_RECOGNIZER_STATUSBAR_CONTROL (SID_SFX_START + 399)
#define SID_PROGRESS_STATUSBAR_CONTROL (SID_SFX_START + 1597)
-#define SID_RESOURCE_WARNING (SID_SFX_START + 333)
-
#define SID_APPLICATION (SID_SFX_START + 340)
#define SID_PROGNAME (SID_SFX_START + 341)
#define SID_PROGFILENAME (SID_SFX_START + 342)
-#define SID_PROGPATH (SID_SFX_START + 343)
-#define SID_INTERACTIVEMODE (SID_SFX_START + 344)
-#define SID_PARENTOBJECT (SID_SFX_START + 345)
#define SID_SELECTION (SID_SFX_START + 346)
-#define SID_CREATOR (SID_SFX_START + 347)
-
-#define SID_COLL_COUNT (SID_SFX_START + 350)
-#define SID_COLL_ITEM (SID_SFX_START + 351)
-#define SID_COLL_REMOVE (SID_SFX_START + 352)
-#define SID_COLL_ADD (SID_SFX_START + 353)
// 360-400 siehe SID_MAIL_...
@@ -207,26 +155,14 @@
#define SID_RELOAD (SID_SFX_START + 508)
#define SID_PRINTDOCDIRECT (SID_SFX_START + 509)
#define SID_PICKLIST (SID_SFX_START + 510)
-#define SID_EDIT_FRAMESET (SID_SFX_START + 646)
-#define SID_SPLIT_HORIZONTAL (SID_SFX_START + 647)
-#define SID_SPLIT_VERTICAL (SID_SFX_START + 648)
-#define SID_SPLIT_PARENT_HORIZONTAL (SID_SFX_START + 649)
-#define SID_SPLIT_PARENT_VERTICAL (SID_SFX_START + 650)
-#define SID_MODIFY_FRAME (SID_SFX_START + 651)
-#define SID_DELETE_FRAME (SID_SFX_START + 652)
-#define SID_FRAME_NAME (SID_SFX_START + 825)
-#define SID_FRAME_CONTENT (SID_SFX_START + 826)
#define SID_PLUGIN_MODE (SID_SFX_START + 827)
-#define SID_LOCKBYTES_FACTORY (SID_SFX_START + 828)
#define SID_EXPORTDOC (SID_SFX_START + 829)
#define SID_EXPORTDOCASPDF (SID_SFX_START + 1673)
#define SID_DIRECTEXPORTDOCASPDF (SID_SFX_START + 1674)
#define SID_UPDATEDOCMODE (SID_SFX_START + 1668)
-#define SID_NOCACHE (SID_SFX_START + 653)
#define SID_FORCERELOAD (SID_SFX_START + 1502)
#define SID_FILE_DIALOG (SID_SFX_START + 304)
-#define SID_GRAFIC_DIALOG (SID_SFX_START + 305)
#define SID_PATH (SID_SFX_START + 308)
#define SID_SAVEDOCS (SID_SFX_START + 309)
#define SID_STANDARD_DIR (SID_SFX_START + 450)
@@ -235,88 +171,20 @@
// browse-ids
#define SID_BROWSE_FORWARD (SID_SFX_START + 1300)
#define SID_BROWSE_BACKWARD (SID_SFX_START + 1301)
-#define SID_BROWSE_STOP (SID_SFX_START + 1302)
#define SID_BROWSE_HOME (SID_SFX_START + 1303)
-#define SID_AUTOBROWSE (SID_SFX_START + 1304)
-#define SID_AUTOMAIL (SID_SFX_START + 1305)
-#define SID_BROWSING (SID_SFX_START + 1306)
-#define SID_ADDR_BOOK (SID_SFX_START + 1307)
-#define SID_EXPLORER (SID_SFX_START + 1308)
#define SID_CREATELINK (SID_SFX_START + 1309)
#define SID_BOOKMARK_TITLE (SID_SFX_START + 1310)
#define SID_BOOKMARK_URL (SID_SFX_START + 1311)
#define SID_EDITDOC (SID_SFX_START + 1312)
#define SID_BROWSER_MODE (SID_SFX_START + 1313)
#define SID_PLUGINS_ACTIVE (SID_SFX_START + 1314)
-#define SID_SAVEDOCTOBOOKMARK (SID_SFX_START + 1315)
-#define SID_CLEARMEMCACHE (SID_SFX_START + 1316)
#define SID_BROWSER (SID_SFX_START + 1318)
#define SID_MACROEXECMODE (SID_SFX_START + 1319)
-#define SID_EXPLORERCONTENT_OPEN (SID_SFX_START + 1322)
-#define SID_EXPLORERCONTENT_OPEN_DOCUMENT (SID_SFX_START + 1321)
-#define SID_EXPLORERCONTENT_OPEN_TEMPLATE (SID_SFX_START + 1362)
-#define SID_EXPLORERCONTENT_OPEN_FOLDER (SID_SFX_START + 1542)
-#define SID_EXPLORERCONTENT_OPEN_OBJECT (SID_SFX_START + 1543)
-#define SID_EXPLORERCONTENT_NEW (SID_SFX_START + 1323)
-#define SID_EXPLORERCONTENT_DESTROY (SID_SFX_START + 1324)
-#define SID_EXPLORERCONTENT_MAKEROOT (SID_SFX_START + 1325)
-#define SID_EXPLORERCONTENT_RENAME (SID_SFX_START + 1326)
-#define SID_EXPLORERCONTENT_COPY (SID_SFX_START + 1327)
-#define SID_EXPLORERCONTENT_PASTE (SID_SFX_START + 1328)
-#define SID_EXPLORERCONTENT_CREATELINK (SID_SFX_START + 1329)
-#define SID_EXPLORERCONTENT_DEFAULTTEMPLATE (SID_SFX_START + 1330)
-#define SID_EXPLORER_CREATEFOLDER (SID_SFX_START + 1331)
-#define SID_EXPLORER_CREATEBOOKMARK (SID_SFX_START + 1332)
-#define SID_EXPLORER_CREATEWORKPLACE (SID_SFX_START + 1333)
-#define SID_EXPLORER_CREATELINK (SID_SFX_START + 1334)
-#define SID_EXPLORER_CREATEMAILINTRAY (SID_SFX_START + 1335)
-#define SID_EXPLORER_CREATENEWSSERVER (SID_SFX_START + 1336)
-#define SID_EXPLORER_CREATEFTPSERVER (SID_SFX_START + 1337)
-#define SID_EXPLORER_CREATEDATABASE (SID_SFX_START + 1338)
-#define SID_EXPLORER_CREATEGALLERY (SID_SFX_START + 1339)
-#define SID_PROPERTIES (SID_SFX_START + 1350)
-#define SID_EXPLORER_MAKEROOT (SID_SFX_START + 1351)
-#define SID_EXPLORER_MAKEBMKDIR (SID_SFX_START + 1352)
-#define SID_EXPLORER_PREVLEVEL (SID_SFX_START + 1353)
-#define SID_EXPLORER_IMPORTBOOKMARKS (SID_SFX_START + 1354)
-#define SID_EXPLORER_SEARCHORIGINAL (SID_SFX_START + 1355)
-#define SID_EXPLORER_DETAILS (SID_SFX_START + 1356)
-#define SID_EXPLORER_ICONS (SID_SFX_START + 1357)
-#define SID_VIEWTYPE_DETAILS (SID_SFX_START + 1358)
-#define SID_EXPLORER_MSGROUP_FSYS (SID_SFX_START + 1359)
-#define SID_EXPLORER_MSGROUP_NEWSARTICLE (SID_SFX_START + 1360)
-#define SID_EXPLORER_MSGROUP_NEWSGROUP (SID_SFX_START + 1361)
-#define SID_EXPLORER_RESETURL (SID_SFX_START + 1520)
-
-#define SID_EXPLORER_DOCINFO (SID_SFX_START + 1363)
-#define SID_EXPLORER_PREVIEW (SID_SFX_START + 1364)
-#define SID_EXPLORER_MSGROUP_FTPFILE (SID_SFX_START + 1365)
-#define SID_SEARCHORIGINAL (SID_SFX_START + 1366)
-#define SID_EXPLORER_MSGROUP_MAILS (SID_SFX_START + 1367)
-#define SID_EXPLORER_MSGROUP_CHAOS (SID_SFX_START + 1368)
// die Id steht mit diesem Wert in chaos/cntids.hrc!!
//#define SID_INTERNET_ONLINE (SID_SFX_START + 1370)
-#define SID_INTERNET_UPDATE (SID_SFX_START + 1371)
-#define SID_INTERNET_1 (SID_SFX_START + 1372)
-#define SID_INTERNET_2 (SID_SFX_START + 1373)
-#define SID_INTERNET_3 (SID_SFX_START + 1374)
-
#define SID_FILTER_DATA (SID_SFX_START + 1375)
-#define SID_EXPLORER_SEARCH_DLG (SID_SFX_START + 1380)
-#define SID_EXPLORER_MULTIQUICKSEARCH (SID_SFX_START + 1522)
-#define SID_EXPLORER_SHOWEXTENSION (SID_SFX_START + 1594)
-#define SID_EXPLORER_MAIL_HEADER (SID_SFX_START + 1595)
-#define SID_EXPLORER_MAIL_BODY (SID_SFX_START + 1596)
-
-#define SID_TABPAGE (SID_SFX_START + 1383)
-//#define SID_EXPLORER_CREATESEARCHFOLDER (SID_SFX_START + 1384)
-#define SID_EMPTY_TRASH (SID_SFX_START + 1385)
-#define SID_AFTEROPENEVENT (SID_SFX_START + 1386)
-#define SID_QUERYICON (SID_SFX_START + 1387)
-#define SID_SYNCEXPLORER (SID_SFX_START + 1388)
-#define SID_EXPLORER_PASTE_ASLINK (SID_SFX_START + 1389)
#define SID_EXPLORER_FILEPROPS_START (SID_SFX_START + 1390)
#define SID_EXPLORER_FILEPROPS_END (SID_SFX_START + 1399)
@@ -324,73 +192,22 @@
#define ID_FILETP_START SID_EXPLORER_FILEPROPS_START
#define ID_FILETP_READONLY (ID_FILETP_START + 0)
#define ID_FILETP_TITLE (ID_FILETP_START + 1)
-#define ID_FILETP_SIZE (ID_FILETP_START + 2)
-#define ID_FILETP_TYPE (ID_FILETP_START + 3)
-#define ID_FILETP_PATH (ID_FILETP_START + 4)
-#define ID_FILETP_CREATED (ID_FILETP_START + 5)
-#define ID_FILETP_CHANGED (ID_FILETP_START + 6)
-#define ID_FILETP_EDIT (ID_FILETP_START + 7)
-#define ID_FILETP_IMAGE (ID_FILETP_START + 8)
-#define ID_FILETP_LINK (ID_FILETP_START + 9)
-#define ID_FILETP_END (ID_FILETP_START + 9)
-
-#define SID_NEWFRAMESET (SID_SFX_START + 1400)
#define SID_EXPLORER_PROPS_START (SID_SFX_START + 1410)
#define SID_EXPLORER_PROPS_END (SID_SFX_START + 1499)
-
-
-#define SID_TRASH_RECOVER (SID_SFX_START + 1502)
-#define SID_TRASH_AUTOEMPTY (SID_SFX_START + 1503)
-#define SID_TRASH_EMPTY (SID_SFX_START + 1504)
-#define SID_EXPLORER_BOOKMARKDIR (SID_SFX_START + 1505)
-#define SID_EXPLORER_SEARCHORIG (SID_SFX_START + 1506)
-#define SID_FRAMESPACING (SID_SFX_START + 1507)
-#define SID_LATEINIT_DONE (SID_SFX_START + 1508)
#define SID_AUTOLOAD (SID_SFX_START + 1509)
-#define SID_FRAMECOUNT (SID_SFX_START + 1510)
-#define SID_ISTOP (SID_SFX_START + 1511)
-#define SID_VIEW (SID_SFX_START + 1512)
-#define SID_ORIG_PROPERTIES (SID_SFX_START + 1513)
-#define SID_MAIL_NOTIFY_RESET (SID_SFX_START + 1514)
#define SID_FILLFRAME (SID_SFX_START + 1516)
-#define SID_LOAD_LIBRARY (SID_SFX_START + 1517)
#define SID_BASEURL (SID_SFX_START + 1518)
#define SID_TEMPLATE (SID_SFX_START + 1519)
-#define SID_UNLOAD_LIBRARY (SID_SFX_START + 1523)
-#define SID_ADD_LIBRARY (SID_SFX_START + 1524)
-#define SID_REMOVE_LIBRARY (SID_SFX_START + 1525)
-#define SID_CLASSNAME (SID_SFX_START + 1526)
-#define SID_INTERCEPTOR (SID_SFX_START + 1527)
-#define SID_TARGETPATH (SID_SFX_START + 1528)
-
-#define SID_START (SID_SFX_START + 1529)
-#define SID_STOP (SID_SFX_START + 1530)
-#define SID_VALUE (SID_SFX_START + 1531)
-#define SID_SUSPEND (SID_SFX_START + 1532)
-#define SID_RESUME (SID_SFX_START + 1533)
-#define SID_LOCKALL (SID_SFX_START + 1534)
-#define SID_WAITPOINTER (SID_SFX_START + 1535)
-
#define SID_ONLINE_REGISTRATION (SID_SFX_START + 1537)
#define SID_ONLINE_REGISTRATION_DLG (SID_SFX_START + 1540)
#define SID_CONTENTTYPE (SID_SFX_START + 1541)
-#define SID_DOC_IGNOREINFORMATIONLOST (SID_SFX_START + 1544)
-#define SID_EXPLORER_SELECTIONSIZE (SID_SFX_START + 1545)
#define SID_SAVETO (SID_SFX_START + 1546)
-#define SID_ADJUSTICONS (SID_SFX_START + 1547)
-#define SID_AUTO_ADJUSTICONS (SID_SFX_START + 1548)
-#define SID_ICONGRID (SID_SFX_START + 1549)
-#define SID_BINDING (SID_SFX_START + 1550)
-
-#define SID_ISCHILDFRAMELOAD (SID_SFX_START + 1552)
-#define SID_PARENTFRAME (SID_SFX_START + 1554)
-
#define SID_CREATE_BASICOBJECT (SID_SFX_START + 1555)
#define SID_DELETE_BASICOBJECT (SID_SFX_START + 1556)
@@ -399,27 +216,11 @@
#define SID_UPDATE_VERSION (SID_SFX_START + 1568)
#define SID_BUILD_VERSION (SID_SFX_START + 1569)
-#define SID_INSERT_TASKFRAME (SID_SFX_START + 1572)
-#define SID_TASK (SID_SFX_START + 1573)
-#define SID_ACTIVETASK (SID_SFX_START + 1574)
-#define SID_EXPLORER_ISDESKTOP (SID_SFX_START + 1576)
-
-#define SID_CHAOSDOC_LAYOUT1 (SID_SFX_START + 1578)
-#define SID_CHAOSDOC_LAYOUT2 (SID_SFX_START + 1579)
-#define SID_CHAOSDOC_LAYOUT3 (SID_SFX_START + 1580)
-#define SID_CHAOSDOC_LAYOUT4 (SID_SFX_START + 1581)
-
#define SID_VERSION (SID_SFX_START + 1583)
-#define SID_UNO (SID_SFX_START + 1584)
#define SID_DOCUMENT_COMPARE (SID_SFX_START + 1586)
#define SID_DOCUMENT_MERGE (SID_SFX_START + 1587)
-#define SID_EXECUTE (SID_SFX_START + 1593)
-#define SID_OWNS_FRAME (SID_SFX_START + 1598)
-
-#define SID_OFFICE_VERSION_ID (SID_SFX_START + 1599)
-#define SID_USE_FILTEROPTIONS (SID_SFX_START + 1600)
#define SID_OFFICE_PLK (SID_SFX_START + 1601)
#define SID_OFFICE_PALK (SID_SFX_START + 1604)
#define SID_CHECK_KEY (SID_SFX_START + 1605)
@@ -452,7 +253,7 @@
#define SID_LOGOUT (SID_SFX_START + 1652)
#define SID_JUMPMARK (SID_SFX_START + 1654)
#define SID_BROWSE (SID_SFX_START + 1658)
-#define SID_BACKTOWEBTOP (SID_SFX_START + 1657)
+ // FREE (was: SID_BACKTOWEBTOP)
#define SID_SEGMENTSIZE (SID_SFX_START + 1659)
#define SID_VIEW_DATA_SOURCE_BROWSER (SID_SFX_START + 1660)
#define SID_TOGGLE_MENUBAR (SID_SFX_START + 1661)
@@ -509,10 +310,10 @@
#define SID_SFX_free_END (SID_SFX_START + 3999)
#define SID_OPEN_NEW_VIEW (SID_SFX_START + 520)
-#define SID_VIEW_ZOOM_MODE (SID_SFX_START + 521)
-#define SID_VIEW_POS_SIZE (SID_SFX_START + 522)
+ // FREE, was SID_VIEW_ZOOM_MODE
+ // FREE, was SID_VIEW_POS_SIZE
#define SID_VIEW_ID (SID_SFX_START + 523)
-#define SID_USER_DATA (SID_SFX_START + 524)
+ // FREE, was SID_USER_DATA
#define SID_VIEW_DATA (SID_SFX_START + 1582)
#define SID_SILENT (SID_SFX_START + 528)
#define SID_HIDDEN (SID_SFX_START + 534)
@@ -663,7 +464,7 @@
#define SID_WIN_MINIMIZED (SID_SFX_START + 625)
#define SID_WIN_MAXIMIZED (SID_SFX_START + 626)
#define SID_WIN_FULLSCREEN (SID_SFX_START + 627)
-#define SID_WIN_POSSIZE (SID_SFX_START + 628)
+ // FREE, was SID_WIN_POSSIZE
#define SID_WIN_VISIBLE (SID_SFX_START + 629)
#define SID_VIEWSHELL0 (SID_SFX_START + 630)
@@ -932,7 +733,7 @@
#define SID_ATTR_AUTOSAVEMINUTE (SID_OPTIONS_START + 5)
#define SID_ATTR_WORKINGSET (SID_OPTIONS_START + 13)
#define SID_ATTR_UNDO_COUNT (SID_OPTIONS_START + 16)
-#define SID_ATTR_SAVEDOCWINS (SID_OPTIONS_START + 17)
+ // unused
#define SID_ATTR_SAVEDOCVIEW (SID_OPTIONS_START + 18)
// GeneralTabPage
diff --git a/sfx2/inc/sfx2/shell.hxx b/sfx2/inc/sfx2/shell.hxx
index e7cfa08b3b..9d2ef73d5f 100644
--- a/sfx2/inc/sfx2/shell.hxx
+++ b/sfx2/inc/sfx2/shell.hxx
@@ -86,7 +86,6 @@ enum SfxInterfaceId
SFX_INTERFACE_NONE,
SFX_INTERFACE_SFXAPP,
SFX_INTERFACE_SFXDOCSH,
- SFX_INTERFACE_SFXTOPFRM,
SFX_INTERFACE_SFXIPFRM,
SFX_INTERFACE_SFXVIEWSH,
SFX_INTERFACE_SFXVIEWFRM,
diff --git a/sfx2/inc/sfx2/topfrm.hxx b/sfx2/inc/sfx2/topfrm.hxx
deleted file mode 100644
index 76b238efe0..0000000000
--- a/sfx2/inc/sfx2/topfrm.hxx
+++ /dev/null
@@ -1,122 +0,0 @@
-/*************************************************************************
- *
- * 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 _SFX_TOPFRM_HXX
-#define _SFX_TOPFRM_HXX
-
-#include "sal/config.h"
-#include "sfx2/dllapi.h"
-#include "sal/types.h"
-#include <com/sun/star/uno/Reference.h>
-#include <vcl/dockwin.hxx>
-#include <vcl/wrkwin.hxx>
-
-#include <sfx2/frame.hxx>
-#include <sfx2/viewfrm.hxx>
-
-class SfxViewShell;
-class SfxTopFrame;
-class SfxTopFrame_Impl;
-namespace svtools { class AsynchronLink; }
-
-// class SfxTopFrame -----------------------------------------------------
-
-class SFX2_DLLPUBLIC SfxTopFrame : public SfxFrame
-{
-friend class SfxTopWindow_Impl;
-friend class SfxTopFrameWindow_Impl;
-friend class SfxTopFrame_Impl;
-
- SfxTopFrame_Impl* pImp;
- Window* pWindow;
- SAL_DLLPRIVATE SfxTopFrame( Window* pWindow=NULL, sal_Bool bHidden = sal_False );
- SAL_DLLPRIVATE virtual ~SfxTopFrame();
-public:
- TYPEINFO();
-
- static SfxTopFrame* Create( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame );
- static SfxTopFrame* Create( SfxObjectShell* pDoc=0, USHORT nViewId=0, BOOL bHidden=sal_False, const SfxItemSet* pSet=NULL );
- static SfxTopFrame* Create( SfxObjectShell* pDoc, Window* pWindow, USHORT nViewId=0, BOOL bHidden=sal_False, const SfxItemSet* pSet=NULL );
-
- virtual Window& GetWindow() const;
- virtual BOOL Close();
- virtual BOOL InsertDocument( SfxObjectShell *pDoc );
- String GetWindowData();
-
- void SetPresentationMode( BOOL bSet );
- SystemWindow* GetSystemWindow() const;
-
-//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE void LockResize_Impl( BOOL bLock );
- SAL_DLLPRIVATE void SetMenuBarOn_Impl( BOOL bOn );
- SAL_DLLPRIVATE BOOL IsMenuBarOn_Impl() const;
- SAL_DLLPRIVATE BOOL InsertDocument_Impl( SfxObjectShell *pDoc, USHORT nViewId=0 );
- SAL_DLLPRIVATE SystemWindow* GetTopWindow_Impl() const;
- SAL_DLLPRIVATE void CheckMenuCloser_Impl( MenuBar* pMenubar );
-//#endif
-};
-
-// class SfxTopViewFrame -------------------------------------------------
-
-class SfxTopViewFrame_Impl;
-class SFX2_DLLPUBLIC SfxTopViewFrame : public SfxViewFrame
-{
-friend class SfxTopWindow_Impl;
-friend class SfxTopViewFrame_Impl;
-
- SfxTopViewFrame_Impl* pImp;
- svtools::AsynchronLink* pCloser;
-
-protected:
-
- virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
- virtual void Activate( BOOL bUI );
- virtual void Deactivate( BOOL bUI );
- virtual BOOL Close();
- virtual ~SfxTopViewFrame();
-
-public:
- TYPEINFO();
- SFX_DECL_INTERFACE(SFX_INTERFACE_SFXTOPFRM)
-
- SfxTopViewFrame( SfxFrame* pFrame, SfxObjectShell *pDoc=NULL, USHORT nViewId=0 );
-
- virtual void SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY );
- SAL_DLLPRIVATE virtual BOOL SetBorderPixelImpl( const SfxViewShell *pSh, const SvBorder &rBorder );
- virtual String UpdateTitle();
-
-//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE void Exec_Impl(SfxRequest &);
- SAL_DLLPRIVATE void GetState_Impl(SfxItemSet &);
- SAL_DLLPRIVATE void INetExecute_Impl(SfxRequest &);
- SAL_DLLPRIVATE void INetState_Impl(SfxItemSet &);
- SAL_DLLPRIVATE SfxTopFrame* GetTopFrame_Impl()
- { return (SfxTopFrame*) GetFrame(); }
-//#endif
-};
-
-#endif // #ifndef _SFX_TOPFRM_HXX
-
diff --git a/sfx2/inc/sfx2/viewfrm.hxx b/sfx2/inc/sfx2/viewfrm.hxx
index e3da424a31..06e6b9dcae 100644
--- a/sfx2/inc/sfx2/viewfrm.hxx
+++ b/sfx2/inc/sfx2/viewfrm.hxx
@@ -38,6 +38,7 @@
#include <svl/poolitem.hxx>
#include <com/sun/star/frame/status/Verb.hpp>
#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/frame/XController2.hpp>
class SfxMacro;
class SvBorder;
@@ -48,7 +49,6 @@ class SfxProgress;
class SvData;
class SfxViewShell;
class SvPseudoObject;
-class SfxCancelManager;
class SystemWindow;
class Fraction;
class Point;
@@ -59,6 +59,10 @@ namespace sfx2
{
class SvLinkSource;
}
+namespace svtools
+{
+ class AsynchronLink;
+}
#ifndef SFX_DECL_OBJECTSHELL_DEFINED
#define SFX_DECL_OBJECTSHELL_DEFINED
@@ -127,6 +131,7 @@ Rectangle & operator += ( Rectangle & rRect, const SvBorder & rBorder );
Rectangle & operator -= ( Rectangle & rRect, const SvBorder & rBorder );
+DBG_NAMEEX(SfxViewFrame)
class SFX2_DLLPUBLIC SfxViewFrame: public SfxShell, public SfxListener
{
struct SfxViewFrame_Impl* pImp;
@@ -144,39 +149,32 @@ private:
protected:
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
- SAL_DLLPRIVATE void SetWindow_Impl( Window *pWin );
-
#ifndef _SFX_HXX
- SAL_DLLPRIVATE BOOL SwitchToViewShell_Impl( USHORT nNo, BOOL bIsIndex = FALSE );
SAL_DLLPRIVATE void KillDispatcher_Impl();
#endif
virtual ~SfxViewFrame();
public:
+ SfxViewFrame( SfxFrame& rFrame, SfxObjectShell *pDoc = NULL );
+
TYPEINFO();
SFX_DECL_INTERFACE(SFX_INTERFACE_SFXVIEWFRM)
- SfxViewFrame( SfxBindings&, SfxFrame*, SfxObjectShell *pDoc=0, sal_uInt32 nType = 0 );
- SfxViewFrame(SfxObjectShell&, SfxBindings&, SfxFrame*p=0, sal_uInt32 nType = 0);
- SfxViewFrame(
- const SfxViewFrame &, SfxBindings &, SfxFrame *pFrame);
-
- static SfxViewFrame* SearchViewFrame( SfxViewFrame*, const String& );
static void SetViewFrame( SfxViewFrame* );
- static SfxViewFrame* CreateViewFrame( SfxObjectShell& rDoc,
- USHORT nViewId=0,
- BOOL bHidden=FALSE );
+
+ static SfxViewFrame* LoadHiddenDocument( SfxObjectShell& i_rDoc, const USHORT i_nViewId );
+ static SfxViewFrame* LoadDocument( SfxObjectShell& i_rDoc, const USHORT i_nViewId );
+ static SfxViewFrame* LoadDocumentIntoFrame( SfxObjectShell& i_rDoc, const SfxFrameItem* i_pFrameItem, const USHORT i_nViewId = 0 );
+ static SfxViewFrame* LoadDocumentIntoFrame( SfxObjectShell& i_rDoc, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrameItem, const USHORT i_nViewId = 0 );
+ static SfxViewFrame* DisplayNewDocument( SfxObjectShell& i_rDoc, const SfxRequest& i_rCreateDocRequest, const USHORT i_nViewId = 0 );
static SfxViewFrame* Current();
- static SfxViewFrame* GetFirst( const SfxObjectShell* pDoc = 0,
- TypeId aType = 0,
- BOOL bOnlyVisible = TRUE );
- static SfxViewFrame* GetNext( const SfxViewFrame& rPrev,
- const SfxObjectShell* pDoc = 0,
- TypeId aType = 0 ,
- BOOL bOnlyVisible = TRUE );
- static USHORT Count(TypeId = 0);
+ static SfxViewFrame* GetFirst( const SfxObjectShell* pDoc = 0, BOOL bOnlyVisible = TRUE );
+ static SfxViewFrame* GetNext( const SfxViewFrame& rPrev, const SfxObjectShell* pDoc = 0, BOOL bOnlyVisible = TRUE );
+ static USHORT Count();
+
+ static SfxViewFrame* Get( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController>& i_rController, const SfxObjectShell* i_pDoc = NULL );
void DoActivate(BOOL bMDI, SfxViewFrame *pOld=NULL);
void DoDeactivate(BOOL bMDI, SfxViewFrame *pOld=NULL);
@@ -188,8 +186,7 @@ public:
SfxBindings& GetBindings() { return *pBindings; }
const SfxBindings& GetBindings() const { return *pBindings; }
Window& GetWindow() const;
- virtual void SetZoomFactor( const Fraction &rZoomX,
- const Fraction &rZoomY ) = 0;
+ virtual void SetZoomFactor( const Fraction &rZoomX, const Fraction &rZoomY );
SfxProgress* GetProgress() const;
#ifdef ENABLE_INIMANAGER//MUSTINI
@@ -213,6 +210,8 @@ public:
void ToTop();
void Enable( BOOL bEnable );
virtual BOOL Close();
+ virtual void Activate( BOOL bUI );
+ virtual void Deactivate( BOOL bUI );
// DDE-Interface
virtual long DdeExecute( const String& rCmd );
@@ -224,10 +223,10 @@ public:
const ::com::sun::star::uno::Any & rValue );
virtual ::sfx2::SvLinkSource* DdeCreateLinkSource( const String& rItem );
- virtual void ShowStatusText( const String& rText );
- virtual void HideStatusText();
+ void ShowStatusText( const String& rText );
+ void HideStatusText();
- virtual String UpdateTitle();
+ String UpdateTitle();
// interne Handler
SAL_DLLPRIVATE virtual BOOL SetBorderPixelImpl( const SfxViewShell *pSh, const SvBorder &rBorder );
@@ -236,21 +235,18 @@ public:
virtual SfxObjectShell* GetObjectShell();
USHORT GetCurViewId() const;
- SfxFrame* GetFrame() const;
+ SfxFrame& GetFrame() const;
SfxViewFrame* GetTopViewFrame() const;
BOOL DoClose();
ULONG GetFrameType() const
- { return GetFrame()->GetFrameType(); }
- SfxFrame* GetTopFrame() const
- { return GetFrame()->GetTopFrame(); }
- SfxFrame* SearchFrame( const String& rName, SfxMedium* pMedium = 0)
- { return GetFrame()->SearchFrame( rName, pMedium ); }
+ { return GetFrame().GetFrameType(); }
+ SfxFrame& GetTopFrame() const
+ { return GetFrame().GetTopFrame(); }
void GetTargetList( TargetList& rList ) const
- { GetFrame()->GetTargetList( rList ); }
+ { GetFrame().GetTargetList( rList ); }
void CancelTransfers()
- { GetFrame()->CancelTransfers(); }
- SfxCancelManager* GetCancelManager() const;
+ { GetFrame().CancelTransfers(); }
void SetModalMode( BOOL );
BOOL IsInModalMode() const;
@@ -267,19 +263,11 @@ public:
void ChildWindowState(SfxItemSet&);
//#if 0 // _SOLAR__PRIVATE
- SAL_DLLPRIVATE SfxMacro* GetRecordingMacro_Impl();
- SAL_DLLPRIVATE void SetFrame_Impl( SfxFrame* );
SAL_DLLPRIVATE void SetDowning_Impl();
SAL_DLLPRIVATE void GetDocNumber_Impl();
SAL_DLLPRIVATE BOOL IsDowning_Impl() const;
- SAL_DLLPRIVATE void SetSetViewFrameAllowed_Impl( BOOL bSet );
- SAL_DLLPRIVATE BOOL IsSetViewFrameAllowed_Impl() const;
- SAL_DLLPRIVATE void SetImportingObjectShell_Impl( SfxObjectShell* pSH );
- SAL_DLLPRIVATE SfxObjectShell* GetImportingObjectShell_Impl( ) const;
SAL_DLLPRIVATE void SetViewShell_Impl( SfxViewShell *pVSh );
- SAL_DLLPRIVATE void SetObjectShell_Impl( SfxObjectShell& rObjSh ,
- FASTBOOL bDefaultView = FALSE );
- SAL_DLLPRIVATE void ReleaseObjectShell_Impl( BOOL bStoreView = FALSE );
+ SAL_DLLPRIVATE void ReleaseObjectShell_Impl();
SAL_DLLPRIVATE void GetState_Impl( SfxItemSet &rSet );
SAL_DLLPRIVATE void ExecReload_Impl( SfxRequest &rReq );
@@ -287,10 +275,8 @@ public:
SAL_DLLPRIVATE void StateReload_Impl( SfxItemSet &rSet );
SAL_DLLPRIVATE void ExecView_Impl( SfxRequest &rReq );
SAL_DLLPRIVATE void StateView_Impl( SfxItemSet &rSet );
- SAL_DLLPRIVATE void PropState_Impl( SfxItemSet &rSet );
SAL_DLLPRIVATE void ExecHistory_Impl( SfxRequest &rReq );
SAL_DLLPRIVATE void StateHistory_Impl( SfxItemSet &rSet );
- SAL_DLLPRIVATE void SetParentViewFrame_Impl(SfxViewFrame *pParentFrame);
SAL_DLLPRIVATE SfxViewFrame* GetParentViewFrame_Impl() const;
SAL_DLLPRIVATE void ForceOuterResize_Impl(BOOL bOn=TRUE);
SAL_DLLPRIVATE BOOL IsResizeInToOut_Impl() const;
@@ -301,25 +287,75 @@ public:
SAL_DLLPRIVATE void LockObjectShell_Impl(BOOL bLock=TRUE);
- SAL_DLLPRIVATE SfxViewShell* CreateView_Impl( USHORT nViewId );
SAL_DLLPRIVATE void MakeActive_Impl( BOOL bActivate );
SAL_DLLPRIVATE void SetQuietMode_Impl( BOOL );
SAL_DLLPRIVATE const Size& GetMargin_Impl() const;
- SAL_DLLPRIVATE void SetMargin_Impl( const Size& );
SAL_DLLPRIVATE void SetActiveChildFrame_Impl( SfxViewFrame* );
SAL_DLLPRIVATE SfxViewFrame* GetActiveChildFrame_Impl() const;
- SAL_DLLPRIVATE BOOL IsRestoreView_Impl() const;
- SAL_DLLPRIVATE void SetRestoreView_Impl( BOOL );
- SAL_DLLPRIVATE void SetViewData_Impl( USHORT, const String& );
- SAL_DLLPRIVATE String& GetViewData_Impl();
SAL_DLLPRIVATE String GetActualPresentationURL_Impl() const;
SAL_DLLPRIVATE static void CloseHiddenFrames_Impl();
SAL_DLLPRIVATE void MiscExec_Impl(SfxRequest &);
SAL_DLLPRIVATE void MiscState_Impl(SfxItemSet &);
SAL_DLLPRIVATE SfxWorkWindow* GetWorkWindow_Impl( USHORT nId );
SAL_DLLPRIVATE void AddDispatchMacroToBasic_Impl(const ::rtl::OUString& sMacro);
- SAL_DLLPRIVATE BOOL ClearEventFlag_Impl();
+
+ SAL_DLLPRIVATE void Exec_Impl(SfxRequest &);
+ SAL_DLLPRIVATE void INetExecute_Impl(SfxRequest &);
+ SAL_DLLPRIVATE void INetState_Impl(SfxItemSet &);
+
+ SAL_DLLPRIVATE void SetCurViewId_Impl( const USHORT i_nID );
+
//#endif
+private:
+ SAL_DLLPRIVATE BOOL SwitchToViewShell_Impl( USHORT nNo, BOOL bIsIndex = FALSE );
+ SAL_DLLPRIVATE void PopShellAndSubShells_Impl( SfxViewShell& i_rViewShell );
+
+ /** loads the given existing document into the given frame
+
+ This is done using the XComponentLoader interface of the frame, so the SFX document loader is invoked.
+
+ @param i_rDoc
+ the document to load
+ @param i_rFrame
+ the frame to load the document into
+ @param i_rLoadArgs
+ the arguments to pass to the component loader. If this sequence is empty, then the current arguments of the
+ model will be obtained, and passed to the loader. This ensures that any arguments in the model will be preserved,
+ instead of being reset.
+ @param i_nViewId
+ the ID of the view to create
+ @throws Exception
+ if something goes wrong. The caller is responsible for handling this.
+ */
+ SAL_DLLPRIVATE static SfxViewShell* LoadViewIntoFrame_Impl(
+ const SfxObjectShell& i_rDoc,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& i_rLoadArgs,
+ const USHORT i_nViewId,
+ const bool i_bHidden
+ );
+
+ /** loads the given existing document into the given frame
+
+ This is done using the XComponentLoader interface of the frame, so the SFX document loader is invoked.
+
+ If no frame is given, a blank top level frame is created.
+
+ If anything fails during the process, as much as possible is cleaned up.
+
+ @param i_rDoc
+ the document to load
+ @param i_rFrame
+ the frame to load the document into. Might be <NULL/>, in which case a new frame is created.
+ @param i_nViewId
+ the ID of the view to create
+ */
+ SAL_DLLPRIVATE static SfxViewFrame* LoadViewIntoFrame_Impl_NoThrow(
+ const SfxObjectShell& i_rDoc,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame,
+ const USHORT i_nViewId,
+ const bool i_bHidden
+ );
};
//--------------------------------------------------------------------
diff --git a/sfx2/inc/sfx2/viewsh.hxx b/sfx2/inc/sfx2/viewsh.hxx
index f12ef8b2e5..0e8bc90260 100644
--- a/sfx2/inc/sfx2/viewsh.hxx
+++ b/sfx2/inc/sfx2/viewsh.hxx
@@ -59,6 +59,7 @@ class SfxTabPage;
class SfxPrintMonitor;
class SfxFrameSetDescriptor;
class PrintDialog;
+class Printer;
class SfxPrinter;
class SfxProgress;
class SvStringsDtor;
@@ -96,24 +97,12 @@ enum SfxScrollingMode
// @[SfxViewShell-Flags]
-#define SFX_VIEW_MAXIMIZE_FIRST 0x0001 /* die erste View wird maximiert
- dargestellt */
-#define SFX_VIEW_OPTIMIZE_EACH 0x0002 /* jede View wird in optimaler
- Gr"o\se dargestellt */
-#define SFX_VIEW_DISABLE_ACCELS 0x0004 /* die Acceleratoren werden
- disabled, solange diese
- View den Focus hat */
-#define SFX_VIEW_OBJECTSIZE_EMBEDDED 0x0008 /* Views von embedded Objekten
- werden in optimaler Gr"o\se
- dargestellt */
#define SFX_VIEW_HAS_PRINTOPTIONS 0x0010 /* Options-Button und Options-
Dialog im PrintDialog */
#define SFX_VIEW_CAN_PRINT 0x0020 /* enabled Printing ohne Printer
erzeugen zu m"ussen */
#define SFX_VIEW_NO_SHOW 0x0040 /* Window der ViewShell darf nicht
automatisch geshowed werden */
-#define SFX_VIEW_IMPLEMENTED_AS_FRAMESET 0x0080 /* Das Dokument ist als
- Frameset implementiert*/
#define SFX_VIEW_NO_NEWWINDOW 0x0100 /* keine weitere View erlauben */
/* [Beschreibung]
@@ -159,12 +148,9 @@ class SFX2_DLLPUBLIC SfxViewShell: public SfxShell, public SfxListener
{
#ifdef _SFXVIEWSH_HXX
friend class SfxViewFrame;
-friend class SfxTopViewFrame;
friend class SfxPlugInFrame;
-friend class SfxInternalFrame;
-friend class SfxExternalTopViewFrame_Impl;
-friend class SfxOfficeDocController;
friend class SfxBaseController;
+friend class SfxPrinterController;
#endif
struct SfxViewShell_Impl* pImp;
@@ -172,8 +158,6 @@ friend class SfxBaseController;
SfxViewFrame* pFrame;
SfxShell* pSubShell;
Window* pWindow;
- BOOL bMaximizeFirst;
- BOOL bOptimizeEach;
BOOL bNoNewWindow;
protected:
@@ -197,6 +181,8 @@ public:
const TypeId* pType = 0, BOOL bOnlyVisible = TRUE );
static SfxViewShell* Current();
+ static SfxViewShell* Get( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController>& i_rController );
+
// Ctoren/Dtoren Initialisierung
TYPEINFO();
SFX_DECL_INTERFACE(SFX_INTERFACE_SFXVIEWSH)
@@ -204,10 +190,6 @@ public:
SfxViewShell( SfxViewFrame *pFrame, USHORT nFlags = 0 );
virtual ~SfxViewShell();
- // In-Place
- // should be superfluous
- //virtual SfxInPlaceClient* CreateIPClient( WorkWindow * pTop, WorkWindow * pDoc, Window * pDraw );
-
SfxInPlaceClient* GetIPClient() const;
SfxInPlaceClient* GetUIActiveClient() const;
SfxInPlaceClient* FindIPClient( const ::com::sun::star::uno::Reference < ::com::sun::star::embed::XEmbeddedObject >& xObj, Window *pObjParentWin ) const;
@@ -224,9 +206,6 @@ public:
void VisAreaChanged(const Rectangle& rRect);
// Verhaltens-Flags
- BOOL IsMaximizeFirst() const { return bMaximizeFirst; }
- BOOL IsOptimizeEach() const { return bOptimizeEach; }
- HACK(inline) BOOL UseObjectSize() const;
SfxScrollingMode GetScrollingMode() const;
void SetScrollingMode( SfxScrollingMode eMode );
@@ -269,6 +248,7 @@ public:
void LockPrinter( BOOL bLock = TRUE );
BOOL IsPrinterLocked() const;
virtual JobSetup GetJobSetup() const;
+ Printer* GetActivePrinter() const;
// Workingset
virtual void WriteUserData( String&, BOOL bBrowse = FALSE );
@@ -319,7 +299,6 @@ public:
SAL_DLLPRIVATE void AddContextMenuInterceptor_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::ui::XContextMenuInterceptor >& xInterceptor );
SAL_DLLPRIVATE void RemoveContextMenuInterceptor_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::ui::XContextMenuInterceptor >& xInterceptor );
SAL_DLLPRIVATE FASTBOOL GlobalKeyInput_Impl( const KeyEvent &rKeyEvent );
- SAL_DLLPRIVATE BOOL IsImplementedAsFrameset_Impl() const;
SAL_DLLPRIVATE void NewIPClient_Impl( SfxInPlaceClient *pIPClient )
{ GetIPClientList_Impl(TRUE)->Insert(pIPClient); }
@@ -337,6 +316,8 @@ public:
SAL_DLLPRIVATE BOOL HasKeyListeners_Impl();
SAL_DLLPRIVATE BOOL HasMouseClickListeners_Impl();
+ SAL_DLLPRIVATE SfxBaseController* GetBaseController_Impl() const;
+
// Shell Interface
SAL_DLLPRIVATE void ExecPrint_Impl(SfxRequest &);
SAL_DLLPRIVATE void ExecMisc_Impl(SfxRequest &);
@@ -345,11 +326,11 @@ public:
SAL_DLLPRIVATE void SetFrameSet_Impl(SfxFrameSetDescriptor*);
SAL_DLLPRIVATE void CheckIPClient_Impl( SfxInPlaceClient*, const Rectangle& );
SAL_DLLPRIVATE void PushSubShells_Impl( BOOL bPush=TRUE );
+ SAL_DLLPRIVATE void PopSubShells_Impl() { PushSubShells_Impl( FALSE ); }
SAL_DLLPRIVATE void TakeOwnerShip_Impl();
SAL_DLLPRIVATE void CheckOwnerShip_Impl();
SAL_DLLPRIVATE void TakeFrameOwnerShip_Impl();
SAL_DLLPRIVATE BOOL ExecKey_Impl(const KeyEvent& aKey);
-
#endif
};
diff --git a/sfx2/inc/viewfac.hxx b/sfx2/inc/viewfac.hxx
index 3f383ef88c..0ab7159ae2 100644
--- a/sfx2/inc/viewfac.hxx
+++ b/sfx2/inc/viewfac.hxx
@@ -56,6 +56,9 @@ public:
{ return String( aDescription ); }
USHORT GetOrdinal() const { return nOrd; }
+ /// returns an API-compatible view name. For the moment, this is "view" with an appended ordinal/ID
+ String GetViewName() const;
+
private:
SfxViewCtor fnCreate;
SfxViewInit fnInit;