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