Tag: cws_dev300_dba30d
User: fs      
Date: 2008-05-29 11:36:17+0000
Modified:
   dba/dbaccess/source/ui/app/AppController.cxx
   dba/dbaccess/source/ui/app/AppController.hxx
   dba/dbaccess/source/ui/app/AppControllerGen.cxx

Log:
 #i80943# XContextMenuInterception (not yet finally done)

File Changes:

Directory: /dba/dbaccess/source/ui/app/
=======================================

File [changed]: AppController.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/app/AppController.cxx?r1=1.60.10.1&r2=1.60.10.2
Delta lines:  +3 -7
-------------------
--- AppController.cxx   2008-05-28 08:49:06+0000        1.60.10.1
+++ AppController.cxx   2008-05-29 11:36:13+0000        1.60.10.2
@@ -7,7 +7,7 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: AppController.cxx,v $
- * $Revision: 1.60.10.1 $
+ * $Revision: 1.60.10.2 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -310,6 +310,7 @@
 //--------------------------------------------------------------------
 OApplicationController::OApplicationController(const Reference< 
XMultiServiceFactory >& _rxORB)
        :OApplicationController_CBASE( _rxORB )
+    ,m_aContextMenuInterceptors( m_aMutex )
     ,m_aTableCopyHelper(this)
        ,m_pClipbordNotifier(NULL)
        ,m_nAsyncDrop(0)
@@ -444,7 +445,7 @@
 //--------------------------------------------------------------------
 sal_Bool OApplicationController::Construct(Window* _pParent)
 {
-       m_pView = new 
OApplicationView(_pParent,getORB(),this,this,this,this,this,this,m_ePreviewMode);
+       m_pView = new OApplicationView( _pParent, getORB(), *this, this, this, 
this, this, this, m_ePreviewMode );
        m_pView->SetUniqueId(UID_APP_VIEW);
 
        // late construction
@@ -2272,11 +2273,6 @@
        }
        executeChecked(nId,Sequence<PropertyValue>());
 }
-// 
-----------------------------------------------------------------------------
-sal_Bool OApplicationController::requestContextMenu( const CommandEvent& 
/*_rEvent*/ )
-{
-       return sal_False;
-}
 
 // 
-----------------------------------------------------------------------------
 sal_Bool OApplicationController::requestQuickHelp( const SvLBoxEntry* 
/*_pEntry*/, String& /*_rText*/ ) const

File [changed]: AppController.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/app/AppController.hxx?r1=1.28.10.1&r2=1.28.10.2
Delta lines:  +15 -6
--------------------
--- AppController.hxx   2008-05-28 08:49:06+0000        1.28.10.1
+++ AppController.hxx   2008-05-29 11:36:13+0000        1.28.10.2
@@ -7,7 +7,7 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: AppController.hxx,v $
- * $Revision: 1.28.10.1 $
+ * $Revision: 1.28.10.2 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -47,6 +47,7 @@
 #include <com/sun/star/container/XContainerListener.hpp>
 #include <com/sun/star/sdb/application/XDatabaseDocumentUI.hpp>
 #include <com/sun/star/util/XModifiable.hpp>
+#include <com/sun/star/ui/XContextMenuInterception.hpp>
 /** === end UNO includes === **/
 
 #include <comphelper/stl_types.hxx>
@@ -84,9 +85,10 @@
        class OApplicationView;
        class OLinkedDocumentsAccess;
        typedef OGenericUnoController   OApplicationController_CBASE;
-    typedef ::cppu::ImplHelper3 <   
::com::sun::star::container::XContainerListener
+    typedef ::cppu::ImplHelper4 <   
::com::sun::star::container::XContainerListener
                                 ,   
::com::sun::star::beans::XPropertyChangeListener
                                 ,   
::com::sun::star::sdb::application::XDatabaseDocumentUI
+                                ,   
::com::sun::star::ui::XContextMenuInterception
                                                                >       
OApplicationController_Base;
 
        class OApplicationController
@@ -118,11 +120,15 @@
 
                OModuleClient   m_aModuleClient;
                TransferableDataHelper  m_aSystemClipboard;             // 
content of the clipboard
-               ::com::sun::star::uno::Reference< 
::com::sun::star::beans::XPropertySet >   m_xDataSource;
+               ::com::sun::star::uno::Reference< 
::com::sun::star::beans::XPropertySet >
+                                m_xDataSource;
         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
                                 m_xModel;
         ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifiable >
                                 m_xDocumentModify;
+        ::cppu::OInterfaceContainerHelper
+                                m_aContextMenuInterceptors;
+
         ModelControllerConnector
                                 m_aModelConnector;
                TContainerVector                m_aCurrentContainers;   // the 
