diff options
Diffstat (limited to 'dbaccess/inc')
-rw-r--r-- | dbaccess/inc/documentcontroller.hxx | 121 | ||||
-rw-r--r-- | dbaccess/inc/genericcontroller.hxx | 11 | ||||
-rw-r--r-- | dbaccess/inc/singledoccontroller.hxx | 22 |
3 files changed, 22 insertions, 132 deletions
diff --git a/dbaccess/inc/documentcontroller.hxx b/dbaccess/inc/documentcontroller.hxx deleted file mode 100644 index 2ca154625d90..000000000000 --- a/dbaccess/inc/documentcontroller.hxx +++ /dev/null @@ -1,121 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: documentcontroller.hxx,v $ - * $Revision: 1.3.2.2 $ - * - * 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 DBACCESS_SOURCE_UI_INC_DOCUMENTCONTROLLER_HXX -#define DBACCESS_SOURCE_UI_INC_DOCUMENTCONTROLLER_HXX - -/** === begin UNO includes === **/ -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ -#include <com/sun/star/frame/XController.hpp> -#endif -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ -#include <com/sun/star/frame/XModel.hpp> -#endif -#include <cppuhelper/weakref.hxx> -/** === end UNO includes === **/ - -#ifndef INCLUDED_DBACCESSDLLAPI_H -#include "dbaccessdllapi.h" -#endif -//........................................................................ -namespace dbaui -{ -//........................................................................ - - //==================================================================== - //= ModelControllerConnector - //==================================================================== - /** a helper class for controllers associated with an ->XModel - - Instances of this class take an ->XModel, which they connect to at - construction time (->XModel::connectController), and disconnect from - at destruction time (->XModel::disconnectController). - - Additionally, they keep the controller alive (by being a CloseVetoListener) - as long as they themself are alive. - */ - class DBACCESS_DLLPUBLIC ModelControllerConnector - { - private: - typedef ::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XModel > Model; - typedef ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > Controller; - - Model m_xModel; - Controller m_xController; - - public: - /** connects the controller to the model - - @param _rxModel - the model to which the controller should be connected - @param _rxController - the controller which should be connected to the model - */ - void connect( - const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& _rxModel, - const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& _rxController - ); - - /** destroys the object, and disconnects the controller from the model - */ - ~ModelControllerConnector(); - - /** determines whether the object is empty - */ - inline bool empty() const { return !m_xController.is(); } - - /** clears the object - - The controller is disconnected from the model, and references to the model and the controller - are released. - */ - inline void clear() - { - connect( NULL, NULL ); - } - - public: - ModelControllerConnector(); - ModelControllerConnector( const ModelControllerConnector& _rSource ); - ModelControllerConnector& operator=( const ModelControllerConnector& _rSource ); - - private: - void impl_connect(); - void impl_disconnect(); - void impl_copyFrom( const ModelControllerConnector& _rSource ); - }; - -//........................................................................ -} // namespace dbaui -//........................................................................ - -#endif // DBACCESS_SOURCE_UI_INC_DOCUMENTCONTROLLER_HXX - diff --git a/dbaccess/inc/genericcontroller.hxx b/dbaccess/inc/genericcontroller.hxx index 8464f491ff66..c35e166d374a 100644 --- a/dbaccess/inc/genericcontroller.hxx +++ b/dbaccess/inc/genericcontroller.hxx @@ -222,9 +222,10 @@ namespace dbaui ::std::auto_ptr< OGenericUnoController_Data > m_pData; + ODataView* m_pView; // our (VCL) "main window" #ifdef DBG_UTIL - bool m_bDescribingSupportedFeatures; + bool m_bDescribingSupportedFeatures; #endif protected: @@ -258,7 +259,6 @@ namespace dbaui ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xDatabaseContext; ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitle > m_xTitleHelper; - ODataView* m_pView; // our (VCL) "main window" sal_Bool m_bPreview; sal_Bool m_bReadOnly; @@ -416,7 +416,9 @@ namespace dbaui public: ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() const { return m_xServiceFactory; } - ODataView* getView() const { return m_pView; } + ODataView* getView() const { return m_pView; } + void setView( ODataView& i_rView ) { m_pView = &i_rView; } + void clearView() { m_pView = NULL; } // shows a error box if the SQLExceptionInfo is valid void showError(const ::dbtools::SQLExceptionInfo& _rInfo); @@ -471,8 +473,9 @@ namespace dbaui // ::com::sun::star::frame::XController2 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); - // ::com::sun::star::frame::XController2 + // ::com::sun::star::frame::XController virtual void SAL_CALL attachFrame(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > & xFrame) throw( ::com::sun::star::uno::RuntimeException ); virtual sal_Bool SAL_CALL attachModel(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > & xModel) throw( ::com::sun::star::uno::RuntimeException ); virtual sal_Bool SAL_CALL suspend(sal_Bool bSuspend) throw( ::com::sun::star::uno::RuntimeException ) = 0; diff --git a/dbaccess/inc/singledoccontroller.hxx b/dbaccess/inc/singledoccontroller.hxx index 1d6773961972..eb21ad5b0ddc 100644 --- a/dbaccess/inc/singledoccontroller.hxx +++ b/dbaccess/inc/singledoccontroller.hxx @@ -31,7 +31,6 @@ #ifndef DBAUI_SINGLEDOCCONTROLLER_HXX #define DBAUI_SINGLEDOCCONTROLLER_HXX -#include "documentcontroller.hxx" #include "genericcontroller.hxx" #include "IEnvironment.hxx" @@ -41,13 +40,14 @@ #include <com/sun/star/sdbc/XDatabaseMetaData.hpp> #include <com/sun/star/sdbc/XDataSource.hpp> #include <com/sun/star/util/XNumberFormatter.hpp> +#include <com/sun/star/util/XModifiable.hpp> /** === end UNO includes === **/ #include <comphelper/broadcasthelper.hxx> #include <comphelper/proparrhlp.hxx> #include <comphelper/propertycontainer.hxx> #include <connectivity/dbmetadata.hxx> -#include <cppuhelper/implbase1.hxx> +#include <cppuhelper/implbase2.hxx> #include <svl/undo.hxx> #include <memory> @@ -62,8 +62,9 @@ namespace dbaui //==================================================================== class OSingleDocumentController; - typedef ::cppu::ImplInheritanceHelper1 < OGenericUnoController + typedef ::cppu::ImplInheritanceHelper2 < OGenericUnoController , ::com::sun::star::document::XScriptInvocationContext + , ::com::sun::star::util::XModifiable > OSingleDocumentController_Base; struct OSingleDocumentControllerImpl; @@ -94,15 +95,14 @@ namespace dbaui virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > getPrivateModel() const; + sal_Bool impl_isModified() const; + virtual void impl_onModifyChanged(); + public: sal_Bool isReadOnly() const; sal_Bool isEditable() const; void setEditable(sal_Bool _bEditable); - sal_Bool isModified() const; - - virtual void setModified(sal_Bool _bModified=sal_True); - // need for undo's and redo's SfxUndoManager* getUndoMgr(); @@ -182,6 +182,14 @@ namespace dbaui // XScriptInvocationContext virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEmbeddedScripts > SAL_CALL getScriptContainer() throw (::com::sun::star::uno::RuntimeException); + // XModifiable + virtual ::sal_Bool SAL_CALL isModified( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setModified( ::sal_Bool bModified ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException); + + // XModifyBroadcaster + virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + // XTitle virtual ::rtl::OUString SAL_CALL getTitle( ) throw (::com::sun::star::uno::RuntimeException); |