Update ooo320-m1
[ooovba.git] / svx / inc / svx / unoshape.hxx
blobe516b1bc8f67b9222a15dbf776691526634244ac
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: unoshape.hxx,v $
10 * $Revision: 1.9 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SVX_UNOSHAPE_HXX
31 #define _SVX_UNOSHAPE_HXX
33 #include <com/sun/star/document/XActionLockable.hpp>
34 #include <com/sun/star/drawing/XEnhancedCustomShapeDefaulter.hpp>
35 #include <com/sun/star/drawing/XGluePointsSupplier.hpp>
36 #include <com/sun/star/drawing/XShape.hpp>
37 #include <com/sun/star/lang/XComponent.hpp>
38 #include <com/sun/star/beans/XPropertySet.hpp>
39 #include <com/sun/star/beans/XPropertyState.hpp>
40 #include <com/sun/star/lang/XServiceInfo.hpp>
41 #include <com/sun/star/uno/XAggregation.hpp>
42 #include <com/sun/star/lang/XTypeProvider.hpp>
43 #include <com/sun/star/lang/XUnoTunnel.hpp>
44 #include <com/sun/star/awt/Point.hpp>
45 #include <com/sun/star/drawing/PolygonKind.hpp>
46 #include <com/sun/star/container/XNamed.hpp>
47 #include <com/sun/star/container/XChild.hpp>
48 #include <com/sun/star/beans/XMultiPropertySet.hpp>
49 #include <com/sun/star/beans/XMultiPropertyStates.hpp>
50 #include <tools/gen.hxx>
51 #include <tools/weakbase.hxx>
52 #include <svtools/lstner.hxx>
53 #include <svx/unoipset.hxx>
54 #include <cppuhelper/weak.hxx>
55 #include <cppuhelper/weakagg.hxx>
56 #include <cppuhelper/interfacecontainer.h>
57 #include <osl/mutex.hxx>
58 #include "svx/svxdllapi.h"
59 #include <rtl/ref.hxx>
61 #include <svx/svdouno.hxx>
63 #include <comphelper/servicehelper.hxx>
65 #include <cppuhelper/implbase1.hxx>
66 #include <cppuhelper/implbase12.hxx>
68 #include <svx/unoprov.hxx>
70 class SfxItemSet;
71 class SdrModel;
72 class SvxDrawPage;
73 class SvGlobalName;
74 // --> OD 2009-01-16 #i59051#
75 namespace basegfx
77 class B2DPolyPolygon;
78 } // end of namespace basegfx
79 // <--
81 class SvxShapeMutex
83 protected:
84 ::osl::Mutex maMutex;
87 struct SvxShapeImpl;
88 class SvxShapeMaster;
90 // WARNING: if you update the supported interfaces,
91 // also update SvxShape::_getTypes()
92 typedef ::cppu::WeakAggImplHelper12<
93 ::com::sun::star::drawing::XShape,
94 ::com::sun::star::lang::XComponent,
95 ::com::sun::star::beans::XPropertySet,
96 ::com::sun::star::beans::XMultiPropertySet,
97 ::com::sun::star::beans::XPropertyState,
98 ::com::sun::star::lang::XUnoTunnel,
99 ::com::sun::star::container::XNamed,
100 ::com::sun::star::drawing::XGluePointsSupplier,
101 ::com::sun::star::container::XChild,
102 ::com::sun::star::lang::XServiceInfo,
103 ::com::sun::star::document::XActionLockable,
104 ::com::sun::star::beans::XMultiPropertyStates> SvxShape_UnoImplHelper;
106 class SVX_DLLPUBLIC SvxShape : public SvxShape_UnoImplHelper,
107 public SfxListener,
108 public SvxShapeMutex
110 private:
111 ::com::sun::star::awt::Size maSize;
112 ::com::sun::star::awt::Point maPosition;
113 ::rtl::OUString maShapeType;
114 ::rtl::OUString maShapeName;
116 /** these members are used to optimize XMultiProperty calls */
117 SvxShapeImpl* mpImpl;
118 bool mbIsMultiPropertyCall;
120 ::com::sun::star::uno::WeakReference< ::com::sun::star::container::XIndexContainer > mxGluePoints;
122 protected:
123 friend class SvxDrawPage;
124 friend class SvxShapeConnector;
125 friend class SdXShape;
127 const SvxItemPropertySet* mpPropSet;
128 const SfxItemPropertyMapEntry* maPropMapEntries;
130 ::tools::WeakReference< SdrObject > mpObj;
131 SdrModel* mpModel;
132 // Umrechnungen fuer den Writer, der in TWIPS arbeitet
133 void ForceMetricToItemPoolMetric(Pair& rPoint) const throw();
134 void ForceMetricTo100th_mm(Pair& rPoint) const throw();
135 // --> OD 2009-01-16 #i59051#
136 void ForceMetricToItemPoolMetric(basegfx::B2DPolyPolygon& rPolyPolygon) const throw();
137 void ForceMetricTo100th_mm(basegfx::B2DPolyPolygon& rPolyPolygon) const throw();
138 // <--
140 ::com::sun::star::uno::Any GetAnyForItem( SfxItemSet& aSet, const SfxItemPropertySimpleEntry* pMap ) const;
142 sal_Bool tryQueryAggregation( const com::sun::star::uno::Type & rType, com::sun::star::uno::Any& rAny );
144 sal_Bool SAL_CALL SetFillAttribute( sal_Int32 nWID, const ::rtl::OUString& rName );
146 /** called from the XActionLockable interface methods on initial locking */
147 virtual void lock();
149 /** called from the XActionLockable interface methods on final unlock */
150 virtual void unlock();
152 /** used from the XActionLockable interface */
153 sal_uInt16 mnLockCount;
155 const SfxItemPropertyMapEntry* getPropertyMapEntries() const { return maPropMapEntries; }
157 void updateShapeKind();
158 void endSetPropertyValues();
160 // overide these for special property handling in subcasses. Return true if property is handled
161 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
162 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
163 virtual bool getPropertyStateImpl( const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::beans::PropertyState& rState ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
164 virtual bool setPropertyToDefaultImpl( const SfxItemPropertySimpleEntry* pProperty ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
166 public:
167 SvxShape( SdrObject* pObj ) throw ();
168 SvxShape( SdrObject* pObject, const SfxItemPropertyMapEntry* pEntries, const SvxItemPropertySet* pPropertySet ) throw ();
169 SvxShape() throw ();
170 virtual ~SvxShape() throw ();
172 // Internals
173 void ObtainSettingsFromPropertySet(const SvxItemPropertySet& rPropSet);
174 virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
175 /** takes the ownership of the SdrObject.
177 When the shape is disposed, and it has the ownership of its associated SdrObject, then
178 it will delete this object.
180 void TakeSdrObjectOwnership();
181 bool HasSdrObjectOwnership() const;
183 void ChangeModel( SdrModel* pNewModel );
185 void InvalidateSdrObject() { mpObj.reset( NULL ); };
186 const SvxItemPropertySet& GetPropertySet() { return *mpPropSet; }
187 SdrObject* GetSdrObject() const {return mpObj.get();}
188 void SetShapeType( const ::rtl::OUString& ShapeType ) { maShapeType = ShapeType; }
189 ::com::sun::star::uno::Any GetBitmap( BOOL bMetaFile = FALSE ) const throw ();
190 static SvxShape* GetShapeForSdrObj( SdrObject* pObj ) throw ();
192 ::svx::PropertyChangeNotifier& getShapePropertyChangeNotifier();
194 void setShapeKind( sal_uInt32 nKind );
195 sal_uInt32 getShapeKind() const;
197 // styles need this
198 static sal_Bool SAL_CALL SetFillAttribute( sal_Int32 nWID, const ::rtl::OUString& rName, SfxItemSet& rSet, SdrModel* pModel );
199 static sal_Bool SAL_CALL SetFillAttribute( sal_Int32 nWID, const ::rtl::OUString& rName, SfxItemSet& rSet );
201 /** same as SetFillAttribute but for property names instead of which ids,
202 and the property found is returned instead of set at the object
203 directly.
205 // os: unused function
206 // static ::com::sun::star::uno::Any SAL_CALL GetFillAttributeByName(
207 // const ::rtl::OUString& rPropertyName, const ::rtl::OUString& rName, SdrModel* pModel );
209 UNO3_GETIMPLEMENTATION_DECL( SvxShape )
211 // access methods for master objects
212 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL _getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
213 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);
214 ::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);
216 ::com::sun::star::beans::PropertyState SAL_CALL _getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
217 void SAL_CALL _setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
218 ::com::sun::star::uno::Any SAL_CALL _getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
220 ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL _getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
222 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL _getTypes( ) throw(::com::sun::star::uno::RuntimeException);
224 void setMaster( SvxShapeMaster* pMaster );
225 const SvxShapeMaster* getMaster() const;
226 SvxShapeMaster* getMaster();
228 // SfxListener
229 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) throw ();
232 /** @obsolete
233 not used anymore
235 virtual void onUserCall(SdrUserCallType eUserCall, const Rectangle& rBoundRect);
237 // XAggregation
238 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
240 // XNamed
241 virtual ::rtl::OUString SAL_CALL getName( ) throw(::com::sun::star::uno::RuntimeException);
242 virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
244 // XShapeDescriptor
245 virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
247 // XShape
248 virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
249 virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
250 virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
251 virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
253 // XComponent
254 virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
255 virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw(::com::sun::star::uno::RuntimeException);
256 virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
258 // XPropertySet
259 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
260 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);
261 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);
262 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);
263 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);
264 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);
265 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);
267 // XMultiPropertySet
268 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);
269 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);
270 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);
271 virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
272 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);
274 // XPropertyState
275 virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
276 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
277 virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
278 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
280 // XMultiPropertyStates
281 virtual void SAL_CALL setAllPropertiesToDefault()
282 throw (::com::sun::star::uno::RuntimeException);
283 virtual void SAL_CALL setPropertiesToDefault(
284 const ::com::sun::star::uno::Sequence<
285 ::rtl::OUString >& aPropertyNames )
286 throw (::com::sun::star::beans::UnknownPropertyException,
287 ::com::sun::star::uno::RuntimeException);
288 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
289 SAL_CALL getPropertyDefaults(
290 const ::com::sun::star::uno::Sequence<
291 ::rtl::OUString >& aPropertyNames )
292 throw (::com::sun::star::beans::UnknownPropertyException,
293 ::com::sun::star::lang::WrappedTargetException,
294 ::com::sun::star::uno::RuntimeException);
296 // XServiceInfo
297 virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
298 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
299 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
301 // XGluePointsSupplier
302 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > SAL_CALL getGluePoints( ) throw(::com::sun::star::uno::RuntimeException);
304 // XChild
305 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw(::com::sun::star::uno::RuntimeException);
306 virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent ) throw(::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
308 // XTypeProvider
309 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
310 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
312 // XActionLockable
313 virtual sal_Bool SAL_CALL isActionLocked( ) throw (::com::sun::star::uno::RuntimeException);
314 virtual void SAL_CALL addActionLock( ) throw (::com::sun::star::uno::RuntimeException);
315 virtual void SAL_CALL removeActionLock( ) throw (::com::sun::star::uno::RuntimeException);
316 virtual void SAL_CALL setActionLocks( sal_Int16 nLock ) throw (::com::sun::star::uno::RuntimeException);
317 virtual sal_Int16 SAL_CALL resetActionLocks( ) throw (::com::sun::star::uno::RuntimeException);
319 private:
320 /** initializes SdrObj-dependent members. Only to be called when GetSdrObject() != NULL
322 SVX_DLLPRIVATE void impl_initFromSdrObject();
323 /// CTOR-Impl
324 SVX_DLLPRIVATE void impl_construct();
327 #include <svx/unotext.hxx>
329 class SVX_DLLPUBLIC SvxShapeText : public SvxShape, public SvxUnoTextBase
331 protected:
332 /** called from the XActionLockable interface methods on initial locking */
333 virtual void lock();
335 /** called from the XActionLockable interface methods on final unlock */
336 virtual void unlock();
338 protected:
339 using SvxUnoTextRangeBase::setPropertyValue;
340 using SvxUnoTextRangeBase::getPropertyValue;
342 // overide these for special property handling in subcasses. Return true if property is handled
343 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
344 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
345 virtual bool getPropertyStateImpl( const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::beans::PropertyState& rState ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
346 virtual bool setPropertyToDefaultImpl( const SfxItemPropertySimpleEntry* pProperty ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
348 public:
349 SvxShapeText() throw ();
350 SvxShapeText( SdrObject* pObj ) throw ();
351 SvxShapeText( SdrObject* pObject, const SfxItemPropertyMapEntry* pPropertyMap, const SvxItemPropertySet* pPropertySet ) throw ();
352 virtual ~SvxShapeText() throw ();
354 virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
356 // XInterface
357 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
358 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
359 virtual void SAL_CALL acquire() throw();
360 virtual void SAL_CALL release() throw();
362 // XServiceInfo
363 virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
364 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
365 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
367 // ::com::sun::star::text::XTextRange
368 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getStart() throw(::com::sun::star::uno::RuntimeException);
369 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getEnd() throw(::com::sun::star::uno::RuntimeException);
370 virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException);
371 virtual void SAL_CALL setString( const ::rtl::OUString& aString ) throw(::com::sun::star::uno::RuntimeException);
373 // XUnoTunnel
374 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw (::com::sun::star::uno::RuntimeException);
376 // XTypeProvider
377 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
378 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
381 class SvxShapeRect : public SvxShapeText
383 public:
384 SvxShapeRect( SdrObject* pObj ) throw ();
385 virtual ~SvxShapeRect() throw ();
387 // XInterface
388 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
389 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
390 virtual void SAL_CALL acquire() throw();
391 virtual void SAL_CALL release() throw();
393 // XServiceInfo
394 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
396 #include <com/sun/star/drawing/XShapes.hpp>
397 #include <com/sun/star/drawing/XShapeGroup.hpp>
398 #include <com/sun/star/container/XIndexAccess.hpp>
400 /***********************************************************************
402 ***********************************************************************/
403 class SvxShapeGroup : public SvxShape,
404 public ::com::sun::star::drawing::XShapeGroup,
405 public ::com::sun::star::drawing::XShapes
407 private:
408 rtl::Reference< SvxDrawPage> mxPage;
410 public:
411 SvxShapeGroup( SdrObject* pObj,SvxDrawPage* pDrawPage ) throw ();
412 virtual ~SvxShapeGroup() throw ();
414 virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
416 // XInterface
417 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
418 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
419 virtual void SAL_CALL acquire() throw();
420 virtual void SAL_CALL release() throw();
422 // XShapes
423 virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
424 virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
426 // XElementAccess
427 virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
428 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
430 // XIndexAccess
431 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
432 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);
434 // XShapeDescriptor
435 virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
437 // XShape
438 virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
439 virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
440 virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
441 virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
443 // XShapeGroup
444 virtual void SAL_CALL enterGroup( ) throw(::com::sun::star::uno::RuntimeException);
445 virtual void SAL_CALL leaveGroup( ) throw(::com::sun::star::uno::RuntimeException);
447 // XServiceInfo
448 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
450 // XTypeProvider
451 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
452 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
454 #include <com/sun/star/drawing/XConnectorShape.hpp>
456 /***********************************************************************
458 ***********************************************************************/
459 class SvxShapeConnector : public ::com::sun::star::drawing::XConnectorShape,
460 public SvxShapeText
462 public:
463 SvxShapeConnector( SdrObject* pObj ) throw();
464 virtual ~SvxShapeConnector() throw();
466 // XInterface
467 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
468 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
469 virtual void SAL_CALL acquire() throw();
470 virtual void SAL_CALL release() throw();
472 // XShapeDescriptor
473 virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
475 // XShape
476 virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
477 virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
478 virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
479 virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
481 // XConnectorShape
482 virtual void SAL_CALL connectStart( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XConnectableShape >& xShape, ::com::sun::star::drawing::ConnectionType nPos ) throw(::com::sun::star::uno::RuntimeException);
483 virtual void SAL_CALL connectEnd( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XConnectableShape >& xShape, ::com::sun::star::drawing::ConnectionType nPos ) throw(::com::sun::star::uno::RuntimeException);
484 virtual void SAL_CALL disconnectBegin( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XConnectableShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
485 virtual void SAL_CALL disconnectEnd( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XConnectableShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
487 // XServiceInfo
488 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
490 // XTypeProvider
491 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
492 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
494 #include <com/sun/star/drawing/XControlShape.hpp>
496 /***********************************************************************
498 ***********************************************************************/
499 class SVX_DLLPUBLIC SvxShapeControl : public ::com::sun::star::drawing::XControlShape, public SvxShapeText
501 protected:
502 using SvxUnoTextRangeBase::setPropertyValue;
503 using SvxUnoTextRangeBase::getPropertyValue;
505 public:
506 SvxShapeControl( SdrObject* pObj ) throw();
507 virtual ~SvxShapeControl() throw();
509 // XInterface
510 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
511 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
512 virtual void SAL_CALL acquire() throw();
513 virtual void SAL_CALL release() throw();
515 // XPropertySet
516 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);
517 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);
519 // XPropertyState
520 virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
521 virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
522 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
524 // XShapeDescriptor
525 virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
527 // XShape
528 virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
529 virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
530 virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
531 virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
533 // XControlShape
534 virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > SAL_CALL getControl() throw(::com::sun::star::uno::RuntimeException);
535 virtual void SAL_CALL setControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& xControl ) throw(::com::sun::star::uno::RuntimeException);
537 // XServiceInfo
538 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
540 // XTypeProvider
541 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
542 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
545 /***********************************************************************
547 ***********************************************************************/
548 class SvxShapeDimensioning : public SvxShapeText
550 public:
551 SvxShapeDimensioning( SdrObject* pObj ) throw();
552 virtual ~SvxShapeDimensioning() throw();
554 // XServiceInfo
555 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
558 /***********************************************************************
560 ***********************************************************************/
561 class SvxShapeCircle : public SvxShapeText
563 public:
564 SvxShapeCircle( SdrObject* pObj ) throw ();
565 virtual ~SvxShapeCircle() throw ();
567 // XServiceInfo
568 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
571 /***********************************************************************
573 ***********************************************************************/
575 class SVX_DLLPUBLIC SvxOle2Shape : public SvxShape
577 protected:
578 // overide these for special property handling in subcasses. Return true if property is handled
579 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
580 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
582 void resetModifiedState();
584 const SvGlobalName GetClassName_Impl(rtl::OUString& rHexCLSID);
585 public:
586 SvxOle2Shape( SdrObject* pObj ) throw();
587 SvxOle2Shape( SdrObject* pObject, const SfxItemPropertyMapEntry* pPropertyMap, const SvxItemPropertySet* pPropertySet ) throw ();
588 virtual ~SvxOle2Shape() throw();
590 sal_Bool createObject( const SvGlobalName &aClassName );
592 sal_Bool createLink( const ::rtl::OUString& aLinkURL );
594 // XInterface
595 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
599 #include <basegfx/polygon/b2dpolypolygon.hxx>
601 /***********************************************************************
603 ***********************************************************************/
604 class SvxShapePolyPolygon : public SvxShapeText
606 private:
607 ::com::sun::star::drawing::PolygonKind mePolygonKind;
609 protected:
610 using SvxUnoTextRangeBase::setPropertyValue;
611 using SvxUnoTextRangeBase::getPropertyValue;
613 // overide these for special property handling in subcasses. Return true if property is handled
614 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
615 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
617 public:
618 SvxShapePolyPolygon( SdrObject* pObj , ::com::sun::star::drawing::PolygonKind eNew = com::sun::star::drawing::PolygonKind_LINE ) throw(com::sun::star::lang::IllegalArgumentException, com::sun::star::beans::PropertyVetoException);
619 virtual ~SvxShapePolyPolygon() throw();
621 // Local support functions
622 ::com::sun::star::drawing::PolygonKind GetPolygonKind() const throw();
623 void SetPolygon(const basegfx::B2DPolyPolygon& rNew) throw();
624 basegfx::B2DPolyPolygon GetPolygon() const throw();
626 // XServiceInfo
627 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
630 /***********************************************************************
632 ***********************************************************************/
634 class SvxShapePolyPolygonBezier : public SvxShapeText
636 private:
637 ::com::sun::star::drawing::PolygonKind mePolygonKind;
639 protected:
640 using SvxUnoTextRangeBase::setPropertyValue;
641 using SvxUnoTextRangeBase::getPropertyValue;
643 public:
644 // overide these for special property handling in subcasses. Return true if property is handled
645 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
646 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
648 SvxShapePolyPolygonBezier( SdrObject* pObj , ::com::sun::star::drawing::PolygonKind eNew = com::sun::star::drawing::PolygonKind_PATHLINE) throw();
649 virtual ~SvxShapePolyPolygonBezier() throw();
651 // Local support functions
652 ::com::sun::star::drawing::PolygonKind GetPolygonKind() const throw();
653 void SetPolygon(const basegfx::B2DPolyPolygon & rNew) throw();
654 basegfx::B2DPolyPolygon GetPolygon() const throw();
656 // XServiceInfo
657 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
660 /***********************************************************************
662 ***********************************************************************/
663 class SvxGraphicObject : public SvxShapeText
665 protected:
666 using SvxUnoTextRangeBase::setPropertyValue;
667 using SvxUnoTextRangeBase::getPropertyValue;
669 // overide these for special property handling in subcasses. Return true if property is handled
670 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
671 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
673 public:
674 SvxGraphicObject( SdrObject* pObj ) throw();
675 virtual ~SvxGraphicObject() throw();
678 /***********************************************************************
680 ***********************************************************************/
681 class Svx3DSceneObject : public ::com::sun::star::drawing::XShapes, public SvxShape
683 private:
684 rtl::Reference< SvxDrawPage > mxPage;
686 protected:
687 using SvxShape::setPropertyValue;
688 using SvxShape::getPropertyValue;
690 public:
691 Svx3DSceneObject( SdrObject* pObj, SvxDrawPage* pDrawPage ) throw();
692 // overide these for special property handling in subcasses. Return true if property is handled
693 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
694 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
696 virtual ~Svx3DSceneObject() throw();
698 virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
700 // XInterface
701 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
702 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
703 virtual void SAL_CALL acquire() throw();
704 virtual void SAL_CALL release() throw();
706 // XShapes
707 virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
708 virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
710 // XElementAccess
711 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
712 virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
714 // XIndexAccess
715 virtual sal_Int32 SAL_CALL getCount( ) throw(::com::sun::star::uno::RuntimeException) ;
716 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);
718 // XServiceInfo
719 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
721 // XTypeProvider
722 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
723 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
726 /***********************************************************************
728 ***********************************************************************/
729 class Svx3DCubeObject : public SvxShape
731 protected:
732 // overide these for special property handling in subcasses. Return true if property is handled
733 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
734 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
736 public:
737 Svx3DCubeObject( SdrObject* pObj ) throw();
738 virtual ~Svx3DCubeObject() throw();
740 // XServiceInfo
741 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
744 /***********************************************************************
746 ***********************************************************************/
747 class Svx3DSphereObject : public SvxShape
749 public:
750 Svx3DSphereObject( SdrObject* pObj ) throw();
751 protected:
752 // overide these for special property handling in subcasses. Return true if property is handled
753 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
754 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
756 virtual ~Svx3DSphereObject() throw();
758 // XServiceInfo
759 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
762 /***********************************************************************
764 ***********************************************************************/
765 class Svx3DLatheObject : public SvxShape
767 protected:
768 // overide these for special property handling in subcasses. Return true if property is handled
769 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
770 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
772 public:
773 Svx3DLatheObject( SdrObject* pObj ) throw();
774 virtual ~Svx3DLatheObject() throw();
776 // XServiceInfo
777 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
780 /***********************************************************************
782 ***********************************************************************/
783 class Svx3DExtrudeObject : public SvxShape
785 public:
786 Svx3DExtrudeObject( SdrObject* pObj ) throw();
787 protected:
788 // overide these for special property handling in subcasses. Return true if property is handled
789 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
790 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
792 virtual ~Svx3DExtrudeObject() throw();
794 // XServiceInfo
795 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
798 /***********************************************************************
800 ***********************************************************************/
801 class Svx3DPolygonObject : public SvxShape
803 protected:
804 // overide these for special property handling in subcasses. Return true if property is handled
805 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
806 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
808 public:
809 Svx3DPolygonObject( SdrObject* pObj ) throw();
810 virtual ~Svx3DPolygonObject() throw();
812 // XServiceInfo
813 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
816 /***********************************************************************
818 ***********************************************************************/
819 typedef ::cppu::WeakAggImplHelper1<
820 ::com::sun::star::drawing::XEnhancedCustomShapeDefaulter
821 > SvxShape_UnoImplHelper1;
823 class SVX_DLLPUBLIC SvxCustomShape : public SvxShapeText, public SvxShape_UnoImplHelper1
825 private:
826 rtl::Reference< SvxDrawPage > mxPage;
828 protected:
829 using SvxUnoTextRangeBase::setPropertyValue;
830 using SvxUnoTextRangeBase::getPropertyValue;
832 public:
833 SvxCustomShape( SdrObject* pObj ) throw ();
834 // overide these for special property handling in subcasses. Return true if property is handled
835 //virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertyMapEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
836 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
839 virtual ~SvxCustomShape() throw ();
841 virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
843 // XInterface
844 virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
845 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
846 virtual void SAL_CALL acquire() throw();
847 virtual void SAL_CALL release() throw();
849 // XShapeDescriptor
850 virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
852 // XShape
853 virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
854 virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
855 virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
856 virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
858 // XPropertySet
859 void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, com::sun::star::beans::PropertyVetoException, com::sun::star::lang::IllegalArgumentException);
861 // XTypeProvider
862 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
863 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
865 //XEnhancedCustomShapeDefaulter
866 virtual void SAL_CALL createCustomShapeDefaults( const rtl::OUString& rShapeType ) throw (::com::sun::star::uno::RuntimeException);
869 /***********************************************************************
871 ***********************************************************************/
873 class SvxMediaShape : public SvxShape
875 public:
876 SvxMediaShape( SdrObject* pObj ) throw();
877 virtual ~SvxMediaShape() throw();
879 protected:
880 // overide these for special property handling in subcasses. Return true if property is handled
881 virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) 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);
882 virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
885 #endif