summaryrefslogtreecommitdiff
path: root/dbaccess/inc
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/inc')
-rw-r--r--dbaccess/inc/documentcontroller.hxx121
-rw-r--r--dbaccess/inc/genericcontroller.hxx11
-rw-r--r--dbaccess/inc/singledoccontroller.hxx22
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);