containers where we are listener on
@@ -449,7 +455,6 @@
                virtual void                    Execute(sal_uInt16 nId, const 
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& 
aArgs);
 
                // IControlActionListener overridables
-               virtual sal_Bool                requestContextMenu( const 
CommandEvent& _rEvent );
                virtual sal_Bool        requestQuickHelp( const SvLBoxEntry* 
_pEntry, String& _rText ) const;
                virtual sal_Bool                requestDrag( sal_Int8 _nAction, 
const Point& _rPosPixel );
                virtual sal_Int8                queryDrop( const 
AcceptDropEvent& _rEvt, const DataFlavorExVector& _rFlavors );
@@ -504,6 +509,10 @@
         virtual ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XComponent > SAL_CALL loadComponent( ::sal_Int32 
ObjectType, const ::rtl::OUString& ObjectName, ::sal_Bool ForEditing ) throw 
(::com::sun::star::lang::IllegalArgumentException, 
::com::sun::star::container::NoSuchElementException, 
::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
         virtual ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XComponent > SAL_CALL loadComponentWithArguments( 
::sal_Int32 ObjectType, const ::rtl::OUString& ObjectName, ::sal_Bool 
ForEditing, const ::com::sun::star::uno::Sequence< 
::com::sun::star::beans::PropertyValue >& Arguments ) throw 
(::com::sun::star::lang::IllegalArgumentException, 
::com::sun::star::container::NoSuchElementException, 
::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
 
+        // XContextMenuInterception
+        virtual void SAL_CALL registerContextMenuInterceptor( const 
::com::sun::star::uno::Reference< ::com::sun::star::ui::XContextMenuInterceptor 
>& Interceptor ) throw (::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL releaseContextMenuInterceptor( const 
::com::sun::star::uno::Reference< ::com::sun::star::ui::XContextMenuInterceptor 
>& Interceptor ) throw (::com::sun::star::uno::RuntimeException);
+
         // XSelectionSupplier
         virtual ::sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& 
xSelection ) throw (::com::sun::star::lang::IllegalArgumentException, 
::com::sun::star::uno::RuntimeException);
         virtual ::com::sun::star::uno::Any SAL_CALL getSelection(  ) throw 
(::com::sun::star::uno::RuntimeException);

File [changed]: AppControllerGen.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/app/AppControllerGen.cxx?r1=1.35&r2=1.35.10.1
Delta lines:  +20 -3
--------------------
--- AppControllerGen.cxx        2008-05-05 15:51:55+0000        1.35
+++ AppControllerGen.cxx        2008-05-29 11:36:13+0000        1.35.10.1
@@ -7,7 +7,7 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: AppControllerGen.cxx,v $
- * $Revision: 1.35 $
+ * $Revision: 1.35.10.1 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -176,8 +176,11 @@
 using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::container;
 using namespace ::com::sun::star::ucb;
-using ::com::sun::star::util::XCloseable;
 
+/** === begin UNO using === **/
+using ::com::sun::star::util::XCloseable;
+using ::com::sun::star::ui::XContextMenuInterceptor;
+/** === end UNO using === **/
 namespace DatabaseObject = ::com::sun::star::sdb::application::DatabaseObject;
 namespace ErrorCondition = ::com::sun::star::sdb::ErrorCondition;
 
@@ -657,6 +660,19 @@
 }
 
 // 
-----------------------------------------------------------------------------
+void SAL_CALL OApplicationController::registerContextMenuInterceptor( const 
Reference< XContextMenuInterceptor >& _Interceptor ) throw (RuntimeException)
+{
+    if ( _Interceptor.is() )
+        m_aContextMenuInterceptors.addInterface( _Interceptor );
+}
+
+// 
-----------------------------------------------------------------------------
+void SAL_CALL OApplicationController::releaseContextMenuInterceptor( const 
Reference< XContextMenuInterceptor >& _Interceptor ) throw (RuntimeException)
+{
+    m_aContextMenuInterceptors.removeInterface( _Interceptor );
+}
+
+// 
-----------------------------------------------------------------------------
 void OApplicationController::previewChanged( sal_Int32 _nMode )
 {
        ::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
@@ -734,6 +750,7 @@
 {
        return ::dbaui::getStrippedDatabaseName(m_xDataSource,m_sDatabaseName);
 }
+
 // 
-----------------------------------------------------------------------------
 void OApplicationController::addDocumentListener(const Reference< XComponent 
>& _xDocument,const Reference< XComponent >& _xDefintion)
 {




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to