xref: /AOO41X/main/sd/source/ui/inc/unomodel.hxx (revision 61066e41ac407bc3858ba99f269bf2d7c10f7aec)
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
operator ==(const SdXImpressDocument & rModel) const135     virtual int operator==( const SdXImpressDocument& rModel ) const { return mpDoc == rModel.mpDoc; }
operator !=(const SdXImpressDocument & rModel) const136     virtual int operator!=( const SdXImpressDocument& rModel ) const { return mpDoc != rModel.mpDoc; }
137 
GetDocShell() const138     ::sd::DrawDocShell* GetDocShell() const { return mpDocShell; }
GetDoc() const139     SdDrawDocument* GetDoc() const { return mpDoc; }
IsImpressDocument() const140     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