Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : : #ifndef _SVX_UNOSHAPE_HXX
29 : : #define _SVX_UNOSHAPE_HXX
30 : :
31 : : #include <com/sun/star/document/XActionLockable.hpp>
32 : : #include <com/sun/star/drawing/XEnhancedCustomShapeDefaulter.hpp>
33 : : #include <com/sun/star/drawing/XGluePointsSupplier.hpp>
34 : : #include <com/sun/star/drawing/XShape.hpp>
35 : : #include <com/sun/star/lang/XComponent.hpp>
36 : : #include <com/sun/star/beans/XPropertySet.hpp>
37 : : #include <com/sun/star/beans/XPropertyState.hpp>
38 : : #include <com/sun/star/lang/XServiceInfo.hpp>
39 : : #include <com/sun/star/uno/XAggregation.hpp>
40 : : #include <com/sun/star/lang/XTypeProvider.hpp>
41 : : #include <com/sun/star/lang/XUnoTunnel.hpp>
42 : : #include <com/sun/star/awt/Point.hpp>
43 : : #include <com/sun/star/drawing/PolygonKind.hpp>
44 : : #include <com/sun/star/container/XNamed.hpp>
45 : : #include <com/sun/star/container/XChild.hpp>
46 : : #include <com/sun/star/beans/XMultiPropertySet.hpp>
47 : : #include <com/sun/star/beans/XMultiPropertyStates.hpp>
48 : : #include <tools/gen.hxx>
49 : : #include <tools/weakbase.hxx>
50 : : #include <svl/lstner.hxx>
51 : : #include <editeng/unoipset.hxx>
52 : : #include <cppuhelper/weak.hxx>
53 : : #include <cppuhelper/weakagg.hxx>
54 : : #include <cppuhelper/interfacecontainer.h>
55 : : #include <osl/mutex.hxx>
56 : : #include "svx/svxdllapi.h"
57 : : #include <rtl/ref.hxx>
58 : : #include <com/sun/star/uno/Any.hxx>
59 : :
60 : : #include <svx/svdouno.hxx>
61 : :
62 : : #include <comphelper/servicehelper.hxx>
63 : :
64 : : #include <cppuhelper/implbase1.hxx>
65 : : #include <cppuhelper/implbase12.hxx>
66 : :
67 : : #include <svx/unoprov.hxx>
68 : :
69 : : class SfxItemSet;
70 : : class SdrModel;
71 : : class SvxDrawPage;
72 : : class SvGlobalName;
73 : : // Dimension arrows change size/position on save/reload (#i59051#)
74 : : namespace basegfx
75 : : {
76 : : class B2DPolyPolygon;
77 : : } // end of namespace basegfx
78 : :
79 : : class SvxShapeMutex
80 : : {
81 : : protected:
82 : : ::osl::Mutex maMutex;
83 : : };
84 : :
85 : : struct SvxShapeImpl;
86 : : class SvxShapeMaster;
87 : : class SvxItemPropertySet;
88 : : class SfxItemSet;
89 : :
90 : : void SVX_DLLPUBLIC SvxItemPropertySet_setPropertyValue( const SvxItemPropertySet& rPropSet, const SfxItemPropertySimpleEntry* pMap,
91 : : const com::sun::star::uno::Any& rVal, SfxItemSet& rSet );
92 : :
93 : : com::sun::star::uno::Any SVX_DLLPUBLIC SvxItemPropertySet_getPropertyValue( const SvxItemPropertySet& rPropSet, const SfxItemPropertySimpleEntry* pMap, const SfxItemSet& rSet );
94 : :
95 : :
96 : : // WARNING: if you update the supported interfaces,
97 : : // also update SvxShape::_getTypes()
98 : : typedef ::cppu::WeakAggImplHelper12<
99 : : ::com::sun::star::drawing::XShape,
100 : : ::com::sun::star::lang::XComponent,
101 : : ::com::sun::star::beans::XPropertySet,
102 : : ::com::sun::star::beans::XMultiPropertySet,
103 : : ::com::sun::star::beans::XPropertyState,
104 : : ::com::sun::star::lang::XUnoTunnel,
105 : : ::com::sun::star::container::XNamed,
106 : : ::com::sun::star::drawing::XGluePointsSupplier,
107 : : ::com::sun::star::container::XChild,
108 : : ::com::sun::star::lang::XServiceInfo,
109 : : ::com::sun::star::document::XActionLockable,
110 : : ::com::sun::star::beans::XMultiPropertyStates> SvxShape_UnoImplHelper;
111 : :
112 : : class SVX_DLLPUBLIC SvxShape : public SvxShape_UnoImplHelper,
113 : : public SfxListener,
114 : : public SvxShapeMutex
115 : : {
116 : : private:
117 : : ::com::sun::star::awt::Size maSize;
118 : : ::com::sun::star::awt::Point maPosition;
119 : : ::rtl::OUString maShapeType;
120 : : ::rtl::OUString maShapeName;
121 : :
122 : : /** these members are used to optimize XMultiProperty calls */
123 : : SvxShapeImpl* mpImpl;
124 : : bool mbIsMultiPropertyCall;
125 : :
126 : : ::com::sun::star::uno::WeakReference< ::com::sun::star::container::XIndexContainer > mxGluePoints;
127 : :
128 : : protected:
129 : : friend class SvxDrawPage;
130 : : friend class SvxShapeConnector;
131 : : friend class SdXShape;
132 : :
133 : : const SvxItemPropertySet* mpPropSet;
134 : : const SfxItemPropertyMapEntry* maPropMapEntries;
135 : :
136 : : ::tools::WeakReference< SdrObject > mpObj;
137 : : SdrModel* mpModel;
138 : : // Umrechnungen fuer den Writer, der in TWIPS arbeitet
139 : : void ForceMetricToItemPoolMetric(Pair& rPoint) const throw();
140 : : void ForceMetricTo100th_mm(Pair& rPoint) const throw();
141 : : // Dimension arrows change size/position on save/reload (#i59051#)
142 : : void ForceMetricToItemPoolMetric(basegfx::B2DPolyPolygon& rPolyPolygon) const throw();
143 : : void ForceMetricTo100th_mm(basegfx::B2DPolyPolygon& rPolyPolygon) const throw();
144 : :
145 : : ::com::sun::star::uno::Any GetAnyForItem( SfxItemSet& aSet, const SfxItemPropertySimpleEntry* pMap ) const;
146 : :
147 : : sal_Bool SAL_CALL SetFillAttribute( sal_Int32 nWID, const ::rtl::OUString& rName );
148 : :
149 : : /** called from the XActionLockable interface methods on initial locking */
150 : : virtual void lock();
151 : :
152 : : /** called from the XActionLockable interface methods on final unlock */
153 : : virtual void unlock();
154 : :
155 : : /** used from the XActionLockable interface */
156 : : sal_uInt16 mnLockCount;
157 : :
158 : 3536 : const SfxItemPropertyMapEntry* getPropertyMapEntries() const { return maPropMapEntries; }
159 : :
160 : : void updateShapeKind();
161 : : void endSetPropertyValues();
162 : :
163 : : // overide these for special property handling in subcasses. Return true if property is handled
164 : : 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);
165 : : 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);
166 : : virtual bool getPropertyStateImpl( const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::beans::PropertyState& rState ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
167 : : virtual bool setPropertyToDefaultImpl( const SfxItemPropertySimpleEntry* pProperty ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
168 : :
169 : : public:
170 : : SvxShape( SdrObject* pObj ) throw ();
171 : : SvxShape( SdrObject* pObject, const SfxItemPropertyMapEntry* pEntries, const SvxItemPropertySet* pPropertySet ) throw ();
172 : : SvxShape() throw ();
173 : : virtual ~SvxShape() throw ();
174 : :
175 : : // Internals
176 : : void ObtainSettingsFromPropertySet(const SvxItemPropertySet& rPropSet);
177 : : virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
178 : : /** takes the ownership of the SdrObject.
179 : :
180 : : When the shape is disposed, and it has the ownership of its associated SdrObject, then
181 : : it will delete this object.
182 : : */
183 : : void TakeSdrObjectOwnership();
184 : : bool HasSdrObjectOwnership() const;
185 : :
186 : : void ChangeModel( SdrModel* pNewModel );
187 : :
188 : : void InvalidateSdrObject() { mpObj.reset( NULL ); };
189 : : const SvxItemPropertySet& GetPropertySet() { return *mpPropSet; }
190 : 21004 : SdrObject* GetSdrObject() const {return mpObj.get();}
191 : 1695 : void SetShapeType( const ::rtl::OUString& ShapeType ) { maShapeType = ShapeType; }
192 : : ::com::sun::star::uno::Any GetBitmap( sal_Bool bMetaFile = sal_False ) const throw ();
193 : :
194 : : ::svx::PropertyChangeNotifier& getShapePropertyChangeNotifier();
195 : :
196 : : void setShapeKind( sal_uInt32 nKind );
197 : : sal_uInt32 getShapeKind() const;
198 : :
199 : : // styles need this
200 : : static sal_Bool SAL_CALL SetFillAttribute( sal_Int32 nWID, const ::rtl::OUString& rName, SfxItemSet& rSet, SdrModel* pModel );
201 : : static sal_Bool SAL_CALL SetFillAttribute( sal_Int32 nWID, const ::rtl::OUString& rName, SfxItemSet& rSet );
202 : :
203 : : /** same as SetFillAttribute but for property names instead of which ids,
204 : : and the property found is returned instead of set at the object
205 : : directly.
206 : : */
207 : :
208 : : UNO3_GETIMPLEMENTATION_DECL( SvxShape )
209 : :
210 : : // access methods for master objects
211 : : ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL _getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
212 : : 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);
213 : : ::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);
214 : :
215 : : ::com::sun::star::beans::PropertyState SAL_CALL _getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
216 : : void SAL_CALL _setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
217 : : ::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);
218 : :
219 : : ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL _getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
220 : :
221 : : ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL _getTypes( ) throw(::com::sun::star::uno::RuntimeException);
222 : :
223 : : void setMaster( SvxShapeMaster* pMaster );
224 : :
225 : : // SfxListener
226 : : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) throw ();
227 : :
228 : : // XAggregation
229 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
230 : :
231 : : // XNamed
232 : : virtual ::rtl::OUString SAL_CALL getName( ) throw(::com::sun::star::uno::RuntimeException);
233 : : virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw(::com::sun::star::uno::RuntimeException);
234 : :
235 : : // XShapeDescriptor
236 : : virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
237 : :
238 : : // XShape
239 : : virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
240 : : virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
241 : : virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
242 : : virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
243 : :
244 : : // XComponent
245 : : virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
246 : : virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw(::com::sun::star::uno::RuntimeException);
247 : : virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
248 : :
249 : : // XPropertySet
250 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
251 : : 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);
252 : : 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);
253 : : 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);
254 : : 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);
255 : : 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);
256 : : 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);
257 : :
258 : : // XMultiPropertySet
259 : : 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);
260 : : 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);
261 : : 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);
262 : : virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
263 : : 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);
264 : :
265 : : // XPropertyState
266 : : virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
267 : : 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);
268 : : virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
269 : : 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);
270 : :
271 : : // XMultiPropertyStates
272 : : virtual void SAL_CALL setAllPropertiesToDefault()
273 : : throw (::com::sun::star::uno::RuntimeException);
274 : : virtual void SAL_CALL setPropertiesToDefault(
275 : : const ::com::sun::star::uno::Sequence<
276 : : ::rtl::OUString >& aPropertyNames )
277 : : throw (::com::sun::star::beans::UnknownPropertyException,
278 : : ::com::sun::star::uno::RuntimeException);
279 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
280 : : SAL_CALL getPropertyDefaults(
281 : : const ::com::sun::star::uno::Sequence<
282 : : ::rtl::OUString >& aPropertyNames )
283 : : throw (::com::sun::star::beans::UnknownPropertyException,
284 : : ::com::sun::star::lang::WrappedTargetException,
285 : : ::com::sun::star::uno::RuntimeException);
286 : :
287 : : // XServiceInfo
288 : : virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
289 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
290 : : virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
291 : :
292 : : // XGluePointsSupplier
293 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > SAL_CALL getGluePoints( ) throw(::com::sun::star::uno::RuntimeException);
294 : :
295 : : // XChild
296 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw(::com::sun::star::uno::RuntimeException);
297 : : 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);
298 : :
299 : : // XTypeProvider
300 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
301 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
302 : :
303 : : // XActionLockable
304 : : virtual sal_Bool SAL_CALL isActionLocked( ) throw (::com::sun::star::uno::RuntimeException);
305 : : virtual void SAL_CALL addActionLock( ) throw (::com::sun::star::uno::RuntimeException);
306 : : virtual void SAL_CALL removeActionLock( ) throw (::com::sun::star::uno::RuntimeException);
307 : : virtual void SAL_CALL setActionLocks( sal_Int16 nLock ) throw (::com::sun::star::uno::RuntimeException);
308 : : virtual sal_Int16 SAL_CALL resetActionLocks( ) throw (::com::sun::star::uno::RuntimeException);
309 : :
310 : : private:
311 : : /** initializes SdrObj-dependent members. Only to be called when GetSdrObject() != NULL
312 : : */
313 : : SVX_DLLPRIVATE void impl_initFromSdrObject();
314 : : /// CTOR-Impl
315 : : SVX_DLLPRIVATE void impl_construct();
316 : : };
317 : :
318 : : #include <editeng/unotext.hxx>
319 : :
320 : : class SVX_DLLPUBLIC SvxShapeText : public SvxShape, public SvxUnoTextBase
321 : : {
322 : : protected:
323 : : /** called from the XActionLockable interface methods on initial locking */
324 : : virtual void lock();
325 : :
326 : : /** called from the XActionLockable interface methods on final unlock */
327 : : virtual void unlock();
328 : :
329 : : protected:
330 : : using SvxUnoTextRangeBase::setPropertyValue;
331 : : using SvxUnoTextRangeBase::getPropertyValue;
332 : :
333 : : // overide these for special property handling in subcasses. Return true if property is handled
334 : : 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);
335 : : 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);
336 : : virtual bool getPropertyStateImpl( const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::beans::PropertyState& rState ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
337 : : virtual bool setPropertyToDefaultImpl( const SfxItemPropertySimpleEntry* pProperty ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
338 : :
339 : : public:
340 : : SvxShapeText( SdrObject* pObj ) throw ();
341 : : SvxShapeText( SdrObject* pObject, const SfxItemPropertyMapEntry* pPropertyMap, const SvxItemPropertySet* pPropertySet ) throw ();
342 : : virtual ~SvxShapeText() throw ();
343 : :
344 : : virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
345 : :
346 : : // XInterface
347 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
348 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
349 : : virtual void SAL_CALL acquire() throw();
350 : : virtual void SAL_CALL release() throw();
351 : :
352 : : // XServiceInfo
353 : : virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
354 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
355 : : virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
356 : :
357 : : // ::com::sun::star::text::XTextRange
358 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getStart() throw(::com::sun::star::uno::RuntimeException);
359 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getEnd() throw(::com::sun::star::uno::RuntimeException);
360 : : virtual ::rtl::OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException);
361 : : virtual void SAL_CALL setString( const ::rtl::OUString& aString ) throw(::com::sun::star::uno::RuntimeException);
362 : :
363 : : // XUnoTunnel
364 : : virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw (::com::sun::star::uno::RuntimeException);
365 : :
366 : : // XTypeProvider
367 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
368 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
369 : : };
370 : :
371 : : class SvxShapeRect : public SvxShapeText
372 : : {
373 : : public:
374 : : SvxShapeRect( SdrObject* pObj ) throw ();
375 : : virtual ~SvxShapeRect() throw ();
376 : :
377 : : // XInterface
378 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
379 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
380 : : virtual void SAL_CALL acquire() throw();
381 : : virtual void SAL_CALL release() throw();
382 : :
383 : : // XServiceInfo
384 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
385 : : };
386 : : #include <com/sun/star/drawing/XShapes.hpp>
387 : : #include <com/sun/star/drawing/XShapeGroup.hpp>
388 : : #include <com/sun/star/container/XIndexAccess.hpp>
389 : :
390 : : /***********************************************************************
391 : : * *
392 : : ***********************************************************************/
393 : : class SvxShapeGroup : public SvxShape,
394 : : public ::com::sun::star::drawing::XShapeGroup,
395 : : public ::com::sun::star::drawing::XShapes
396 : : {
397 : : private:
398 : : rtl::Reference< SvxDrawPage> mxPage;
399 : :
400 : : public:
401 : : SvxShapeGroup( SdrObject* pObj,SvxDrawPage* pDrawPage ) throw ();
402 : : virtual ~SvxShapeGroup() throw ();
403 : :
404 : : virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
405 : :
406 : : // XInterface
407 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
408 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
409 : : virtual void SAL_CALL acquire() throw();
410 : : virtual void SAL_CALL release() throw();
411 : :
412 : : // XShapes
413 : : virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
414 : : virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
415 : :
416 : : // XElementAccess
417 : : virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
418 : : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
419 : :
420 : : // XIndexAccess
421 : : virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException) ;
422 : : 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);
423 : :
424 : : // XShapeDescriptor
425 : : virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
426 : :
427 : : // XShape
428 : : virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
429 : : virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
430 : : virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
431 : : virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
432 : :
433 : : // XShapeGroup
434 : : virtual void SAL_CALL enterGroup( ) throw(::com::sun::star::uno::RuntimeException);
435 : : virtual void SAL_CALL leaveGroup( ) throw(::com::sun::star::uno::RuntimeException);
436 : :
437 : : // XServiceInfo
438 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
439 : :
440 : : // XTypeProvider
441 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
442 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
443 : : };
444 : : #include <com/sun/star/drawing/XConnectorShape.hpp>
445 : :
446 : : /***********************************************************************
447 : : * *
448 : : ***********************************************************************/
449 : : class SvxShapeConnector : public ::com::sun::star::drawing::XConnectorShape,
450 : : public SvxShapeText
451 : : {
452 : : public:
453 : : SvxShapeConnector( SdrObject* pObj ) throw();
454 : : virtual ~SvxShapeConnector() throw();
455 : :
456 : : // XInterface
457 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
458 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
459 : : virtual void SAL_CALL acquire() throw();
460 : : virtual void SAL_CALL release() throw();
461 : :
462 : : // XShapeDescriptor
463 : : virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
464 : :
465 : : // XShape
466 : : virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
467 : : virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
468 : : virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
469 : : virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
470 : :
471 : : // XConnectorShape
472 : : 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);
473 : : 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);
474 : : virtual void SAL_CALL disconnectBegin( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XConnectableShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
475 : : virtual void SAL_CALL disconnectEnd( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XConnectableShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
476 : :
477 : : // XServiceInfo
478 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
479 : :
480 : : // XTypeProvider
481 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
482 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
483 : : };
484 : : #include <com/sun/star/drawing/XControlShape.hpp>
485 : :
486 : : /***********************************************************************
487 : : * *
488 : : ***********************************************************************/
489 : : class SVX_DLLPUBLIC SvxShapeControl : public ::com::sun::star::drawing::XControlShape, public SvxShapeText
490 : : {
491 : : protected:
492 : : using SvxUnoTextRangeBase::setPropertyValue;
493 : : using SvxUnoTextRangeBase::getPropertyValue;
494 : :
495 : : public:
496 : : SvxShapeControl( SdrObject* pObj ) throw();
497 : : virtual ~SvxShapeControl() throw();
498 : :
499 : : // XInterface
500 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
501 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
502 : : virtual void SAL_CALL acquire() throw();
503 : : virtual void SAL_CALL release() throw();
504 : :
505 : : // XPropertySet
506 : : 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);
507 : : 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);
508 : :
509 : : // XPropertyState
510 : : virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
511 : : virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
512 : : 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);
513 : :
514 : : // XShapeDescriptor
515 : : virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
516 : :
517 : : // XShape
518 : : virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
519 : : virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
520 : : virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
521 : : virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
522 : :
523 : : // XControlShape
524 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > SAL_CALL getControl() throw(::com::sun::star::uno::RuntimeException);
525 : : virtual void SAL_CALL setControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& xControl ) throw(::com::sun::star::uno::RuntimeException);
526 : :
527 : : // XServiceInfo
528 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
529 : :
530 : : // XTypeProvider
531 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
532 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
533 : : };
534 : :
535 : : /***********************************************************************
536 : : * *
537 : : ***********************************************************************/
538 : : class SvxShapeDimensioning : public SvxShapeText
539 : : {
540 : : public:
541 : : SvxShapeDimensioning( SdrObject* pObj ) throw();
542 : : virtual ~SvxShapeDimensioning() throw();
543 : :
544 : : // XServiceInfo
545 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
546 : : };
547 : :
548 : : /***********************************************************************
549 : : * *
550 : : ***********************************************************************/
551 : : class SvxShapeCircle : public SvxShapeText
552 : : {
553 : : public:
554 : : SvxShapeCircle( SdrObject* pObj ) throw ();
555 : : virtual ~SvxShapeCircle() throw ();
556 : :
557 : : // XServiceInfo
558 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
559 : : };
560 : :
561 : : /***********************************************************************
562 : : * *
563 : : ***********************************************************************/
564 : :
565 : : class SVX_DLLPUBLIC SvxOle2Shape : public SvxShape
566 : : {
567 : : protected:
568 : : // overide these for special property handling in subcasses. Return true if property is handled
569 : : 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);
570 : : 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);
571 : :
572 : : void resetModifiedState();
573 : :
574 : : const SvGlobalName GetClassName_Impl(rtl::OUString& rHexCLSID);
575 : : public:
576 : : SvxOle2Shape( SdrObject* pObj ) throw();
577 : : SvxOle2Shape( SdrObject* pObject, const SfxItemPropertyMapEntry* pPropertyMap, const SvxItemPropertySet* pPropertySet ) throw ();
578 : : virtual ~SvxOle2Shape() throw();
579 : :
580 : : sal_Bool createObject( const SvGlobalName &aClassName );
581 : :
582 : : sal_Bool createLink( const ::rtl::OUString& aLinkURL );
583 : :
584 : : // XInterface
585 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
586 : : };
587 : :
588 : :
589 : : #include <basegfx/polygon/b2dpolypolygon.hxx>
590 : :
591 : : /***********************************************************************
592 : : * *
593 : : ***********************************************************************/
594 : : class SvxShapePolyPolygon : public SvxShapeText
595 : : {
596 : : private:
597 : : ::com::sun::star::drawing::PolygonKind mePolygonKind;
598 : :
599 : : protected:
600 : : using SvxUnoTextRangeBase::setPropertyValue;
601 : : using SvxUnoTextRangeBase::getPropertyValue;
602 : :
603 : : // overide these for special property handling in subcasses. Return true if property is handled
604 : : 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);
605 : : 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);
606 : :
607 : : public:
608 : : 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);
609 : : virtual ~SvxShapePolyPolygon() throw();
610 : :
611 : : // Local support functions
612 : : ::com::sun::star::drawing::PolygonKind GetPolygonKind() const throw();
613 : : void SetPolygon(const basegfx::B2DPolyPolygon& rNew) throw();
614 : : basegfx::B2DPolyPolygon GetPolygon() const throw();
615 : :
616 : : // XServiceInfo
617 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
618 : : };
619 : :
620 : : /***********************************************************************
621 : : * *
622 : : ***********************************************************************/
623 : :
624 : : class SvxShapePolyPolygonBezier : public SvxShapeText
625 : : {
626 : : private:
627 : : ::com::sun::star::drawing::PolygonKind mePolygonKind;
628 : :
629 : : protected:
630 : : using SvxUnoTextRangeBase::setPropertyValue;
631 : : using SvxUnoTextRangeBase::getPropertyValue;
632 : :
633 : : public:
634 : : // overide these for special property handling in subcasses. Return true if property is handled
635 : : 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);
636 : : 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);
637 : :
638 : : SvxShapePolyPolygonBezier( SdrObject* pObj , ::com::sun::star::drawing::PolygonKind eNew = com::sun::star::drawing::PolygonKind_PATHLINE) throw();
639 : : virtual ~SvxShapePolyPolygonBezier() throw();
640 : :
641 : : // Local support functions
642 : : ::com::sun::star::drawing::PolygonKind GetPolygonKind() const throw();
643 : : void SetPolygon(const basegfx::B2DPolyPolygon & rNew) throw();
644 : : basegfx::B2DPolyPolygon GetPolygon() const throw();
645 : :
646 : : // XServiceInfo
647 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
648 : : };
649 : :
650 : : /***********************************************************************
651 : : * *
652 : : ***********************************************************************/
653 : : class SvxGraphicObject : public SvxShapeText
654 : : {
655 : : protected:
656 : : using SvxUnoTextRangeBase::setPropertyValue;
657 : : using SvxUnoTextRangeBase::getPropertyValue;
658 : :
659 : : // overide these for special property handling in subcasses. Return true if property is handled
660 : : 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);
661 : : 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);
662 : :
663 : : public:
664 : : SvxGraphicObject( SdrObject* pObj ) throw();
665 : : virtual ~SvxGraphicObject() throw();
666 : : };
667 : :
668 : : /***********************************************************************
669 : : * *
670 : : ***********************************************************************/
671 : : class Svx3DSceneObject : public ::com::sun::star::drawing::XShapes, public SvxShape
672 : : {
673 : : private:
674 : : rtl::Reference< SvxDrawPage > mxPage;
675 : :
676 : : protected:
677 : : using SvxShape::setPropertyValue;
678 : : using SvxShape::getPropertyValue;
679 : :
680 : : public:
681 : : Svx3DSceneObject( SdrObject* pObj, SvxDrawPage* pDrawPage ) throw();
682 : : // overide these for special property handling in subcasses. Return true if property is handled
683 : : 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);
684 : : 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);
685 : :
686 : : virtual ~Svx3DSceneObject() throw();
687 : :
688 : : virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
689 : :
690 : : // XInterface
691 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
692 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
693 : : virtual void SAL_CALL acquire() throw();
694 : : virtual void SAL_CALL release() throw();
695 : :
696 : : // XShapes
697 : : virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
698 : : virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw(::com::sun::star::uno::RuntimeException);
699 : :
700 : : // XElementAccess
701 : : virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw(::com::sun::star::uno::RuntimeException);
702 : : virtual sal_Bool SAL_CALL hasElements( ) throw(::com::sun::star::uno::RuntimeException);
703 : :
704 : : // XIndexAccess
705 : : virtual sal_Int32 SAL_CALL getCount( ) throw(::com::sun::star::uno::RuntimeException) ;
706 : : 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);
707 : :
708 : : // XServiceInfo
709 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
710 : :
711 : : // XTypeProvider
712 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
713 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
714 : : };
715 : :
716 : : /***********************************************************************
717 : : * *
718 : : ***********************************************************************/
719 : : class Svx3DCubeObject : public SvxShape
720 : : {
721 : : protected:
722 : : // overide these for special property handling in subcasses. Return true if property is handled
723 : : 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);
724 : : 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);
725 : :
726 : : public:
727 : : Svx3DCubeObject( SdrObject* pObj ) throw();
728 : : virtual ~Svx3DCubeObject() throw();
729 : :
730 : : // XServiceInfo
731 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
732 : : };
733 : :
734 : : /***********************************************************************
735 : : * *
736 : : ***********************************************************************/
737 : : class Svx3DSphereObject : public SvxShape
738 : : {
739 : : public:
740 : : Svx3DSphereObject( SdrObject* pObj ) throw();
741 : : protected:
742 : : // overide these for special property handling in subcasses. Return true if property is handled
743 : : 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);
744 : : 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);
745 : :
746 : : virtual ~Svx3DSphereObject() throw();
747 : :
748 : : // XServiceInfo
749 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
750 : : };
751 : :
752 : : /***********************************************************************
753 : : * *
754 : : ***********************************************************************/
755 : : class Svx3DLatheObject : public SvxShape
756 : : {
757 : : protected:
758 : : // overide these for special property handling in subcasses. Return true if property is handled
759 : : 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);
760 : : 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);
761 : :
762 : : public:
763 : : Svx3DLatheObject( SdrObject* pObj ) throw();
764 : : virtual ~Svx3DLatheObject() throw();
765 : :
766 : : // XServiceInfo
767 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
768 : : };
769 : :
770 : : /***********************************************************************
771 : : * *
772 : : ***********************************************************************/
773 : : class Svx3DExtrudeObject : public SvxShape
774 : : {
775 : : public:
776 : : Svx3DExtrudeObject( SdrObject* pObj ) throw();
777 : : protected:
778 : : // overide these for special property handling in subcasses. Return true if property is handled
779 : : 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);
780 : : 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);
781 : :
782 : : virtual ~Svx3DExtrudeObject() throw();
783 : :
784 : : // XServiceInfo
785 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
786 : : };
787 : :
788 : : /***********************************************************************
789 : : * *
790 : : ***********************************************************************/
791 : : class Svx3DPolygonObject : public SvxShape
792 : : {
793 : : protected:
794 : : // overide these for special property handling in subcasses. Return true if property is handled
795 : : 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);
796 : : 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);
797 : :
798 : : public:
799 : : Svx3DPolygonObject( SdrObject* pObj ) throw();
800 : : virtual ~Svx3DPolygonObject() throw();
801 : :
802 : : // XServiceInfo
803 : : virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
804 : : };
805 : :
806 : : /***********************************************************************
807 : : * *
808 : : ***********************************************************************/
809 : : typedef ::cppu::WeakAggImplHelper1<
810 : : ::com::sun::star::drawing::XEnhancedCustomShapeDefaulter
811 : : > SvxShape_UnoImplHelper1;
812 : :
813 : : class SVX_DLLPUBLIC SvxCustomShape : public SvxShapeText, public SvxShape_UnoImplHelper1
814 : : {
815 : : private:
816 : : rtl::Reference< SvxDrawPage > mxPage;
817 : :
818 : : protected:
819 : : using SvxUnoTextRangeBase::setPropertyValue;
820 : : using SvxUnoTextRangeBase::getPropertyValue;
821 : :
822 : : public:
823 : : SvxCustomShape( SdrObject* pObj ) throw ();
824 : : // overide these for special property handling in subcasses. Return true if property is handled
825 : : 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);
826 : :
827 : :
828 : : virtual ~SvxCustomShape() throw ();
829 : :
830 : : virtual void Create( SdrObject* pNewOpj, SvxDrawPage* pNewPage = NULL );
831 : :
832 : : // XInterface
833 : : virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
834 : : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
835 : : virtual void SAL_CALL acquire() throw();
836 : : virtual void SAL_CALL release() throw();
837 : :
838 : : // XShapeDescriptor
839 : : virtual ::rtl::OUString SAL_CALL getShapeType() throw(::com::sun::star::uno::RuntimeException);
840 : :
841 : : // XShape
842 : : virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw(::com::sun::star::uno::RuntimeException);
843 : : virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition ) throw(::com::sun::star::uno::RuntimeException);
844 : : virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw(::com::sun::star::uno::RuntimeException);
845 : : virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize ) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
846 : :
847 : : // XPropertySet
848 : : 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);
849 : :
850 : : // XTypeProvider
851 : : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
852 : : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
853 : :
854 : : //XEnhancedCustomShapeDefaulter
855 : : virtual void SAL_CALL createCustomShapeDefaults( const rtl::OUString& rShapeType ) throw (::com::sun::star::uno::RuntimeException);
856 : : };
857 : :
858 : : /***********************************************************************
859 : : * *
860 : : ***********************************************************************/
861 : :
862 : : class SvxMediaShape : public SvxShape
863 : : {
864 : : public:
865 : : SvxMediaShape( SdrObject* pObj ) throw();
866 : : virtual ~SvxMediaShape() throw();
867 : :
868 : : protected:
869 : : // overide these for special property handling in subcasses. Return true if property is handled
870 : : 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);
871 : : 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);
872 : : };
873 : :
874 : : #endif
875 : :
876 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|