diff options
Diffstat (limited to 'framework/inc/dispatch/popupmenudispatcher.hxx')
-rw-r--r-- | framework/inc/dispatch/popupmenudispatcher.hxx | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/framework/inc/dispatch/popupmenudispatcher.hxx b/framework/inc/dispatch/popupmenudispatcher.hxx deleted file mode 100644 index b708d1fc7a..0000000000 --- a/framework/inc/dispatch/popupmenudispatcher.hxx +++ /dev/null @@ -1,198 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * 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 __FRAMEWORK_DISPATCH_POPUPMENUDISPATCHER_HXX_ -#define __FRAMEWORK_DISPATCH_POPUPMENUDISPATCHER_HXX_ - -//_________________________________________________________________________________________________________________ -// my own includes -//_________________________________________________________________________________________________________________ - -#include <services/frame.hxx> -/* -#include <macros/generic.hxx> -*/ -#include <macros/xinterface.hxx> -#include <macros/xtypeprovider.hxx> -#include <macros/xserviceinfo.hxx> -/* -#include <macros/debug.hxx> -*/ -#include <threadhelp/threadhelpbase.hxx> -#include <general.h> -#include <stdtypes.h> - -//_________________________________________________________________________________________________________________ -// interface includes -//_________________________________________________________________________________________________________________ -#include <com/sun/star/lang/XTypeProvider.hpp> -#include <com/sun/star/frame/XDispatch.hpp> -#include <com/sun/star/frame/XDispatchProvider.hpp> -#include <com/sun/star/util/URL.hpp> -#include <com/sun/star/frame/DispatchDescriptor.hpp> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/frame/XStatusListener.hpp> -#include <com/sun/star/frame/XFrameLoader.hpp> -#include <com/sun/star/frame/XLoadEventListener.hpp> -#include <com/sun/star/frame/XDesktop.hpp> -#include <com/sun/star/frame/FeatureStateEvent.hpp> -#include <com/sun/star/frame/XFrameActionListener.hpp> -#include <com/sun/star/lang/XInitialization.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/uri/XUriReferenceFactory.hpp> -#include <com/sun/star/uri/XUriReference.hpp> - -//_________________________________________________________________________________________________________________ -// other includes -//_________________________________________________________________________________________________________________ -#include <cppuhelper/weak.hxx> -#include <cppuhelper/weakref.hxx> -#include <cppuhelper/interfacecontainer.h> - -//_________________________________________________________________________________________________________________ -// namespace -//_________________________________________________________________________________________________________________ - -namespace framework{ - - -//_________________________________________________________________________________________________________________ -// exported const -//_________________________________________________________________________________________________________________ - -//_________________________________________________________________________________________________________________ -// exported definitions -//_________________________________________________________________________________________________________________ - -/*-************************************************************************************************************//** - We must save informations about our listener and URL for listening. - We implement this as a hashtable for strings. -*//*-*************************************************************************************************************/ - -typedef ::cppu::OMultiTypeInterfaceContainerHelperVar< ::rtl::OUString , - OUStringHashCode , - std::equal_to< ::rtl::OUString > > IMPL_ListenerHashContainer; - - -/*-************************************************************************************************************//** - @short helper for desktop only(!) to create new tasks on demand for dispatches - @descr Use this class as member only! Never use it as baseclass. - XInterface will be ambigous and we hold a weakcss::uno::Reference to ouer OWNER - not to our SUPERCLASS! - - @implements XInterface - XDispatch - XLoadEventListener - XFrameActionListener - XEventListener - @base ThreadHelpBase - OWeakObject - - @devstatus ready to use -*//*-*************************************************************************************************************/ -class PopupMenuDispatcher : // interfaces - public css::lang::XTypeProvider , - public css::lang::XServiceInfo , - public css::frame::XDispatchProvider , - public css::frame::XDispatch , - public css::frame::XFrameActionListener , - public css::lang::XInitialization , - // baseclasses - // Order is neccessary for right initialization! - public ThreadHelpBase , - public cppu::OWeakObject -{ - //------------------------------------------------------------------------------------------------------------- - // public methods - //------------------------------------------------------------------------------------------------------------- - public: - - // constructor / destructor - PopupMenuDispatcher( const css::uno::Reference< css::lang::XMultiServiceFactory >& xFactory ); - - // XInterface, XTypeProvider, XServiceInfo - FWK_DECLARE_XINTERFACE - FWK_DECLARE_XTYPEPROVIDER - DECLARE_XSERVICEINFO - - // XInitialization - virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& lArguments ) throw( css::uno::Exception , - css::uno::RuntimeException); - // XDispatchProvider - virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > SAL_CALL queryDispatch( - const ::com::sun::star::util::URL& aURL , - const ::rtl::OUString& sTarget , - sal_Int32 nFlags ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches( - const css::uno::Sequence< css::frame::DispatchDescriptor >& lDescriptor ) - throw( css::uno::RuntimeException ); - - // XDispatch - virtual void SAL_CALL dispatch( const css::util::URL& aURL, - const css::uno::Sequence< css::beans::PropertyValue >& seqProperties ) throw( css::uno::RuntimeException ); - - virtual void SAL_CALL addStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, - const css::util::URL& aURL ) throw( css::uno::RuntimeException ); - - virtual void SAL_CALL removeStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, - const css::util::URL& aURL ) throw( css::uno::RuntimeException ); - - - // XFrameActionListener - virtual void SAL_CALL frameAction( const css::frame::FrameActionEvent& aEvent ) throw ( css::uno::RuntimeException ); - - // XEventListener - void SAL_CALL disposing( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException ); - - // protected methods - protected: - virtual ~PopupMenuDispatcher(); - - void impl_RetrievePopupControllerQuery(); - void impl_CreateUriRefFactory(); - - // private methods - - // variables - private: - css::uno::WeakReference< css::frame::XFrame > m_xWeakFrame ; /// css::uno::WeakReference to frame (Don't use a hard css::uno::Reference. Owner can't delete us then!) - css::uno::Reference< css::container::XNameAccess > m_xPopupCtrlQuery ; /// reference to query for popup controller - css::uno::Reference< css::uri::XUriReferenceFactory > m_xUriRefFactory ; /// reference to the uri reference factory - css::uno::Reference< css::lang::XMultiServiceFactory > m_xFactory ; /// factory shared with our owner to create new services! - IMPL_ListenerHashContainer m_aListenerContainer; /// hash table for listener at specified URLs - sal_Bool m_bAlreadyDisposed ; /// Protection against multiple disposing calls. - sal_Bool m_bActivateListener ; /// dispatcher is listener for frame activation - -}; // class PopupMenuDispatcher - -} // namespace framework - -#endif // #ifndef __FRAMEWORK_DISPATCH_POPUPMENUDISPATCHER_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |