xref: /aoo42x/main/sd/source/ui/unoidl/unopage.hxx (revision c45d927a)
1*c45d927aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*c45d927aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*c45d927aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*c45d927aSAndrew Rist  * distributed with this work for additional information
6*c45d927aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*c45d927aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*c45d927aSAndrew Rist  * "License"); you may not use this file except in compliance
9*c45d927aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*c45d927aSAndrew Rist  *
11*c45d927aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*c45d927aSAndrew Rist  *
13*c45d927aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*c45d927aSAndrew Rist  * software distributed under the License is distributed on an
15*c45d927aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*c45d927aSAndrew Rist  * KIND, either express or implied.  See the License for the
17*c45d927aSAndrew Rist  * specific language governing permissions and limitations
18*c45d927aSAndrew Rist  * under the License.
19*c45d927aSAndrew Rist  *
20*c45d927aSAndrew Rist  *************************************************************/
21*c45d927aSAndrew Rist 
22*c45d927aSAndrew Rist 
23cdf0e10cSrcweir #ifndef _SD_UNOPAGE_HXX
24cdf0e10cSrcweir #define _SD_UNOPAGE_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include <com/sun/star/document/XLinkTargetSupplier.hpp>
27cdf0e10cSrcweir #include <com/sun/star/container/XIndexAccess.hpp>
28cdf0e10cSrcweir #include <com/sun/star/container/XNamed.hpp>
29cdf0e10cSrcweir #include <com/sun/star/drawing/XMasterPageTarget.hpp>
30cdf0e10cSrcweir #include <com/sun/star/presentation/XPresentationPage.hpp>
31cdf0e10cSrcweir #include <com/sun/star/animations/XAnimationNodeSupplier.hpp>
32cdf0e10cSrcweir #include <com/sun/star/beans/XMultiPropertySet.hpp>
33cdf0e10cSrcweir #include <com/sun/star/office/XAnnotationAccess.hpp>
34cdf0e10cSrcweir 
35cdf0e10cSrcweir #include <svl/itemprop.hxx>
36cdf0e10cSrcweir 
37cdf0e10cSrcweir #ifndef _SVX_UNOPAGE_HXX
38cdf0e10cSrcweir #include <svx/unopage.hxx>
39cdf0e10cSrcweir #endif
40cdf0e10cSrcweir #include <svx/fmdpage.hxx>
41cdf0e10cSrcweir #include <svx/svdpool.hxx>
42cdf0e10cSrcweir 
43cdf0e10cSrcweir #include <comphelper/servicehelper.hxx>
44cdf0e10cSrcweir 
45cdf0e10cSrcweir #include "unosrch.hxx"
46cdf0e10cSrcweir 
47cdf0e10cSrcweir class SdPage;
48cdf0e10cSrcweir class SvxShape;
49cdf0e10cSrcweir class SdrObject;
50cdf0e10cSrcweir struct SfxItemPropertySimpleEntry;
51cdf0e10cSrcweir 
52cdf0e10cSrcweir #ifdef SVX_LIGHT
53cdf0e10cSrcweir #define SvxFmDrawPage SvxDrawPage
54cdf0e10cSrcweir #endif
55cdf0e10cSrcweir 
56cdf0e10cSrcweir /***********************************************************************
57cdf0e10cSrcweir *                                                                      *
58cdf0e10cSrcweir ***********************************************************************/
59cdf0e10cSrcweir class SdGenericDrawPage : public SvxFmDrawPage,
60cdf0e10cSrcweir 						  public SdUnoSearchReplaceShape,
61cdf0e10cSrcweir 						  public ::com::sun::star::drawing::XShapeCombiner,
62cdf0e10cSrcweir 						  public ::com::sun::star::drawing::XShapeBinder,
63cdf0e10cSrcweir 						  public ::com::sun::star::container::XNamed,
64cdf0e10cSrcweir 						  public ::com::sun::star::beans::XPropertySet,
65cdf0e10cSrcweir 						  public ::com::sun::star::beans::XMultiPropertySet,
66cdf0e10cSrcweir 						  public ::com::sun::star::animations::XAnimationNodeSupplier,
67cdf0e10cSrcweir            			      public ::com::sun::star::office::XAnnotationAccess,
68cdf0e10cSrcweir 						  public ::com::sun::star::document::XLinkTargetSupplier
69cdf0e10cSrcweir {
70cdf0e10cSrcweir private:
71cdf0e10cSrcweir 	SdXImpressDocument* mpModel;
72cdf0e10cSrcweir 	SdrModel* mpSdrModel;
73cdf0e10cSrcweir 	sal_Int16 mnTempPageNumber; // for printing handouts
74cdf0e10cSrcweir 
75cdf0e10cSrcweir protected:
76cdf0e10cSrcweir 	friend class SdXImpressDocument;
77cdf0e10cSrcweir 
78cdf0e10cSrcweir 	const SvxItemPropertySet*	mpPropSet;
79cdf0e10cSrcweir 
80cdf0e10cSrcweir 	virtual void setBackground( const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::lang::IllegalArgumentException);
81cdf0e10cSrcweir 	virtual void getBackground( ::com::sun::star::uno::Any& rValue ) throw();
82cdf0e10cSrcweir 
83cdf0e10cSrcweir 	rtl::OUString getBookmarkURL() const;
84cdf0e10cSrcweir 	void setBookmarkURL( rtl::OUString& rURL );
85cdf0e10cSrcweir 
86cdf0e10cSrcweir 	void SetLftBorder( sal_Int32 nValue );
87cdf0e10cSrcweir 	void SetRgtBorder( sal_Int32 nValue );
88cdf0e10cSrcweir 	void SetUppBorder( sal_Int32 nValue );
89cdf0e10cSrcweir 	void SetLwrBorder( sal_Int32 nValue );
90cdf0e10cSrcweir 
91cdf0e10cSrcweir 	void SetWidth( sal_Int32 nWidth );
92cdf0e10cSrcweir 	void SetHeight( sal_Int32 nHeight );
93cdf0e10cSrcweir 
94cdf0e10cSrcweir 	bool	 mbIsImpressDocument;
95cdf0e10cSrcweir 
96cdf0e10cSrcweir 	virtual void disposing() throw();
97cdf0e10cSrcweir 
98cdf0e10cSrcweir 	::com::sun::star::uno::Any getNavigationOrder();
99cdf0e10cSrcweir 	void setNavigationOrder( const ::com::sun::star::uno::Any& rValue );
100cdf0e10cSrcweir 
101cdf0e10cSrcweir 	void throwIfDisposed() const throw (::com::sun::star::uno::RuntimeException );
102cdf0e10cSrcweir 
103cdf0e10cSrcweir public:
104cdf0e10cSrcweir 	SdGenericDrawPage( SdXImpressDocument* pModel, SdPage* pInPage, const SvxItemPropertySet* pSet ) throw();
105cdf0e10cSrcweir 	virtual ~SdGenericDrawPage() throw();
106cdf0e10cSrcweir 
107cdf0e10cSrcweir 	// intern
108cdf0e10cSrcweir 	sal_Bool isValid() { return (SvxDrawPage::mpPage != NULL) && (mpModel != NULL); }
109cdf0e10cSrcweir 
110cdf0e10cSrcweir 	SdPage* GetPage() const { return (SdPage*)SvxDrawPage::mpPage; }
111cdf0e10cSrcweir 	SdXImpressDocument* GetModel() const;
112cdf0e10cSrcweir 
113cdf0e10cSrcweir 	static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
114cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
115cdf0e10cSrcweir 
116cdf0e10cSrcweir 	// this is called whenever a SdrObject must be created for a empty api shape wrapper
117cdf0e10cSrcweir 	virtual SdrObject *_CreateSdrObject( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw();
118cdf0e10cSrcweir 
119cdf0e10cSrcweir 	// SvxFmDrawPage
120cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >  _CreateShape( SdrObject *pObj ) const throw ();
121cdf0e10cSrcweir 
122cdf0e10cSrcweir 	// XInterface
123cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
124cdf0e10cSrcweir 	virtual void SAL_CALL release() throw();
125cdf0e10cSrcweir 
126cdf0e10cSrcweir 	// XShapeCombiner
127cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL combine( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xShapes ) throw(::com::sun::star::uno::RuntimeException);
128cdf0e10cSrcweir     virtual void SAL_CALL split( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xGroup ) throw(::com::sun::star::uno::RuntimeException);
129cdf0e10cSrcweir 
130cdf0e10cSrcweir 	// XShapeBinder
131cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL bind( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xShapes ) throw(::com::sun::star::uno::RuntimeException);
132cdf0e10cSrcweir     virtual void SAL_CALL unbind( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
133cdf0e10cSrcweir 
134cdf0e10cSrcweir 	// XPropertySet
135cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
136cdf0e10cSrcweir     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);
137cdf0e10cSrcweir     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);
138cdf0e10cSrcweir     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);
139cdf0e10cSrcweir     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);
140cdf0e10cSrcweir     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);
141cdf0e10cSrcweir     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);
142cdf0e10cSrcweir 
143cdf0e10cSrcweir 	// XMultiPropertySet
144cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
145cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::uno::RuntimeException);
146cdf0e10cSrcweir     virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
147cdf0e10cSrcweir     virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
148cdf0e10cSrcweir     virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
149cdf0e10cSrcweir 
150cdf0e10cSrcweir 	// XLinkTargetSupplier
151cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getLinks(  ) throw(::com::sun::star::uno::RuntimeException);
152cdf0e10cSrcweir 
153cdf0e10cSrcweir 	// XServiceInfo
154cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
155cdf0e10cSrcweir 
156cdf0e10cSrcweir 	// XAnimationNodeSupplier
157cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > SAL_CALL getAnimationNode(  ) throw (::com::sun::star::uno::RuntimeException);
158cdf0e10cSrcweir 
159cdf0e10cSrcweir 	// XAnnotationAccess:
160cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > SAL_CALL createAndInsertAnnotation() throw (::com::sun::star::uno::RuntimeException);
161cdf0e10cSrcweir     virtual void SAL_CALL removeAnnotation(const ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > & annotation) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException);
162cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotationEnumeration > SAL_CALL createAnnotationEnumeration() throw (::com::sun::star::uno::RuntimeException);
163cdf0e10cSrcweir };
164cdf0e10cSrcweir 
165cdf0e10cSrcweir /***********************************************************************
166cdf0e10cSrcweir *                                                                      *
167cdf0e10cSrcweir ***********************************************************************/
168cdf0e10cSrcweir 
169cdf0e10cSrcweir class SdDrawPage : public ::com::sun::star::drawing::XMasterPageTarget,
170cdf0e10cSrcweir 				   public ::com::sun::star::presentation::XPresentationPage,
171cdf0e10cSrcweir 				   public SdGenericDrawPage
172cdf0e10cSrcweir {
173cdf0e10cSrcweir private:
174cdf0e10cSrcweir 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
175cdf0e10cSrcweir 
176cdf0e10cSrcweir protected:
177cdf0e10cSrcweir 	virtual void setBackground( const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::lang::IllegalArgumentException);
178cdf0e10cSrcweir 	virtual void getBackground( ::com::sun::star::uno::Any& rValue ) throw();
179cdf0e10cSrcweir public:
180cdf0e10cSrcweir 	SdDrawPage( SdXImpressDocument* pModel, SdPage* pInPage ) throw();
181cdf0e10cSrcweir 	virtual ~SdDrawPage() throw();
182cdf0e10cSrcweir 
183cdf0e10cSrcweir 	UNO3_GETIMPLEMENTATION_DECL( SdDrawPage )
184cdf0e10cSrcweir 
185cdf0e10cSrcweir 	static ::rtl::OUString getPageApiName( SdPage* pPage );
186cdf0e10cSrcweir 	static ::rtl::OUString getPageApiNameFromUiName( const String& rUIName );
187cdf0e10cSrcweir 	static String getUiNameFromPageApiName( const ::rtl::OUString& rApiName );
188cdf0e10cSrcweir 
189cdf0e10cSrcweir 	// XInterface
190cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
191cdf0e10cSrcweir 	virtual void SAL_CALL acquire() throw();
192cdf0e10cSrcweir 	virtual void SAL_CALL release() throw();
193cdf0e10cSrcweir 
194cdf0e10cSrcweir 	// XTypeProvider
195cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
196cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
197cdf0e10cSrcweir 
198cdf0e10cSrcweir 	// XServiceInfo
199cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
200cdf0e10cSrcweir     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
201cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
202cdf0e10cSrcweir 
203cdf0e10cSrcweir 	// XMasterPageTarget
204cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getMasterPage(  ) throw(::com::sun::star::uno::RuntimeException);
205cdf0e10cSrcweir     virtual void SAL_CALL setMasterPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xMasterPage ) throw(::com::sun::star::uno::RuntimeException);
206cdf0e10cSrcweir 
207cdf0e10cSrcweir 	// XPresentationPage
208cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getNotesPage(  ) throw(::com::sun::star::uno::RuntimeException);
209cdf0e10cSrcweir 
210cdf0e10cSrcweir 	// XNamed
211cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getName(  ) throw(::com::sun::star::uno::RuntimeException);
212cdf0e10cSrcweir     virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
213cdf0e10cSrcweir 
214cdf0e10cSrcweir 	// XIndexAccess
215cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
216cdf0e10cSrcweir     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);
217cdf0e10cSrcweir 
218cdf0e10cSrcweir 	// XElementAccess
219cdf0e10cSrcweir     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
220cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
221cdf0e10cSrcweir 
222cdf0e10cSrcweir 	// XShapes
223cdf0e10cSrcweir     virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
224cdf0e10cSrcweir     virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
225cdf0e10cSrcweir };
226cdf0e10cSrcweir 
227cdf0e10cSrcweir /***********************************************************************
228cdf0e10cSrcweir *                                                                      *
229cdf0e10cSrcweir ***********************************************************************/
230cdf0e10cSrcweir 
231cdf0e10cSrcweir class SdMasterPage : public ::com::sun::star::presentation::XPresentationPage,
232cdf0e10cSrcweir 					 public SdGenericDrawPage
233cdf0e10cSrcweir {
234cdf0e10cSrcweir private:
235cdf0e10cSrcweir 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
236cdf0e10cSrcweir protected:
237cdf0e10cSrcweir 	virtual void setBackground( const ::com::sun::star::uno::Any& rValue ) throw( ::com::sun::star::lang::IllegalArgumentException  );
238cdf0e10cSrcweir 	virtual void getBackground( ::com::sun::star::uno::Any& rValue ) throw();
239cdf0e10cSrcweir 
240cdf0e10cSrcweir public:
241cdf0e10cSrcweir 	SdMasterPage( SdXImpressDocument* pModel, SdPage* pInPage ) throw();
242cdf0e10cSrcweir 	virtual ~SdMasterPage() throw();
243cdf0e10cSrcweir 
244cdf0e10cSrcweir 	UNO3_GETIMPLEMENTATION_DECL(SdMasterPage)
245cdf0e10cSrcweir 
246cdf0e10cSrcweir 	// XInterface
247cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
248cdf0e10cSrcweir 	virtual void SAL_CALL acquire() throw();
249cdf0e10cSrcweir 	virtual void SAL_CALL release() throw();
250cdf0e10cSrcweir 
251cdf0e10cSrcweir 	// XTypeProvider
252cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
253cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
254cdf0e10cSrcweir 
255cdf0e10cSrcweir 	// XServiceInfo
256cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
257cdf0e10cSrcweir     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
258cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
259cdf0e10cSrcweir 
260cdf0e10cSrcweir 	// XIndexAccess
261cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
262cdf0e10cSrcweir     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);
263cdf0e10cSrcweir 
264cdf0e10cSrcweir 	// XElementAccess
265cdf0e10cSrcweir     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
266cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
267cdf0e10cSrcweir 
268cdf0e10cSrcweir 	// XPresentationPage
269cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL getNotesPage(  ) throw(::com::sun::star::uno::RuntimeException);
270cdf0e10cSrcweir 
271cdf0e10cSrcweir 	// XNamed
272cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getName(  ) throw(::com::sun::star::uno::RuntimeException);
273cdf0e10cSrcweir     virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
274cdf0e10cSrcweir 
275cdf0e10cSrcweir 	// XShapes
276cdf0e10cSrcweir     virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
277cdf0e10cSrcweir     virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
278cdf0e10cSrcweir };
279cdf0e10cSrcweir 
280cdf0e10cSrcweir 
281cdf0e10cSrcweir /***********************************************************************
282cdf0e10cSrcweir *                                                                      *
283cdf0e10cSrcweir ***********************************************************************/
284cdf0e10cSrcweir #include <cppuhelper/implbase2.hxx>
285cdf0e10cSrcweir 
286cdf0e10cSrcweir class SdPageLinkTargets : public ::cppu::WeakImplHelper2< ::com::sun::star::container::XNameAccess,
287cdf0e10cSrcweir 												  ::com::sun::star::lang::XServiceInfo >
288cdf0e10cSrcweir {
289cdf0e10cSrcweir private:
290cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > mxPage;
291cdf0e10cSrcweir 	SdGenericDrawPage* mpUnoPage;
292cdf0e10cSrcweir 
293cdf0e10cSrcweir public:
294cdf0e10cSrcweir 	SdPageLinkTargets( SdGenericDrawPage* pUnoPage ) throw();
295cdf0e10cSrcweir 	virtual ~SdPageLinkTargets() throw();
296cdf0e10cSrcweir 
297cdf0e10cSrcweir 	// intern
298cdf0e10cSrcweir 	SdrObject* FindObject( const String& rName ) const throw();
299cdf0e10cSrcweir 
300cdf0e10cSrcweir 	// XServiceInfo
301cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
302cdf0e10cSrcweir     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
303cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
304cdf0e10cSrcweir 
305cdf0e10cSrcweir 	// XNameAccess
306cdf0e10cSrcweir     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);
307cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() throw(::com::sun::star::uno::RuntimeException);
308cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
309cdf0e10cSrcweir 
310cdf0e10cSrcweir 	// XElementAccess
311cdf0e10cSrcweir     virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
312cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
313cdf0e10cSrcweir };
314cdf0e10cSrcweir 
315cdf0e10cSrcweir #endif // _SD_UNOPAGE_HXX
316