xref: /AOO41X/main/sd/source/ui/inc/unomodel.hxx (revision bd1a492fb221f7df8374ef66fb89a1ec73de4776)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef SD_UNO_MODEL_HXX
24 #define SD_UNO_MODEL_HXX
25 
26 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
27 #include <com/sun/star/document/XLinkAuthorizer.hpp>
28 #include <com/sun/star/document/XLinkTargetSupplier.hpp>
29 #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
30 #include <com/sun/star/drawing/XDrawPageSummarizer.hpp>
31 #include <com/sun/star/drawing/XDrawPageDuplicator.hpp>
32 #include <com/sun/star/drawing/XLayerSupplier.hpp>
33 #include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
34 #include <com/sun/star/presentation/XPresentationSupplier.hpp>
35 #include <com/sun/star/presentation/XCustomPresentationSupplier.hpp>
36 #include <com/sun/star/drawing/XLayerManager.hpp>
37 #include <com/sun/star/container/XNameContainer.hpp>
38 #include <com/sun/star/presentation/XPresentation.hpp>
39 #include <com/sun/star/lang/XServiceInfo.hpp>
40 #include <com/sun/star/drawing/XDrawPages.hpp>
41 #include <com/sun/star/ucb/XAnyCompareFactory.hpp>
42 #include <com/sun/star/i18n/XForbiddenCharacters.hpp>
43 #include <com/sun/star/presentation/XHandoutMasterSupplier.hpp>
44 #include <com/sun/star/view/XRenderable.hpp>
45 #include <com/sun/star/util/MeasureUnit.hpp>
46 
47 #include <rtl/ref.hxx>
48 
49 #include <svl/lstner.hxx>
50 #include <sfx2/sfxbasemodel.hxx>
51 #include <svx/fmdmod.hxx>
52 
53 #include <editeng/unoipset.hxx>
54 
55 #include <comphelper/servicehelper.hxx>
56 
57 class SdDrawDocument;
58 class SdPage;
59 class List;
60 class SdXCustomPresentations;
61 
62 namespace sd {
63 class DrawDocShell;
64 }
65 
66 extern ::rtl::OUString getPageApiName( SdPage* pPage );
67 extern ::rtl::OUString getPageApiNameFromUiName( const String& rUIName );
68 
69 /***********************************************************************
70 *                                                                      *
71 ***********************************************************************/
72 class SdXImpressDocument : public SfxBaseModel, // implements SfxListener, OWEAKOBJECT & other
73 						   public SvxFmMSFactory,
74 						   public ::com::sun::star::drawing::XDrawPageDuplicator,
75 						   public ::com::sun::star::drawing::XLayerSupplier,
76 						   public ::com::sun::star::drawing::XMasterPagesSupplier,
77 						   public ::com::sun::star::drawing::XDrawPagesSupplier,
78 						   public ::com::sun::star::presentation::XPresentationSupplier,
79 						   public ::com::sun::star::presentation::XCustomPresentationSupplier,
80 						   public ::com::sun::star::document::XLinkAuthorizer,
81 						   public ::com::sun::star::document::XLinkTargetSupplier,
82 						   public ::com::sun::star::beans::XPropertySet,
83 						   public ::com::sun::star::style::XStyleFamiliesSupplier,
84 						   public ::com::sun::star::lang::XServiceInfo,
85 						   public ::com::sun::star::ucb::XAnyCompareFactory,
86 						   public ::com::sun::star::presentation::XHandoutMasterSupplier,
87 						   public ::com::sun::star::view::XRenderable
88 {
89 	friend class SdDrawPagesAccess;
90 	friend class SdMasterPagesAccess;
91 	friend class SdLayerManager;
92 
93 private:
94 	::sd::DrawDocShell* mpDocShell;
95 	SdDrawDocument* mpDoc;
96 	bool mbDisposed;
97 
98 	SdPage* InsertSdPage( sal_uInt16 nPage, sal_Bool bDuplicate = sal_False ) throw();
99 
100 	const sal_Bool mbImpressDoc;
101 	bool mbClipBoard;
102 
103 	::com::sun::star::uno::WeakReference< ::com::sun::star::drawing::XDrawPages > mxDrawPagesAccess;
104 	::com::sun::star::uno::WeakReference< ::com::sun::star::drawing::XDrawPages > mxMasterPagesAccess;
105 	::com::sun::star::uno::WeakReference< ::com::sun::star::container::XNameAccess > mxLayerManager;
106 	::com::sun::star::uno::WeakReference< ::com::sun::star::container::XNameContainer > mxCustomPresentationAccess;
107 	::com::sun::star::uno::WeakReference< ::com::sun::star::container::XNameAccess > mxStyleFamilies;
108 	::com::sun::star::uno::WeakReference< ::com::sun::star::presentation::XPresentation > mxPresentation;
109 	::com::sun::star::uno::WeakReference< ::com::sun::star::i18n::XForbiddenCharacters > mxForbidenCharacters;
110 	::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > mxLinks;
111 
112 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxDashTable;
113 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxGradientTable;
114 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxHatchTable;
115 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxBitmapTable;
116 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxTransGradientTable;
117 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxMarkerTable;
118 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxDrawingPool;
119 
120 	const SvxItemPropertySet*	mpPropSet;
121 
122 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
123 
124 	rtl::OUString	maBuildId;
125 
126 	void initializeDocument();
127 public:
128 	SdXImpressDocument( ::sd::DrawDocShell* pShell, bool bClipBoard = false ) throw();
129 	SdXImpressDocument( SdDrawDocument* pDoc, bool bClipBoard = false ) throw();
130 	virtual ~SdXImpressDocument() throw();
131 
132 	static rtl::Reference< SdXImpressDocument > GetModel( SdDrawDocument* pDoc );
133 
134 	// intern
135 	virtual int	operator==( const SdXImpressDocument& rModel ) const { return mpDoc == rModel.mpDoc; }
136 	virtual int	operator!=( const SdXImpressDocument& rModel ) const { return mpDoc != rModel.mpDoc; }
137 
138 	::sd::DrawDocShell* GetDocShell() const { return mpDocShell; }
139 	SdDrawDocument* GetDoc() const { return mpDoc; }
140 	sal_Bool IsImpressDocument() const { return mbImpressDoc; }
141 
142 	void SetModified( sal_Bool bModified = sal_True ) throw();
143 
144 	::com::sun::star::uno::Reference< ::com::sun::star::i18n::XForbiddenCharacters > getForbiddenCharsTable();
145 
146 	// SfxListener
147 	virtual void			Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
148 
149 	UNO3_GETIMPLEMENTATION_DECL(SdXImpressDocument)
150 
151 	// XInterface
152 	virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
153 	virtual void SAL_CALL acquire() throw();
154 	virtual void SAL_CALL release() throw();
155 
156 	// XModel
157     virtual void SAL_CALL lockControllers(  ) throw(::com::sun::star::uno::RuntimeException);
158     virtual void SAL_CALL unlockControllers(  ) throw(::com::sun::star::uno::RuntimeException);
159     virtual sal_Bool SAL_CALL hasControllersLocked(  ) throw(::com::sun::star::uno::RuntimeException);
160 	virtual ::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData() throw(::com::sun::star::uno::RuntimeException);
161 	virtual void SAL_CALL setViewData( const ::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess >& aData ) throw(::com::sun::star::uno::RuntimeException);
162 
163 	// XTypeProvider
164     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes(  ) throw(::com::sun::star::uno::RuntimeException);
165     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId(  ) throw(::com::sun::star::uno::RuntimeException);
166 
167 	// XDrawPageDuplicator
168     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL duplicate( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xPage ) throw(::com::sun::star::uno::RuntimeException);
169 
170 	// XDrawPagesSupplier
171     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL getDrawPages(  ) throw(::com::sun::star::uno::RuntimeException);
172 
173 	// XMasterPagesSupplier
174     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL getMasterPages(  ) throw(::com::sun::star::uno::RuntimeException);
175 
176 	// XLayerManagerSupplier
177     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getLayerManager(  ) throw(::com::sun::star::uno::RuntimeException);
178 
179 	// XCustomPresentationSupplier
180     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > SAL_CALL getCustomPresentations(  ) throw(::com::sun::star::uno::RuntimeException);
181 
182     // XHandoutMasterSupplier
183     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getHandoutMasterPage(  ) throw (::com::sun::star::uno::RuntimeException);
184 
185 	// XPresentationSupplier
186     virtual ::com::sun::star::uno::Reference< ::com::sun::star::presentation::XPresentation > SAL_CALL getPresentation(  ) throw(::com::sun::star::uno::RuntimeException);
187 
188 	// XMultiServiceFactory ( SvxFmMSFactory )
189     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
190     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames(  ) throw(::com::sun::star::uno::RuntimeException);
191 
192 	// XServiceInfo
193     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
194     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
195     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
196 
197 	// XPropertySet
198     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
199     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
200     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
201     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
202     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
203     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
204     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
205 
206 	// XLinkAuthorizer
207     virtual sal_Bool SAL_CALL authorizeLinks( const ::rtl::OUString &url ) throw(::com::sun::star::uno::RuntimeException);
208 
209 	// XLinkTargetSupplier
210     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getLinks(  ) throw(::com::sun::star::uno::RuntimeException);
211 
212 	// XStyleFamiliesSupplier
213     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getStyleFamilies(  ) throw(::com::sun::star::uno::RuntimeException);
214 
215 	// XAnyCompareFactory
216     virtual ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XAnyCompare > SAL_CALL createAnyCompareByName( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
217 
218 	// XRenderable
219     virtual sal_Int32 SAL_CALL getRendererCount( const ::com::sun::star::uno::Any& aSelection, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& xOptions ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
220     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getRenderer( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& xOptions ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
221     virtual void SAL_CALL render( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& xOptions ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
222 
223 	// XComponent
224 
225     /** This dispose implementation releases the resources held by the
226         called object and forwards the call to its base class.
227         When close() has not yet been called then this is done first.  As a
228         consequence the implementation has to cope with being called twice
229         and still has to forward the second call to the base class.
230         See also comments of issue 27847.
231     */
232 	virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
233 };
234 
235 /***********************************************************************
236 *                                                                      *
237 ***********************************************************************/
238 
239 #include <cppuhelper/implbase4.hxx>
240 
241 class SdDrawPagesAccess : public ::cppu::WeakImplHelper4< ::com::sun::star::drawing::XDrawPages, ::com::sun::star::container::XNameAccess, ::com::sun::star::lang::XServiceInfo, ::com::sun::star::lang::XComponent >
242 {
243 private:
244 	SdXImpressDocument* mpModel;
245 
246 public:
247 	SdDrawPagesAccess( SdXImpressDocument&	rMyModel ) throw();
248 	virtual ~SdDrawPagesAccess() throw();
249 
250 	// XDrawPages
251     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL insertNewByIndex( sal_Int32 nIndex ) throw(::com::sun::star::uno::RuntimeException);
252     virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xPage ) throw(::com::sun::star::uno::RuntimeException);
253 
254 	// XNameAccess
255 	virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
256     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() throw(::com::sun::star::uno::RuntimeException);
257     virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
258 
259 	// XIndexAccess
260     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
261     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
262 
263 	// XElementAccess
264     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
265     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
266 
267     // XServiceInfo
268     virtual ::rtl::OUString SAL_CALL getImplementationName(  ) throw(::com::sun::star::uno::RuntimeException);
269     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
270     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  ) throw(::com::sun::star::uno::RuntimeException);
271 
272 	// XComponent
273     virtual void SAL_CALL dispose(  ) throw (::com::sun::star::uno::RuntimeException);
274     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
275     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
276 };
277 
278 /***********************************************************************
279 *                                                                      *
280 ***********************************************************************/
281 
282 #include <cppuhelper/implbase3.hxx>
283 
284 class SdMasterPagesAccess : public ::cppu::WeakImplHelper3< ::com::sun::star::drawing::XDrawPages, ::com::sun::star::lang::XServiceInfo, ::com::sun::star::lang::XComponent >
285 {
286 private:
287 	SdXImpressDocument*	mpModel;
288 
289 public:
290 	SdMasterPagesAccess( SdXImpressDocument& rMyModel ) throw();
291 	virtual ~SdMasterPagesAccess() throw();
292 
293 	// XDrawPages
294     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL insertNewByIndex( sal_Int32 nIndex ) throw(::com::sun::star::uno::RuntimeException);
295     virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xPage ) throw(::com::sun::star::uno::RuntimeException);
296 
297 	// XIndexAccess
298     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
299     virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
300 
301 	// XElementAccess
302     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
303     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
304 
305     // XServiceInfo
306     virtual ::rtl::OUString SAL_CALL getImplementationName(  ) throw(::com::sun::star::uno::RuntimeException);
307     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
308     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  ) throw(::com::sun::star::uno::RuntimeException);
309 
310 	// XComponent
311     virtual void SAL_CALL dispose(  ) throw (::com::sun::star::uno::RuntimeException);
312     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
313     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
314 };
315 
316 /***********************************************************************
317 *                                                                      *
318 ***********************************************************************/
319 
320 class SdDocLinkTargets : public ::cppu::WeakImplHelper3< ::com::sun::star::container::XNameAccess,
321 														 ::com::sun::star::lang::XServiceInfo , ::com::sun::star::lang::XComponent >
322 {
323 private:
324 	SdXImpressDocument*	mpModel;
325 
326 public:
327 	SdDocLinkTargets( SdXImpressDocument&	rMyModel ) throw();
328 	virtual ~SdDocLinkTargets() throw();
329 
330 	// XNameAccess
331 	virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
332     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() throw(::com::sun::star::uno::RuntimeException);
333     virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
334 
335 	// XElementAccess
336     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
337     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
338 
339 	// XServiceInfo
340     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
341     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
342     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
343 
344 	// XComponent
345     virtual void SAL_CALL dispose(  ) throw (::com::sun::star::uno::RuntimeException);
346     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
347     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
348 
349 	// intern
350 	SdPage* FindPage( const ::rtl::OUString& rName ) const throw();
351 };
352 
353 #endif
354 
355 
356