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