1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef FORMS_SOURCE_RICHTEXT_PARAMETRIZEDATTRIBUTEDISPATCHER_HXX
29 #define FORMS_SOURCE_RICHTEXT_PARAMETRIZEDATTRIBUTEDISPATCHER_HXX
30 
31 #include "attributedispatcher.hxx"
32 
33 class SfxPoolItem;
34 //........................................................................
35 namespace frm
36 {
37 //........................................................................
38 
39 	//====================================================================
40 	//= OParametrizedAttributeDispatcher
41 	//====================================================================
42 	class OParametrizedAttributeDispatcher  :public OAttributeDispatcher
43 	{
44     public:
45         OParametrizedAttributeDispatcher(
46             EditView&                           _rView,
47             AttributeId                         _nAttributeId,
48             const ::com::sun::star::util::URL&  _rURL,
49             IMultiAttributeDispatcher*          _pMasterDispatcher
50         );
51 
52     protected:
53         ~OParametrizedAttributeDispatcher();
54 
55         // XDispatch
56         virtual void SAL_CALL dispatch( const ::com::sun::star::util::URL& URL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& Arguments ) throw (::com::sun::star::uno::RuntimeException);
57 
58         // OAttributeDispatcher
59         virtual void    fillFeatureEventFromAttributeState( ::com::sun::star::frame::FeatureStateEvent& _rEvent, const AttributeState& _rState ) const;
60 
61     protected:
62         // own overridables
63         /** convert the arguments as got in a XDispatch::dispatch call into an SfxPoolItem, which can
64             be used with a IMultiAttributeDispatcher::executeAttribute
65         */
66         virtual const SfxPoolItem* convertDispatchArgsToItem(
67             const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArguments );
68 	};
69 
70 //........................................................................
71 } // namespace frm
72 //........................................................................
73 
74 #endif // FORMS_SOURCE_RICHTEXT_PARAMETRIZEDATTRIBUTEDISPATCHER_HXX
75 
76