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]
