diff options
author | Carsten Driesner <cd@openoffice.org> | 2011-02-07 13:06:08 +0100 |
---|---|---|
committer | Carsten Driesner <cd@openoffice.org> | 2011-02-07 13:06:08 +0100 |
commit | bebf85efd10e676c8a9409c6ebd98a6e767d16f0 (patch) | |
tree | ab9f9265bb021e5eb6fc357e79234bba20bc4b8f /sfx2/source/inc | |
parent | e4ee5496696455f7ef6657c15696f36d3da78659 (diff) | |
parent | a1a2a5a68046e75aba3dfd6ba06083a314f12182 (diff) |
removetooltypes01: Rebase to DEV300m99
Diffstat (limited to 'sfx2/source/inc')
-rw-r--r-- | sfx2/source/inc/appdata.hxx | 2 | ||||
-rwxr-xr-x | sfx2/source/inc/docundomanager.hxx | 116 | ||||
-rw-r--r-- | sfx2/source/inc/eventsupplier.hxx | 13 | ||||
-rw-r--r-- | sfx2/source/inc/sfxurlrelocator.hxx | 5 |
4 files changed, 132 insertions, 4 deletions
diff --git a/sfx2/source/inc/appdata.hxx b/sfx2/source/inc/appdata.hxx index 4d544a2e52fb..7da892ca89c9 100644 --- a/sfx2/source/inc/appdata.hxx +++ b/sfx2/source/inc/appdata.hxx @@ -116,7 +116,6 @@ public: // global pointers SfxItemPool* pPool; - SfxEventConfiguration* pEventConfig; SvUShorts* pDisabledSlotList; SvStrings* pSecureURLs; SvtSaveOptions* pSaveOptions; @@ -129,7 +128,6 @@ public: sal_uInt16 nDocModalMode; // counts documents in modal mode sal_uInt16 nAutoTabPageId; - sal_uInt16 nBasicCallLevel; sal_uInt16 nRescheduleLocks; sal_uInt16 nInReschedule; sal_uInt16 nAsynchronCalls; diff --git a/sfx2/source/inc/docundomanager.hxx b/sfx2/source/inc/docundomanager.hxx new file mode 100755 index 000000000000..9b37671662fd --- /dev/null +++ b/sfx2/source/inc/docundomanager.hxx @@ -0,0 +1,116 @@ +/************************************************************************* + * 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 DOCUMENT_UNDO_MANAGER_HXX +#define DOCUMENT_UNDO_MANAGER_HXX + +#include "sfx2/sfxbasemodel.hxx" + +/** === begin UNO includes === **/ +#include <com/sun/star/document/XUndoManager.hpp> +/** === end UNO includes === **/ + +#include <cppuhelper/implbase1.hxx> + +#include <boost/scoped_ptr.hpp> +#include <boost/noncopyable.hpp> + +namespace svl +{ + class IUndoManager; +} + +//...................................................................................................................... +namespace sfx2 +{ +//...................................................................................................................... + + //================================================================================================================== + //= DocumentUndoManager + //================================================================================================================== + typedef ::cppu::ImplHelper1 < ::com::sun::star::document::XUndoManager + > DocumentUndoManager_Base; + struct DocumentUndoManager_Impl; + class DocumentUndoManager :public DocumentUndoManager_Base + ,public SfxModelSubComponent + ,public ::boost::noncopyable + { + friend struct DocumentUndoManager_Impl; + + public: + DocumentUndoManager( SfxBaseModel& i_document ); + virtual ~DocumentUndoManager(); + + // SfxModelSubComponent overridables + virtual void disposing(); + + // non-UNO API for our owner + /** determines whether we have an open Undo context. No mutex locking within this method, no disposal check - this + is the responsibility of the owner. + */ + bool isInContext() const; + + // XInterface + virtual void SAL_CALL acquire( ) throw (); + virtual void SAL_CALL release( ) throw (); + + // XUndoManager + virtual void SAL_CALL enterUndoContext( const ::rtl::OUString& i_title ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL enterHiddenUndoContext( ) throw (::com::sun::star::document::EmptyUndoStackException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL leaveUndoContext( ) throw (::com::sun::star::util::InvalidStateException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addUndoAction( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoAction >& i_action ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL undo( ) throw (::com::sun::star::document::EmptyUndoStackException, ::com::sun::star::document::UndoContextNotClosedException, ::com::sun::star::document::UndoFailedException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL redo( ) throw (::com::sun::star::document::EmptyUndoStackException, ::com::sun::star::document::UndoContextNotClosedException, ::com::sun::star::document::UndoFailedException, ::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isUndoPossible( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isRedoPossible( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getCurrentUndoActionTitle( ) throw (::com::sun::star::document::EmptyUndoStackException, ::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getCurrentRedoActionTitle( ) throw (::com::sun::star::document::EmptyUndoStackException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAllUndoActionTitles( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAllRedoActionTitles( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL clear( ) throw (::com::sun::star::document::UndoContextNotClosedException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL clearRedo( ) throw (::com::sun::star::document::UndoContextNotClosedException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL reset( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addUndoManagerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManagerListener >& i_listener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeUndoManagerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManagerListener >& i_listener ) throw (::com::sun::star::uno::RuntimeException); + + // XLockable, base of XUndoManager + virtual void SAL_CALL lock( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL unlock( ) throw (::com::sun::star::util::NotLockedException, ::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isLocked( ) throw (::com::sun::star::uno::RuntimeException); + + // XChild, base of XUndoManager + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException); + + private: + ::boost::scoped_ptr< DocumentUndoManager_Impl > m_pImpl; + }; + +//...................................................................................................................... +} // namespace sfx2 +//...................................................................................................................... + +#endif // DOCUMENT_UNDO_MANAGER_HXX diff --git a/sfx2/source/inc/eventsupplier.hxx b/sfx2/source/inc/eventsupplier.hxx index 75306462cadc..4964cf30233d 100644 --- a/sfx2/source/inc/eventsupplier.hxx +++ b/sfx2/source/inc/eventsupplier.hxx @@ -57,6 +57,11 @@ #include <svl/lstner.hxx> #include <unotools/eventcfg.hxx> +namespace comphelper +{ + class NamedValueCollection; +} + //-------------------------------------------------------------------------------------------------------- #define NOSUCHELEMENTEXCEPTION ::com::sun::star::container::NoSuchElementException @@ -125,8 +130,12 @@ public: virtual void SAL_CALL disposing( const EVENTOBJECT& Source ) throw( RUNTIMEEXCEPTION ); - static SvxMacro* ConvertToMacro( const ANY& rElement, SfxObjectShell* pDoc, sal_Bool bBlowUp ); - static void BlowUpMacro( const ANY& rIn, ANY& rOut, SfxObjectShell* pDoc ); + static SvxMacro* ConvertToMacro( const ANY& rElement, SfxObjectShell* pDoc, sal_Bool bNormalizeMacro ); + static void NormalizeMacro( const ANY& rIn, ANY& rOut, SfxObjectShell* pDoc ); + static void NormalizeMacro( + const ::comphelper::NamedValueCollection& i_eventDescriptor, + ::comphelper::NamedValueCollection& o_normalizedDescriptor, + SfxObjectShell* i_document ); }; //============================================================================= diff --git a/sfx2/source/inc/sfxurlrelocator.hxx b/sfx2/source/inc/sfxurlrelocator.hxx index 8acc674b3568..5ab1125b7cb6 100644 --- a/sfx2/source/inc/sfxurlrelocator.hxx +++ b/sfx2/source/inc/sfxurlrelocator.hxx @@ -30,6 +30,7 @@ #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/util/XOfficeInstallationDirectories.hpp> +#include <com/sun/star/util/XMacroExpander.hpp> #include <rtl/ustring.hxx> #include <osl/mutex.hxx> @@ -39,6 +40,7 @@ class SfxURLRelocator_Impl ::osl::Mutex maMutex; ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxFactory; ::com::sun::star::uno::Reference< ::com::sun::star::util::XOfficeInstallationDirectories > mxOfficeInstDirs; + ::com::sun::star::uno::Reference< ::com::sun::star::util::XMacroExpander > mxMacroExpander; public: static bool propertyCanContainOfficeDir( const rtl::OUString & rPropName ); @@ -48,6 +50,9 @@ public: SfxURLRelocator_Impl( ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory ); ~SfxURLRelocator_Impl(); + +private: + void implExpandURL( ::rtl::OUString& io_url ); }; #endif |