xref: /AOO41X/main/sd/source/ui/inc/DrawController.hxx (revision 0deba7fbda3d9908785c25a443701a293b6f4e71)
1c45d927aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3c45d927aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4c45d927aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5c45d927aSAndrew Rist  * distributed with this work for additional information
6c45d927aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7c45d927aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8c45d927aSAndrew Rist  * "License"); you may not use this file except in compliance
9c45d927aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11c45d927aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13c45d927aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14c45d927aSAndrew Rist  * software distributed under the License is distributed on an
15c45d927aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16c45d927aSAndrew Rist  * KIND, either express or implied.  See the License for the
17c45d927aSAndrew Rist  * specific language governing permissions and limitations
18c45d927aSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20c45d927aSAndrew Rist  *************************************************************/
21c45d927aSAndrew Rist 
22c45d927aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SD_DRAW_CONTROLLER_HXX
25cdf0e10cSrcweir #define SD_DRAW_CONTROLLER_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "ViewShell.hxx"
28cdf0e10cSrcweir 
29cdf0e10cSrcweir #include <osl/mutex.hxx>
30cdf0e10cSrcweir #include <cppuhelper/propshlp.hxx>
31cdf0e10cSrcweir #include <sfx2/sfxbasecontroller.hxx>
32cdf0e10cSrcweir #include <com/sun/star/view/XSelectionSupplier.hpp>
33cdf0e10cSrcweir #include <com/sun/star/view/XFormLayerAccess.hpp>
34cdf0e10cSrcweir #include <com/sun/star/drawing/XDrawSubController.hpp>
35cdf0e10cSrcweir #include <com/sun/star/drawing/XDrawView.hpp>
36cdf0e10cSrcweir #include <com/sun/star/drawing/framework/XConfigurationController.hpp>
37cdf0e10cSrcweir #include <com/sun/star/drawing/framework/XControllerManager.hpp>
38cdf0e10cSrcweir #include <com/sun/star/drawing/framework/ModuleController.hpp>
39cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
40cdf0e10cSrcweir #include <com/sun/star/lang/DisposedException.hpp>
41cdf0e10cSrcweir #include <comphelper/uno3.hxx>
42cdf0e10cSrcweir #include <cppuhelper/implbase7.hxx>
43cdf0e10cSrcweir #include <tools/weakbase.hxx>
44cdf0e10cSrcweir #include <memory>
45cdf0e10cSrcweir #include <vector>
46cdf0e10cSrcweir #include <boost/scoped_ptr.hpp>
47*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
48*0deba7fbSSteve Yin #include <com/sun/star/drawing/XLayer.hpp>
49*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
50cdf0e10cSrcweir 
51cdf0e10cSrcweir class SfxViewShell;
52cdf0e10cSrcweir class SdXImpressDocument;
53cdf0e10cSrcweir 
54cdf0e10cSrcweir namespace css = ::com::sun::star;
55cdf0e10cSrcweir 
56cdf0e10cSrcweir namespace sd {
57cdf0e10cSrcweir 
58cdf0e10cSrcweir typedef ::cppu::ImplInheritanceHelper7 <
59cdf0e10cSrcweir     SfxBaseController,
60cdf0e10cSrcweir     ::com::sun::star::view::XSelectionSupplier,
61cdf0e10cSrcweir     ::com::sun::star::lang::XServiceInfo,
62cdf0e10cSrcweir     ::com::sun::star::drawing::XDrawView,
63cdf0e10cSrcweir     ::com::sun::star::view::XSelectionChangeListener,
64cdf0e10cSrcweir     ::com::sun::star::view::XFormLayerAccess,
65cdf0e10cSrcweir     ::com::sun::star::drawing::framework::XControllerManager,
66cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel
67cdf0e10cSrcweir     > DrawControllerInterfaceBase;
68cdf0e10cSrcweir 
69cdf0e10cSrcweir class BroadcastHelperOwner
70cdf0e10cSrcweir {
71cdf0e10cSrcweir public:
72cdf0e10cSrcweir     BroadcastHelperOwner (::osl::Mutex& rMutex) : maBroadcastHelper(rMutex) {};
73cdf0e10cSrcweir     ::cppu::OBroadcastHelper maBroadcastHelper;
74cdf0e10cSrcweir };
75cdf0e10cSrcweir 
76cdf0e10cSrcweir class DrawSubController;
77cdf0e10cSrcweir class ViewShellBase;
78cdf0e10cSrcweir class ViewShell;
79cdf0e10cSrcweir class View;
80cdf0e10cSrcweir 
81cdf0e10cSrcweir 
82cdf0e10cSrcweir /** The DrawController is the UNO controller for Impress and Draw.  It
83cdf0e10cSrcweir     relies objects that implement the DrawSubController interface for view
84cdf0e10cSrcweir     specific behaviour.  The life time of the DrawController is roughly that
85cdf0e10cSrcweir     of ViewShellBase but note that the DrawController can (in the case of a
86cdf0e10cSrcweir     reload) outlive the ViewShellBase.
87cdf0e10cSrcweir 
88cdf0e10cSrcweir     The implementation of the XControllerManager interface is not yet in its
89cdf0e10cSrcweir     final form.
90cdf0e10cSrcweir */
91cdf0e10cSrcweir class DrawController
92cdf0e10cSrcweir     : public DrawControllerInterfaceBase,
93cdf0e10cSrcweir       private BroadcastHelperOwner,
94cdf0e10cSrcweir       public ::cppu::OPropertySetHelper
95cdf0e10cSrcweir {
96cdf0e10cSrcweir public:
97cdf0e10cSrcweir     enum PropertyHandle {
98cdf0e10cSrcweir         PROPERTY_WORKAREA = 0,
99cdf0e10cSrcweir         PROPERTY_SUB_CONTROLLER = 1,
100cdf0e10cSrcweir         PROPERTY_CURRENTPAGE = 2,
101cdf0e10cSrcweir         PROPERTY_MASTERPAGEMODE = 3,
102cdf0e10cSrcweir         PROPERTY_LAYERMODE = 4,
103cdf0e10cSrcweir         PROPERTY_ACTIVE_LAYER = 5,
104cdf0e10cSrcweir         PROPERTY_ZOOMTYPE = 6,
105cdf0e10cSrcweir         PROPERTY_ZOOMVALUE = 7,
106cdf0e10cSrcweir         PROPERTY_VIEWOFFSET = 8,
107cdf0e10cSrcweir 		PROPERTY_DRAWVIEWMODE = 9
108*0deba7fbSSteve Yin 		//IAccessibility2 Implementation 2009-----
109*0deba7fbSSteve Yin 		,PROPERTY_UPDATEACC = 10
110*0deba7fbSSteve Yin 		,PROPERTY_PAGE_CHANGE = 11
111*0deba7fbSSteve Yin 		//-----IAccessibility2 Implementation 2009
112cdf0e10cSrcweir     };
113cdf0e10cSrcweir 
114cdf0e10cSrcweir     /** Create a new DrawController object for the given ViewShellBase.
115cdf0e10cSrcweir     */
116cdf0e10cSrcweir 	DrawController (ViewShellBase& rBase) throw();
117cdf0e10cSrcweir 
118cdf0e10cSrcweir 	virtual ~DrawController (void) throw();
119cdf0e10cSrcweir 
120cdf0e10cSrcweir     /** Replace the currently used sub controller with the given one.  This
121cdf0e10cSrcweir         new sub controller is used from now on for the view (that is the
122cdf0e10cSrcweir         main view shell to be precise) specific tasks.  Call this method
123cdf0e10cSrcweir         with a suitable sub controller whenever the view shell in the center
124cdf0e10cSrcweir         pane is exchanged.
125cdf0e10cSrcweir         @param pSubController
126cdf0e10cSrcweir             The ViewShell specific sub controller or NULL when (temporarily
127cdf0e10cSrcweir             while switching to another one) there is no ViewShell displayed
128cdf0e10cSrcweir             in the center pane.
129cdf0e10cSrcweir     */
130cdf0e10cSrcweir     void SetSubController (
131cdf0e10cSrcweir         const css::uno::Reference<css::drawing::XDrawSubController>& rxSubController);
132cdf0e10cSrcweir 
133cdf0e10cSrcweir     /** Call this method when the VisArea has changed.
134cdf0e10cSrcweir     */
135cdf0e10cSrcweir     void FireVisAreaChanged (const Rectangle& rVisArea) throw();
136cdf0e10cSrcweir 
137cdf0e10cSrcweir     /** Call this method when the selection has changed.
138cdf0e10cSrcweir     */
139cdf0e10cSrcweir 	void FireSelectionChangeListener (void) throw();
140cdf0e10cSrcweir 
141cdf0e10cSrcweir     /** Call this method when the edit mode has changed.
142cdf0e10cSrcweir     */
143cdf0e10cSrcweir     void FireChangeEditMode (bool bMasterPageMode) throw();
144cdf0e10cSrcweir 
145cdf0e10cSrcweir     /** Call this method when the layer mode has changed.
146cdf0e10cSrcweir     */
147cdf0e10cSrcweir 	void FireChangeLayerMode (bool bLayerMode) throw();
148cdf0e10cSrcweir 
149cdf0e10cSrcweir     /** Call this method when there is a new current page.
150cdf0e10cSrcweir     */
151cdf0e10cSrcweir 	void FireSwitchCurrentPage (SdPage* pCurrentPage) throw();
152cdf0e10cSrcweir 
15365be1ea2SAndre Fischer     /** Broadcast a sidebar context change that is caused by a view
15465be1ea2SAndre Fischer         switch.
15565be1ea2SAndre Fischer     */
15665be1ea2SAndre Fischer     void BroadcastContextChange (void) const;
157*0deba7fbSSteve Yin //IAccessibility2 Implementation 2009-----
158*0deba7fbSSteve Yin 	void NotifyAccUpdate();
159*0deba7fbSSteve Yin 	void fireChangeLayer( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer>* pCurrentLayer ) throw();
160*0deba7fbSSteve Yin 	// change the parameter to int
161*0deba7fbSSteve Yin 	//void fireSwitchCurrentPage( String pageName) throw();
162*0deba7fbSSteve Yin 	void fireSwitchCurrentPage( sal_Int32 pageIndex) throw();
163*0deba7fbSSteve Yin 	::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer>* mpCurrentLayer;
164*0deba7fbSSteve Yin //-----IAccessibility2 Implementation 2009
16565be1ea2SAndre Fischer 
166cdf0e10cSrcweir     /** Return a pointer to the ViewShellBase object that the DrawController
167cdf0e10cSrcweir         is connected to.
168cdf0e10cSrcweir         @return
169cdf0e10cSrcweir             The returned pointer is <NULL/> after a call to
170cdf0e10cSrcweir             ReleaseViewShellBase().
171cdf0e10cSrcweir     */
172cdf0e10cSrcweir     ViewShellBase* GetViewShellBase (void);
173cdf0e10cSrcweir 
174cdf0e10cSrcweir     /** This method is typically called from the destructor of ViewShellBase
175cdf0e10cSrcweir         to tell the DrawController that it and its members must not access
176cdf0e10cSrcweir         the ViewShellBase anymore.
177cdf0e10cSrcweir         After this call the DrawController is semi-disposed.
178cdf0e10cSrcweir     */
179cdf0e10cSrcweir     void ReleaseViewShellBase (void);
180cdf0e10cSrcweir 
181cdf0e10cSrcweir     static const ::com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId (void);
182cdf0e10cSrcweir 
183cdf0e10cSrcweir     DECLARE_XINTERFACE()
184cdf0e10cSrcweir 	DECLARE_XTYPEPROVIDER()
185cdf0e10cSrcweir 
186cdf0e10cSrcweir 	// XComponent
187cdf0e10cSrcweir 	virtual void SAL_CALL dispose() throw( ::com::sun::star::uno::RuntimeException );
188cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
189cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
190cdf0e10cSrcweir 
191cdf0e10cSrcweir 	// XController
192cdf0e10cSrcweir     virtual ::sal_Bool SAL_CALL suspend( ::sal_Bool Suspend ) throw (::com::sun::star::uno::RuntimeException);
193cdf0e10cSrcweir 
194cdf0e10cSrcweir 	// XServiceInfo
195cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
196cdf0e10cSrcweir     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
197cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
198cdf0e10cSrcweir 
199cdf0e10cSrcweir 	// XSelectionSupplier
200cdf0e10cSrcweir     virtual sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& aSelection ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
201cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getSelection(  ) throw(::com::sun::star::uno::RuntimeException);
202cdf0e10cSrcweir     virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw(::com::sun::star::uno::RuntimeException);
203cdf0e10cSrcweir     virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw(::com::sun::star::uno::RuntimeException);
204cdf0e10cSrcweir 
205cdf0e10cSrcweir 	// XPropertySet
206cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
207cdf0e10cSrcweir 
208cdf0e10cSrcweir     // XFormLayerAccess
209cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > SAL_CALL getFormController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& Form ) throw (::com::sun::star::uno::RuntimeException);
210cdf0e10cSrcweir     virtual ::sal_Bool SAL_CALL isFormDesignMode(  ) throw (::com::sun::star::uno::RuntimeException);
211cdf0e10cSrcweir     virtual void SAL_CALL setFormDesignMode( ::sal_Bool DesignMode ) throw (::com::sun::star::uno::RuntimeException);
212cdf0e10cSrcweir 
213cdf0e10cSrcweir     // XControlAccess
214cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > SAL_CALL getControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& xModel ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
215cdf0e10cSrcweir 
216cdf0e10cSrcweir 	// XDrawView
217cdf0e10cSrcweir     virtual void SAL_CALL
218cdf0e10cSrcweir         setCurrentPage (
219cdf0e10cSrcweir             const ::com::sun::star::uno::Reference<
220cdf0e10cSrcweir             ::com::sun::star::drawing::XDrawPage >& xPage)
221cdf0e10cSrcweir         throw(::com::sun::star::uno::RuntimeException);
222cdf0e10cSrcweir 
223cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference<
224cdf0e10cSrcweir         ::com::sun::star::drawing::XDrawPage > SAL_CALL
225cdf0e10cSrcweir         getCurrentPage (void)
226cdf0e10cSrcweir         throw(::com::sun::star::uno::RuntimeException);
227cdf0e10cSrcweir 
228cdf0e10cSrcweir 
229cdf0e10cSrcweir     // lang::XEventListener
230cdf0e10cSrcweir     virtual void SAL_CALL
231cdf0e10cSrcweir         disposing (const ::com::sun::star::lang::EventObject& rEventObject)
232cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
233cdf0e10cSrcweir 
234cdf0e10cSrcweir 
235cdf0e10cSrcweir     // view::XSelectionChangeListener
236cdf0e10cSrcweir     virtual void  SAL_CALL
237cdf0e10cSrcweir         selectionChanged (const ::com::sun::star::lang::EventObject& rEvent)
238cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
239cdf0e10cSrcweir 
240cdf0e10cSrcweir 
241cdf0e10cSrcweir     // XControllerManager
242cdf0e10cSrcweir 
243cdf0e10cSrcweir     virtual css::uno::Reference<css::drawing::framework::XConfigurationController> SAL_CALL
244cdf0e10cSrcweir         getConfigurationController (void)
245cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
246cdf0e10cSrcweir 
247cdf0e10cSrcweir     virtual css::uno::Reference<css::drawing::framework::XModuleController> SAL_CALL
248cdf0e10cSrcweir         getModuleController (void)
249cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
250cdf0e10cSrcweir 
251cdf0e10cSrcweir 
252cdf0e10cSrcweir     // XUnoTunnel
253cdf0e10cSrcweir 
254cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething (const com::sun::star::uno::Sequence<sal_Int8>& rId)
255cdf0e10cSrcweir         throw (com::sun::star::uno::RuntimeException);
256cdf0e10cSrcweir 
257cdf0e10cSrcweir protected:
258cdf0e10cSrcweir 	/** This method must return the name to index table. This table
259cdf0e10cSrcweir 	    contains all property names and types of this object.
260cdf0e10cSrcweir 	 */
261cdf0e10cSrcweir 	virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
262cdf0e10cSrcweir 
263cdf0e10cSrcweir     virtual void FillPropertyTable (
264cdf0e10cSrcweir         ::std::vector< ::com::sun::star::beans::Property>& rProperties);
265cdf0e10cSrcweir 
266cdf0e10cSrcweir 	/**
267cdf0e10cSrcweir 	 * The same as getFastProperyValue, but return the value through
268cdf0e10cSrcweir 	 * rValue and nHandle is always valid.
269cdf0e10cSrcweir 	 */
270cdf0e10cSrcweir 	virtual void SAL_CALL getFastPropertyValue(
271cdf0e10cSrcweir 		::com::sun::star::uno::Any& rValue,
272cdf0e10cSrcweir 		sal_Int32 nHandle ) const;
273cdf0e10cSrcweir 
274cdf0e10cSrcweir 	/** Convert the value rValue and return the result in rConvertedValue and the
275cdf0e10cSrcweir         old value in rOldValue.
276cdf0e10cSrcweir         After this call the vetoable listeners are notified.
277cdf0e10cSrcweir 
278cdf0e10cSrcweir         @param rConvertedValue
279cdf0e10cSrcweir             The converted value. Only set if return is true.
280cdf0e10cSrcweir         @param rOldValue
281cdf0e10cSrcweir             The old value. Only set if return is true.
282cdf0e10cSrcweir         @param nHandle
283cdf0e10cSrcweir             The handle of the proberty.
284cdf0e10cSrcweir         @return
285cdf0e10cSrcweir             <TRUE/> if the value is converted successfully.
286cdf0e10cSrcweir         @throws IllegalArgumentException
287cdf0e10cSrcweir 	 */
288cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL convertFastPropertyValue(
289cdf0e10cSrcweir 		::com::sun::star::uno::Any & rConvertedValue,
290cdf0e10cSrcweir 		::com::sun::star::uno::Any & rOldValue,
291cdf0e10cSrcweir 		sal_Int32 nHandle,
292cdf0e10cSrcweir 		const ::com::sun::star::uno::Any& rValue )
293cdf0e10cSrcweir 		throw (::com::sun::star::lang::IllegalArgumentException);
294cdf0e10cSrcweir 
295cdf0e10cSrcweir 	/** The same as setFastProperyValue, but no exception is thrown and nHandle
296cdf0e10cSrcweir         is always valid. You must not broadcast the changes in this method.
297cdf0e10cSrcweir 	 */
298cdf0e10cSrcweir 	virtual void SAL_CALL setFastPropertyValue_NoBroadcast(
299cdf0e10cSrcweir 		sal_Int32 nHandle,
300cdf0e10cSrcweir 		const ::com::sun::star::uno::Any& rValue )
301cdf0e10cSrcweir 		throw (::com::sun::star::uno::Exception);
302cdf0e10cSrcweir 
303cdf0e10cSrcweir     /** When the called object has been disposed already this method throws
304cdf0e10cSrcweir         a Disposed exception and does not return.
305cdf0e10cSrcweir     */
306cdf0e10cSrcweir     void ThrowIfDisposed (void) const
307cdf0e10cSrcweir         throw (::com::sun::star::lang::DisposedException);
308cdf0e10cSrcweir 
309cdf0e10cSrcweir 	using cppu::OPropertySetHelper::disposing;
310cdf0e10cSrcweir 	using cppu::OPropertySetHelper::getFastPropertyValue;
311cdf0e10cSrcweir 
312cdf0e10cSrcweir private:
313cdf0e10cSrcweir     /** This pointer to the ViewShellBase can be NULL (after a call to
314cdf0e10cSrcweir         ReleaseViewShellBase()).
315cdf0e10cSrcweir     */
316cdf0e10cSrcweir     ViewShellBase* mpBase;
317cdf0e10cSrcweir 
318cdf0e10cSrcweir 	Rectangle maLastVisArea;
319cdf0e10cSrcweir     ::tools::WeakReference<SdrPage> mpCurrentPage;
320cdf0e10cSrcweir 	bool mbMasterPageMode;
321cdf0e10cSrcweir 	bool mbLayerMode;
322cdf0e10cSrcweir 
323cdf0e10cSrcweir     /** This flag indicates whether the called DrawController is being
324cdf0e10cSrcweir         disposed or already has been disposed.
325cdf0e10cSrcweir     */
326cdf0e10cSrcweir     bool mbDisposing;
327cdf0e10cSrcweir 
328cdf0e10cSrcweir     ::std::auto_ptr< ::cppu::IPropertyArrayHelper> mpPropertyArrayHelper;
329cdf0e10cSrcweir 
330cdf0e10cSrcweir     /** The current sub controller.  May be NULL.
331cdf0e10cSrcweir     */
332cdf0e10cSrcweir     css::uno::Reference<css::drawing::XDrawSubController> mxSubController;
333cdf0e10cSrcweir 
334cdf0e10cSrcweir     css::uno::Reference<
335cdf0e10cSrcweir         css::drawing::framework::XConfigurationController> mxConfigurationController;
336cdf0e10cSrcweir     css::uno::Reference<
337cdf0e10cSrcweir         css::drawing::framework::XModuleController> mxModuleController;
338cdf0e10cSrcweir 
339cdf0e10cSrcweir     /** Send an event to all relevant property listeners that a
340cdf0e10cSrcweir         property has changed its value.  The fire() method of the
341cdf0e10cSrcweir         OPropertySetHelper is wrapped by this method to handle
342cdf0e10cSrcweir         exceptions thrown by called listeners.
343cdf0e10cSrcweir     */
344cdf0e10cSrcweir     void FirePropertyChange (
345cdf0e10cSrcweir         sal_Int32 nHandle,
346cdf0e10cSrcweir         const ::com::sun::star::uno::Any& rNewValue,
347cdf0e10cSrcweir         const ::com::sun::star::uno::Any& rOldValue);
348cdf0e10cSrcweir 
349cdf0e10cSrcweir     void ProvideFrameworkControllers (void);
350cdf0e10cSrcweir     void DisposeFrameworkControllers (void);
351cdf0e10cSrcweir };
352cdf0e10cSrcweir 
353cdf0e10cSrcweir } // end of namespace sd
354cdf0e10cSrcweir 
355cdf0e10cSrcweir #endif
356