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