1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
22 #include <com/sun/star/document/XLinkTargetSupplier.hpp>
23 #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
24 #include <com/sun/star/drawing/XDrawPages2.hpp>
25 #include <com/sun/star/drawing/XDrawPageDuplicator.hpp>
26 #include <com/sun/star/drawing/XLayerSupplier.hpp>
27 #include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
28 #include <com/sun/star/presentation/XPresentationSupplier.hpp>
29 #include <com/sun/star/presentation/XCustomPresentationSupplier.hpp>
30 #include <com/sun/star/lang/XServiceInfo.hpp>
31 #include <com/sun/star/drawing/XDrawPages.hpp>
32 #include <com/sun/star/ucb/XAnyCompareFactory.hpp>
33 #include <com/sun/star/presentation/XHandoutMasterSupplier.hpp>
34 #include <com/sun/star/view/XRenderable.hpp>
35 #include <com/sun/star/beans/XPropertySet.hpp>
37 #include <rtl/ref.hxx>
38 #include <unotools/weakref.hxx>
40 #include <sfx2/sfxbasemodel.hxx>
41 #include <svx/fmdmod.hxx>
43 #include <vcl/ITiledRenderable.hxx>
45 #include <comphelper/servicehelper.hxx>
46 #include <cppuhelper/implbase.hxx>
47 #include <cppuhelper/weakref.hxx>
50 namespace com::sun::star::container
{ class XNameContainer
; }
51 namespace com::sun::star::i18n
{ class XForbiddenCharacters
; }
52 namespace com::sun::star::presentation
{ class XPresentation
; }
56 class SvxItemPropertySet
;
57 class SdUnoForbiddenCharsTable
;
58 class SdDrawPagesAccess
;
59 class SdMasterPagesAccess
;
61 class SdXCustomPresentationAccess
;
62 class SdDocLinkTargets
;
63 class SdGenericDrawPage
;
68 class SlideshowLayerRenderer
;
71 extern OUString
getPageApiName( SdPage
const * pPage
);
72 extern OUString
getPageApiNameFromUiName( const OUString
& rUIName
);
74 class SAL_DLLPUBLIC_RTTI SdXImpressDocument final
: public SfxBaseModel
, // implements SfxListener, OWEAKOBJECT & other
75 public SvxFmMSFactory
,
76 public css::drawing::XDrawPageDuplicator
,
77 public css::drawing::XLayerSupplier
,
78 public css::drawing::XMasterPagesSupplier
,
79 public css::drawing::XDrawPagesSupplier
,
80 public css::presentation::XPresentationSupplier
,
81 public css::presentation::XCustomPresentationSupplier
,
82 public css::document::XLinkTargetSupplier
,
83 public css::beans::XPropertySet
,
84 public css::style::XStyleFamiliesSupplier
,
85 public css::lang::XServiceInfo
,
86 public css::ucb::XAnyCompareFactory
,
87 public css::presentation::XHandoutMasterSupplier
,
88 public css::view::XRenderable
,
89 public vcl::ITiledRenderable
91 friend class SdDrawPagesAccess
;
92 friend class SdMasterPagesAccess
;
93 friend class SdLayerManager
;
96 ::sd::DrawDocShell
* mpDocShell
;
97 SdDrawDocument
* mpDoc
;
100 std::unique_ptr
<sd::SlideshowLayerRenderer
> mpSlideshowLayerRenderer
;
102 css::uno::Reference
<css::uno::XInterface
> create(
103 OUString
const & aServiceSpecifier
, OUString
const & referer
);
105 /// @throws css::uno::RuntimeException
106 SdPage
* InsertSdPage( sal_uInt16 nPage
, bool bDuplicate
);
108 const bool mbImpressDoc
;
111 unotools::WeakReference
< SdDrawPagesAccess
> mxDrawPagesAccess
;
112 unotools::WeakReference
< SdMasterPagesAccess
> mxMasterPagesAccess
;
113 unotools::WeakReference
< SdLayerManager
> mxLayerManager
;
114 unotools::WeakReference
< SdXCustomPresentationAccess
> mxCustomPresentationAccess
;
115 unotools::WeakReference
< SdUnoForbiddenCharsTable
> mxForbiddenCharacters
;
116 unotools::WeakReference
< SdDocLinkTargets
> mxLinks
;
118 css::uno::Reference
< css::uno::XInterface
> mxDashTable
;
119 css::uno::Reference
< css::uno::XInterface
> mxGradientTable
;
120 css::uno::Reference
< css::uno::XInterface
> mxHatchTable
;
121 css::uno::Reference
< css::uno::XInterface
> mxBitmapTable
;
122 css::uno::Reference
< css::uno::XInterface
> mxTransGradientTable
;
123 css::uno::Reference
< css::uno::XInterface
> mxMarkerTable
;
124 css::uno::Reference
< css::uno::XInterface
> mxDrawingPool
;
126 const SvxItemPropertySet
* mpPropSet
;
128 css::uno::Sequence
< css::uno::Type
> maTypeSequence
;
132 bool mbPaintTextEdit
;
134 void initializeDocument();
136 SAL_RET_MAYBENULL
sd::DrawViewShell
* GetViewShell();
138 /** abstract SdrModel provider */
139 virtual SdrModel
& getSdrModelFromUnoModel() const override
;
142 SdXImpressDocument(::sd::DrawDocShell
* pShell
, bool bClipBoard
);
143 SdXImpressDocument(SdDrawDocument
* pDoc
, bool bClipBoard
);
144 virtual ~SdXImpressDocument() noexcept override
;
146 static rtl::Reference
< SdXImpressDocument
> GetModel( SdDrawDocument
const & rDoc
);
149 bool operator==( const SdXImpressDocument
& rModel
) const { return mpDoc
== rModel
.mpDoc
; }
150 bool operator!=( const SdXImpressDocument
& rModel
) const { return mpDoc
!= rModel
.mpDoc
; }
152 ::sd::DrawDocShell
* GetDocShell() const { return mpDocShell
; }
153 SdDrawDocument
* GetDoc() const { return mpDoc
; }
154 bool IsImpressDocument() const { return mbImpressDoc
; }
156 void SetModified() noexcept
;
158 css::uno::Reference
< css::i18n::XForbiddenCharacters
> getForbiddenCharsTable();
161 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
) override
;
163 UNO3_GETIMPLEMENTATION_DECL(SdXImpressDocument
)
166 virtual css::uno::Any SAL_CALL
queryInterface( const css::uno::Type
& rType
) override
;
167 SD_DLLPUBLIC
virtual void SAL_CALL
acquire() noexcept override
;
168 SD_DLLPUBLIC
virtual void SAL_CALL
release() noexcept override
;
171 virtual void SAL_CALL
lockControllers( ) override
;
172 virtual void SAL_CALL
unlockControllers( ) override
;
173 virtual sal_Bool SAL_CALL
hasControllersLocked( ) override
;
174 virtual css::uno::Reference
< css::container::XIndexAccess
> SAL_CALL
getViewData() override
;
175 virtual void SAL_CALL
setViewData( const css::uno::Reference
< css::container::XIndexAccess
>& aData
) override
;
178 virtual css::uno::Sequence
< css::uno::Type
> SAL_CALL
getTypes( ) override
;
179 virtual css::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId( ) override
;
181 // XDrawPageDuplicator
182 virtual css::uno::Reference
< css::drawing::XDrawPage
> SAL_CALL
duplicate( const css::uno::Reference
< css::drawing::XDrawPage
>& xPage
) override
;
184 // XDrawPagesSupplier
185 SD_DLLPUBLIC
virtual css::uno::Reference
< css::drawing::XDrawPages
> SAL_CALL
getDrawPages( ) override
;
187 // XMasterPagesSupplier
188 virtual css::uno::Reference
< css::drawing::XDrawPages
> SAL_CALL
getMasterPages( ) override
;
190 // XLayerManagerSupplier
191 virtual css::uno::Reference
< css::container::XNameAccess
> SAL_CALL
getLayerManager( ) override
;
193 // XCustomPresentationSupplier
194 virtual css::uno::Reference
< css::container::XNameContainer
> SAL_CALL
getCustomPresentations( ) override
;
196 // XHandoutMasterSupplier
197 virtual css::uno::Reference
< css::drawing::XDrawPage
> SAL_CALL
getHandoutMasterPage( ) override
;
199 // XPresentationSupplier
200 virtual css::uno::Reference
< css::presentation::XPresentation
> SAL_CALL
getPresentation( ) override
;
202 // XMultiServiceFactory ( SvxFmMSFactory )
203 SD_DLLPUBLIC
virtual css::uno::Reference
< css::uno::XInterface
> SAL_CALL
createInstance( const OUString
& aServiceSpecifier
) override
;
204 virtual css::uno::Reference
<css::uno::XInterface
> SAL_CALL
205 createInstanceWithArguments(
206 OUString
const & ServiceSpecifier
,
207 css::uno::Sequence
<css::uno::Any
> const & Arguments
) override
;
208 virtual css::uno::Sequence
< OUString
> SAL_CALL
getAvailableServiceNames( ) override
;
211 virtual OUString SAL_CALL
getImplementationName() override
;
212 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
) override
;
213 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames() override
;
216 virtual css::uno::Reference
< css::beans::XPropertySetInfo
> SAL_CALL
getPropertySetInfo( ) override
;
217 virtual void SAL_CALL
setPropertyValue( const OUString
& aPropertyName
, const css::uno::Any
& aValue
) override
;
218 virtual css::uno::Any SAL_CALL
getPropertyValue( const OUString
& PropertyName
) override
;
219 virtual void SAL_CALL
addPropertyChangeListener( const OUString
& aPropertyName
, const css::uno::Reference
< css::beans::XPropertyChangeListener
>& xListener
) override
;
220 virtual void SAL_CALL
removePropertyChangeListener( const OUString
& aPropertyName
, const css::uno::Reference
< css::beans::XPropertyChangeListener
>& aListener
) override
;
221 virtual void SAL_CALL
addVetoableChangeListener( const OUString
& PropertyName
, const css::uno::Reference
< css::beans::XVetoableChangeListener
>& aListener
) override
;
222 virtual void SAL_CALL
removeVetoableChangeListener( const OUString
& PropertyName
, const css::uno::Reference
< css::beans::XVetoableChangeListener
>& aListener
) override
;
224 // XLinkTargetSupplier
225 virtual css::uno::Reference
< css::container::XNameAccess
> SAL_CALL
getLinks( ) override
;
227 // XStyleFamiliesSupplier
228 virtual css::uno::Reference
< css::container::XNameAccess
> SAL_CALL
getStyleFamilies( ) override
;
230 // XAnyCompareFactory
231 virtual css::uno::Reference
< css::ucb::XAnyCompare
> SAL_CALL
createAnyCompareByName( const OUString
& PropertyName
) override
;
234 virtual sal_Int32 SAL_CALL
getRendererCount( const css::uno::Any
& aSelection
, const css::uno::Sequence
< css::beans::PropertyValue
>& xOptions
) override
;
235 virtual css::uno::Sequence
< css::beans::PropertyValue
> SAL_CALL
getRenderer( sal_Int32 nRenderer
, const css::uno::Any
& aSelection
, const css::uno::Sequence
< css::beans::PropertyValue
>& xOptions
) override
;
236 virtual void SAL_CALL
render( sal_Int32 nRenderer
, const css::uno::Any
& aSelection
, const css::uno::Sequence
< css::beans::PropertyValue
>& xOptions
) override
;
239 SD_DLLPUBLIC
virtual void paintTile( VirtualDevice
& rDevice
,
244 tools::Long nTileWidth
,
245 tools::Long nTileHeight
) override
;
246 virtual Size
getDocumentSize() override
;
247 SD_DLLPUBLIC
virtual void setPart( int nPart
, bool bAllowChangeFocus
= true ) override
;
248 SD_DLLPUBLIC
virtual int getPart() override
;
249 SD_DLLPUBLIC
virtual int getParts() override
;
250 SD_DLLPUBLIC
virtual OUString
getPartName( int nPart
) override
;
251 SD_DLLPUBLIC
virtual OUString
getPartHash( int nPart
) override
;
252 SD_DLLPUBLIC
virtual VclPtr
<vcl::Window
> getDocWindow() override
;
253 bool isMasterViewMode();
255 /// @see vcl::ITiledRenderable::setPartMode().
256 virtual void setPartMode( int nPartMode
) override
;
257 /// @see vcl::ITiledRenderable::getEditMode().
258 virtual int getEditMode() override
;
259 /// @see vcl::ITiledRenderable::setEditMode().
260 virtual void setEditMode(int) override
;
261 /// @see vcl::ITiledRenderable::initializeForTiledRendering().
262 SD_DLLPUBLIC
virtual void initializeForTiledRendering(const css::uno::Sequence
<css::beans::PropertyValue
>& rArguments
) override
;
263 /// @see vcl::ITiledRenderable::postKeyEvent().
264 SD_DLLPUBLIC
virtual void postKeyEvent(int nType
, int nCharCode
, int nKeyCode
) override
;
265 /// @see vcl::ITiledRenderable::postMouseEvent().
266 SD_DLLPUBLIC
virtual void postMouseEvent(int nType
, int nX
, int nY
, int nCount
, int nButtons
, int nModifier
) override
;
267 /// @see vcl::ITiledRenderable::setTextSelection().
268 SD_DLLPUBLIC
virtual void setTextSelection(int nType
, int nX
, int nY
) override
;
269 /// @see vcl::ITiledRenderable::getSelection().
270 SD_DLLPUBLIC
virtual css::uno::Reference
<css::datatransfer::XTransferable
> getSelection() override
;
271 /// @see vcl::ITiledRenderable::setGraphicSelection().
272 SD_DLLPUBLIC
virtual void setGraphicSelection(int nType
, int nX
, int nY
) override
;
273 /// @see lok::Document::resetSelection().
274 SD_DLLPUBLIC
virtual void resetSelection() override
;
275 /// @see vcl::ITiledRenderable::setClientVisibleArea().
276 virtual void setClientVisibleArea(const tools::Rectangle
& rRectangle
) override
;
277 /// @see vcl::ITiledRenderable::setClipboard().
278 virtual void setClipboard(const css::uno::Reference
<css::datatransfer::clipboard::XClipboard
>& xClipboard
) override
;
279 /// @see vcl::ITiledRenderable::isMimeTypeSupported().
280 virtual bool isMimeTypeSupported() override
;
281 /// @see vcl::ITiledRenderable::getPointer().
282 virtual PointerStyle
getPointer() override
;
283 /// @see vcl::ITiledRenderable::getPostIts().
284 virtual void getPostIts(tools::JsonWriter
& /*rJsonWriter*/) override
;
285 /// @see vcl::ITiledRenderable::selectPart().
286 virtual void selectPart(int nPart
, int nSelect
) override
;
287 /// @see vcl::ITiledRenderable::moveSelectedParts().
288 virtual void moveSelectedParts(int nPosition
, bool bDuplicate
) override
;
289 /// @see vcl::ITiledRenderable::getPartInfo().
290 virtual OUString
getPartInfo(int nPart
) override
;
291 /// @see vcl::ITiledRenderable::isDisposed().
292 virtual bool isDisposed() const override
296 /// @see vcl::ITiledRenderable::setPaintTextEdit().
297 virtual void setPaintTextEdit(bool bPaint
) override
{ mbPaintTextEdit
= bPaint
; }
298 /// @see vcl::ITiledRenderable::getViewRenderState().
299 SD_DLLPUBLIC OString
getViewRenderState(SfxViewShell
* pViewShell
= nullptr) override
;
301 /// @see vcl::ITiledRenderable::getPresentationInfo().
302 SD_DLLPUBLIC OString
getPresentationInfo() const override
;
303 /// @see vcl::ITiledRenderable::createSlideRenderer().
304 SD_DLLPUBLIC
bool createSlideRenderer(
305 const OString
& rSlideHash
,
306 sal_Int32 nSlideNumber
, sal_Int32
& nViewWidth
, sal_Int32
& nViewHeight
,
307 bool bRenderBackground
, bool bRenderMasterPage
) override
;
308 /// @see vcl::ITiledRenderable::postSlideshowCleanup().
309 SD_DLLPUBLIC
void postSlideshowCleanup() override
;
310 /// @see vcl::ITiledRenderable::renderNextSlideLayer().
311 SD_DLLPUBLIC
bool renderNextSlideLayer(unsigned char* pBuffer
, bool& bIsBitmapLayer
, OUString
& rJsonMsg
) override
;
313 rtl::Reference
< SdDrawPagesAccess
> getSdDrawPages();
317 /** This dispose implementation releases the resources held by the
318 called object and forwards the call to its base class.
319 When close() has not yet been called then this is done first. As a
320 consequence the implementation has to cope with being called twice
321 and still has to forward the second call to the base class.
322 See also comments of issue 27847.
324 virtual void SAL_CALL
dispose() override
;
327 /***********************************************************************
329 ***********************************************************************/
331 class SdDrawPagesAccess final
: public ::cppu::WeakImplHelper
< css::drawing::XDrawPages
, css::container::XNameAccess
, css::lang::XServiceInfo
, css::lang::XComponent
>
334 SdXImpressDocument
* mpModel
;
337 SdDrawPagesAccess( SdXImpressDocument
& rMyModel
) noexcept
;
338 virtual ~SdDrawPagesAccess() noexcept override
;
341 virtual css::uno::Reference
< css::drawing::XDrawPage
> SAL_CALL
insertNewByIndex( sal_Int32 nIndex
) override
;
342 virtual void SAL_CALL
remove( const css::uno::Reference
< css::drawing::XDrawPage
>& xPage
) override
;
345 virtual css::uno::Any SAL_CALL
getByName( const OUString
& aName
) override
;
346 virtual css::uno::Sequence
< OUString
> SAL_CALL
getElementNames() override
;
347 virtual sal_Bool SAL_CALL
hasByName( const OUString
& aName
) override
;
350 virtual sal_Int32 SAL_CALL
getCount() override
;
351 virtual css::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
) override
;
354 virtual css::uno::Type SAL_CALL
getElementType() override
;
355 virtual sal_Bool SAL_CALL
hasElements() override
;
358 virtual OUString SAL_CALL
getImplementationName( ) override
;
359 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
) override
;
360 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames( ) override
;
363 virtual void SAL_CALL
dispose( ) override
;
364 virtual void SAL_CALL
addEventListener( const css::uno::Reference
< css::lang::XEventListener
>& xListener
) override
;
365 virtual void SAL_CALL
removeEventListener( const css::uno::Reference
< css::lang::XEventListener
>& aListener
) override
;
367 SdGenericDrawPage
* getDrawPageByIndex( sal_Int32 Index
);
370 /***********************************************************************
372 ***********************************************************************/
374 class SdMasterPagesAccess final
: public ::cppu::WeakImplHelper
< css::drawing::XDrawPages2
, css::lang::XServiceInfo
, css::lang::XComponent
>
377 SdXImpressDocument
* mpModel
;
380 SdMasterPagesAccess( SdXImpressDocument
& rMyModel
) noexcept
;
381 virtual ~SdMasterPagesAccess() noexcept override
;
384 virtual css::uno::Reference
< css::drawing::XDrawPage
> SAL_CALL
insertNewByIndex( sal_Int32 nIndex
) override
;
385 virtual void SAL_CALL
remove( const css::uno::Reference
< css::drawing::XDrawPage
>& xPage
) override
;
388 virtual css::uno::Reference
< ::css::drawing::XDrawPage
> SAL_CALL
insertNamedNewByIndex( sal_Int32 nIndex
, const OUString
& sName
) override
;
391 virtual sal_Int32 SAL_CALL
getCount() override
;
392 virtual css::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
) override
;
395 virtual css::uno::Type SAL_CALL
getElementType() override
;
396 virtual sal_Bool SAL_CALL
hasElements() override
;
399 virtual OUString SAL_CALL
getImplementationName( ) override
;
400 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
) override
;
401 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames( ) override
;
404 virtual void SAL_CALL
dispose( ) override
;
405 virtual void SAL_CALL
addEventListener( const css::uno::Reference
< css::lang::XEventListener
>& xListener
) override
;
406 virtual void SAL_CALL
removeEventListener( const css::uno::Reference
< css::lang::XEventListener
>& aListener
) override
;
409 css::uno::Reference
< ::css::drawing::XDrawPage
> insertNewImpl( sal_Int32 nIndex
, std::optional
<OUString
> oName
);
412 /***********************************************************************
414 ***********************************************************************/
416 enum SdLinkTargetType
425 class SdDocLinkTargets final
: public ::cppu::WeakImplHelper
< css::container::XNameAccess
,
426 css::lang::XServiceInfo
, css::lang::XComponent
>
429 SdXImpressDocument
* mpModel
;
430 OUString aNames
[SdLinkTargetType::Count
];
433 SdDocLinkTargets(SdXImpressDocument
& rMyModel
);
434 virtual ~SdDocLinkTargets() noexcept override
;
437 virtual css::uno::Any SAL_CALL
getByName( const OUString
& aName
) override
;
438 virtual css::uno::Sequence
< OUString
> SAL_CALL
getElementNames() override
;
439 virtual sal_Bool SAL_CALL
hasByName( const OUString
& aName
) override
;
442 virtual css::uno::Type SAL_CALL
getElementType() override
;
443 virtual sal_Bool SAL_CALL
hasElements() override
;
446 virtual OUString SAL_CALL
getImplementationName() override
;
447 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
) override
;
448 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames() override
;
451 virtual void SAL_CALL
dispose( ) override
;
452 virtual void SAL_CALL
addEventListener( const css::uno::Reference
< css::lang::XEventListener
>& xListener
) override
;
453 virtual void SAL_CALL
removeEventListener( const css::uno::Reference
< css::lang::XEventListener
>& aListener
) override
;
456 class SdDocLinkTargetType final
: public ::cppu::WeakImplHelper
< css::document::XLinkTargetSupplier
,
457 css::beans::XPropertySet
,
458 css::lang::XServiceInfo
>
460 SdXImpressDocument
* mpModel
;
465 SdDocLinkTargetType(SdXImpressDocument
* pModel
, sal_uInt16 nT
);
467 // css::document::XLinkTargetSupplier
468 virtual css::uno::Reference
< css::container::XNameAccess
> SAL_CALL
getLinks() override
;
470 // css::lang::XServiceInfo
471 virtual OUString SAL_CALL
getImplementationName() override
;
472 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
) override
;
473 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames() override
;
475 // css::beans::XPropertySet
476 virtual css::uno::Reference
< css::beans::XPropertySetInfo
> SAL_CALL
getPropertySetInfo() override
;
477 virtual void SAL_CALL
setPropertyValue(const OUString
& aPropertyName
,
478 const css::uno::Any
& aValue
) override
;
479 virtual css::uno::Any SAL_CALL
getPropertyValue(const OUString
& PropertyName
) override
;
480 virtual void SAL_CALL
addPropertyChangeListener(const OUString
& aPropertyName
,
481 const css::uno::Reference
< css::beans::XPropertyChangeListener
> & xListener
) override
;
482 virtual void SAL_CALL
removePropertyChangeListener(const OUString
& aPropertyName
,
483 const css::uno::Reference
< css::beans::XPropertyChangeListener
> & aListener
) override
;
484 virtual void SAL_CALL
addVetoableChangeListener(const OUString
& PropertyName
,
485 const css::uno::Reference
< css::beans::XVetoableChangeListener
> & aListener
) override
;
486 virtual void SAL_CALL
removeVetoableChangeListener(const OUString
& PropertyName
,
487 const css::uno::Reference
< css::beans::XVetoableChangeListener
> & aListener
) override
;
490 class SdDocLinkTarget final
: public ::cppu::WeakImplHelper
< css::container::XNameAccess
,
491 css::lang::XServiceInfo
>
494 SdXImpressDocument
* mpModel
;
498 SdDocLinkTarget( SdXImpressDocument
* pModel
, sal_uInt16 nT
);
500 // css::container::XNameAccess
501 virtual css::uno::Any SAL_CALL
getByName(const OUString
& aName
) override
;
502 virtual css::uno::Sequence
< OUString
> SAL_CALL
getElementNames() override
;
503 virtual sal_Bool SAL_CALL
hasByName(const OUString
& aName
) override
;
505 // css::container::XElementAccess
506 virtual css::uno::Type SAL_CALL
getElementType() override
;
507 virtual sal_Bool SAL_CALL
hasElements() override
;
509 // css::lang::XServiceInfo
510 virtual OUString SAL_CALL
getImplementationName() override
;
511 virtual sal_Bool SAL_CALL
supportsService(const OUString
& ServiceName
) override
;
512 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames() override
;
515 /// @throws std::exception
516 SdPage
* FindPage( std::u16string_view rName
) const;
519 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */