xref: /aoo42x/main/svx/source/unodraw/unoprov.cxx (revision f6e50924)
1*f6e50924SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*f6e50924SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*f6e50924SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*f6e50924SAndrew Rist  * distributed with this work for additional information
6*f6e50924SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*f6e50924SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*f6e50924SAndrew Rist  * "License"); you may not use this file except in compliance
9*f6e50924SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*f6e50924SAndrew Rist  *
11*f6e50924SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*f6e50924SAndrew Rist  *
13*f6e50924SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*f6e50924SAndrew Rist  * software distributed under the License is distributed on an
15*f6e50924SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*f6e50924SAndrew Rist  * KIND, either express or implied.  See the License for the
17*f6e50924SAndrew Rist  * specific language governing permissions and limitations
18*f6e50924SAndrew Rist  * under the License.
19*f6e50924SAndrew Rist  *
20*f6e50924SAndrew Rist  *************************************************************/
21*f6e50924SAndrew Rist 
22*f6e50924SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_svx.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #define _SVX_USE_UNOGLOBALS_
28cdf0e10cSrcweir 
29cdf0e10cSrcweir #include <com/sun/star/table/XTable.hpp>
30cdf0e10cSrcweir #include <com/sun/star/container/XIndexAccess.hpp>
31cdf0e10cSrcweir #include <com/sun/star/frame/XModel.hpp>
32cdf0e10cSrcweir #include <com/sun/star/embed/XEmbeddedObject.hpp>
33cdf0e10cSrcweir #include <com/sun/star/util/MeasureUnit.hpp>
34cdf0e10cSrcweir #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
35cdf0e10cSrcweir #include <com/sun/star/media/ZoomLevel.hpp>
36cdf0e10cSrcweir #include <com/sun/star/io/XInputStream.hpp>
37cdf0e10cSrcweir #include <com/sun/star/beans/PropertyAttribute.hpp>
38cdf0e10cSrcweir #include <tools/fldunit.hxx>
39cdf0e10cSrcweir #include <tools/shl.hxx>
40cdf0e10cSrcweir #include <vos/mutex.hxx>
41cdf0e10cSrcweir #include <vcl/svapp.hxx>
42cdf0e10cSrcweir #include <comphelper/propertysetinfo.hxx>
43cdf0e10cSrcweir #include <svx/dialmgr.hxx>
44cdf0e10cSrcweir #include "svx/unoapi.hxx"
45cdf0e10cSrcweir #include <editeng/unotext.hxx>
46cdf0e10cSrcweir #include <svx/unoshprp.hxx>
47cdf0e10cSrcweir #include <editeng/editeng.hxx>
48cdf0e10cSrcweir #include "svx/globl3d.hxx"
49cdf0e10cSrcweir #include <svx/dialogs.hrc>
50cdf0e10cSrcweir #include <svx/svdpool.hxx>
51cdf0e10cSrcweir #include <svx/svdobj.hxx>
52cdf0e10cSrcweir 
53cdf0e10cSrcweir using namespace ::rtl;
54cdf0e10cSrcweir using namespace ::com::sun::star;
55cdf0e10cSrcweir using namespace ::com::sun::star::beans::PropertyAttribute;
56cdf0e10cSrcweir using ::com::sun::star::drawing::TextVerticalAdjust;
57cdf0e10cSrcweir 
58cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxShapePropertyMap()
59cdf0e10cSrcweir {
60cdf0e10cSrcweir     static SfxItemPropertyMapEntry aShapePropertyMap_Impl[] =
61cdf0e10cSrcweir 	{
62cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
63cdf0e10cSrcweir 		FILL_PROPERTIES
64cdf0e10cSrcweir 		LINE_PROPERTIES
65cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
66cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
67cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
68cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
69cdf0e10cSrcweir 		SHADOW_PROPERTIES
70cdf0e10cSrcweir 		TEXT_PROPERTIES
71cdf0e10cSrcweir 		// #FontWork#
72cdf0e10cSrcweir 		FONTWORK_PROPERTIES
73cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
74cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
75cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
76cdf0e10cSrcweir 		{0,0,0,0,0,0}
77cdf0e10cSrcweir 
78cdf0e10cSrcweir 	};
79cdf0e10cSrcweir 
80cdf0e10cSrcweir 	return aShapePropertyMap_Impl;
81cdf0e10cSrcweir }
82cdf0e10cSrcweir 
83cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxTextShapePropertyMap()
84cdf0e10cSrcweir {
85cdf0e10cSrcweir     static SfxItemPropertyMapEntry aTextShapePropertyMap_Impl[] =
86cdf0e10cSrcweir 	{
87cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
88cdf0e10cSrcweir 		FILL_PROPERTIES
89cdf0e10cSrcweir 		LINE_PROPERTIES
90cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
91cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
92cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES_NO_SHEAR
93cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
94cdf0e10cSrcweir 		SHADOW_PROPERTIES
95cdf0e10cSrcweir 		TEXT_PROPERTIES
96cdf0e10cSrcweir 		// #FontWork#
97cdf0e10cSrcweir 		FONTWORK_PROPERTIES
98cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
99cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
100cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
101cdf0e10cSrcweir 		{0,0,0,0,0,0}
102cdf0e10cSrcweir 
103cdf0e10cSrcweir 	};
104cdf0e10cSrcweir 
105cdf0e10cSrcweir 	return aTextShapePropertyMap_Impl;
106cdf0e10cSrcweir }
107cdf0e10cSrcweir 
108cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxConnectorPropertyMap()
109cdf0e10cSrcweir {
110cdf0e10cSrcweir     static SfxItemPropertyMapEntry aConnectorPropertyMap_Impl[] =
111cdf0e10cSrcweir 	{
112cdf0e10cSrcweir 		SPECIAL_CONNECTOR_PROPERTIES
113cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
114cdf0e10cSrcweir 		FILL_PROPERTIES
115cdf0e10cSrcweir 		LINE_PROPERTIES
116cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
117cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
118cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
119cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
120cdf0e10cSrcweir 		SHADOW_PROPERTIES
121cdf0e10cSrcweir 		TEXT_PROPERTIES
122cdf0e10cSrcweir 		// #FontWork#
123cdf0e10cSrcweir 		FONTWORK_PROPERTIES
124cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
125cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
126cdf0e10cSrcweir 		{0,0,0,0,0,0}
127cdf0e10cSrcweir 
128cdf0e10cSrcweir 	};
129cdf0e10cSrcweir 
130cdf0e10cSrcweir 	return aConnectorPropertyMap_Impl;
131cdf0e10cSrcweir }
132cdf0e10cSrcweir 
133cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxDimensioningPropertyMap()
134cdf0e10cSrcweir {
135cdf0e10cSrcweir     static SfxItemPropertyMapEntry aDimensioningPropertyMap_Impl[] =
136cdf0e10cSrcweir 	{
137cdf0e10cSrcweir 		SPECIAL_DIMENSIONING_PROPERTIES
138cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
139cdf0e10cSrcweir 		FILL_PROPERTIES
140cdf0e10cSrcweir 		LINE_PROPERTIES
141cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
142cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
143cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
144cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
145cdf0e10cSrcweir 		SHADOW_PROPERTIES
146cdf0e10cSrcweir 		TEXT_PROPERTIES
147cdf0e10cSrcweir 		// #FontWork#
148cdf0e10cSrcweir 		FONTWORK_PROPERTIES
149cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
150cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
151cdf0e10cSrcweir 		{0,0,0,0,0,0}
152cdf0e10cSrcweir 
153cdf0e10cSrcweir 	};
154cdf0e10cSrcweir 
155cdf0e10cSrcweir 	return aDimensioningPropertyMap_Impl;
156cdf0e10cSrcweir }
157cdf0e10cSrcweir 
158cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxCirclePropertyMap()
159cdf0e10cSrcweir {
160cdf0e10cSrcweir     static SfxItemPropertyMapEntry aCirclePropertyMap_Impl[] =
161cdf0e10cSrcweir 	{
162cdf0e10cSrcweir 		SPECIAL_CIRCLE_PROPERTIES
163cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
164cdf0e10cSrcweir 		FILL_PROPERTIES
165cdf0e10cSrcweir 		LINE_PROPERTIES
166cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
167cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
168cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
169cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
170cdf0e10cSrcweir 		SHADOW_PROPERTIES
171cdf0e10cSrcweir 		TEXT_PROPERTIES
172cdf0e10cSrcweir 		// #FontWork#
173cdf0e10cSrcweir 		FONTWORK_PROPERTIES
174cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
175cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
176cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
177cdf0e10cSrcweir 		{0,0,0,0,0,0}
178cdf0e10cSrcweir 
179cdf0e10cSrcweir 	};
180cdf0e10cSrcweir 
181cdf0e10cSrcweir 	return aCirclePropertyMap_Impl;
182cdf0e10cSrcweir }
183cdf0e10cSrcweir 
184cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxPolyPolygonPropertyMap()
185cdf0e10cSrcweir {
186cdf0e10cSrcweir     static SfxItemPropertyMapEntry aPolyPolygonPropertyMap_Impl[] =
187cdf0e10cSrcweir 	{
188cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Geometry"),	OWN_ATTR_BASE_GEOMETRY,	SEQTYPE(::getCppuType((const ::com::sun::star::drawing::PointSequenceSequence*)0)),	0, 0 },
189cdf0e10cSrcweir 		SPECIAL_POLYGON_PROPERTIES
190cdf0e10cSrcweir 		SPECIAL_POLYPOLYGON_PROPERTIES
191cdf0e10cSrcweir 		FILL_PROPERTIES
192cdf0e10cSrcweir 		LINE_PROPERTIES
193cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
194cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
195cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
196cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
197cdf0e10cSrcweir 		SHADOW_PROPERTIES
198cdf0e10cSrcweir 		TEXT_PROPERTIES
199cdf0e10cSrcweir 		// #FontWork#
200cdf0e10cSrcweir 		FONTWORK_PROPERTIES
201cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
202cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
203cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
204cdf0e10cSrcweir 		{0,0,0,0,0,0}
205cdf0e10cSrcweir 
206cdf0e10cSrcweir 	};
207cdf0e10cSrcweir 
208cdf0e10cSrcweir 	return aPolyPolygonPropertyMap_Impl;
209cdf0e10cSrcweir }
210cdf0e10cSrcweir 
211cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxPolyPolygonBezierPropertyMap()
212cdf0e10cSrcweir {
213cdf0e10cSrcweir     static SfxItemPropertyMapEntry aPolyPolygonBezierPropertyMap_Impl[] =
214cdf0e10cSrcweir 	{
215cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Geometry"),	OWN_ATTR_BASE_GEOMETRY,	&::getCppuType((const ::com::sun::star::drawing::PolyPolygonBezierCoords*)0), 0, 0 },
216cdf0e10cSrcweir 		SPECIAL_POLYGON_PROPERTIES
217cdf0e10cSrcweir 		SPECIAL_POLYPOLYGONBEZIER_PROPERTIES
218cdf0e10cSrcweir 		FILL_PROPERTIES
219cdf0e10cSrcweir 		LINE_PROPERTIES
220cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
221cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
222cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
223cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
224cdf0e10cSrcweir 		SHADOW_PROPERTIES
225cdf0e10cSrcweir 		TEXT_PROPERTIES
226cdf0e10cSrcweir 		// #FontWork#
227cdf0e10cSrcweir 		FONTWORK_PROPERTIES
228cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
229cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
230cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
231cdf0e10cSrcweir 		{0,0,0,0,0,0}
232cdf0e10cSrcweir 
233cdf0e10cSrcweir 	};
234cdf0e10cSrcweir 
235cdf0e10cSrcweir 	return aPolyPolygonBezierPropertyMap_Impl;
236cdf0e10cSrcweir }
237cdf0e10cSrcweir 
238cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxGraphicObjectPropertyMap()
239cdf0e10cSrcweir {
240cdf0e10cSrcweir     static SfxItemPropertyMapEntry aGraphicObjectPropertyMap_Impl[] =
241cdf0e10cSrcweir 	{
242cdf0e10cSrcweir 		SPECIAL_GRAPHOBJ_PROPERTIES
243cdf0e10cSrcweir 
244cdf0e10cSrcweir 		// #i25616#
245cdf0e10cSrcweir 		FILL_PROPERTIES
246cdf0e10cSrcweir 
247cdf0e10cSrcweir 		LINE_PROPERTIES
248cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
249cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
250a5258243SPedro Giffuni 
251a5258243SPedro Giffuni         // #i118485# Full properties now, shear included
252a5258243SPedro Giffuni 		MISC_OBJ_PROPERTIES
253a5258243SPedro Giffuni 
254a5258243SPedro Giffuni         LINKTARGET_PROPERTIES
255cdf0e10cSrcweir 		SHADOW_PROPERTIES
256cdf0e10cSrcweir 		TEXT_PROPERTIES
257cdf0e10cSrcweir 		// #FontWork#
258cdf0e10cSrcweir 		FONTWORK_PROPERTIES
259cdf0e10cSrcweir 		{ MAP_CHAR_LEN("IsMirrored"),				OWN_ATTR_MIRRORED			, &::getCppuBooleanType(), 0, 0},
260cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
261cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
262cdf0e10cSrcweir 		{MAP_CHAR_LEN("GraphicStream"),	OWN_ATTR_GRAPHIC_STREAM, &::com::sun::star::io::XInputStream::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
263cdf0e10cSrcweir 		{0,0,0,0,0,0}
264cdf0e10cSrcweir 
265cdf0e10cSrcweir 	};
266cdf0e10cSrcweir 
267cdf0e10cSrcweir 	return aGraphicObjectPropertyMap_Impl;
268cdf0e10cSrcweir }
269cdf0e10cSrcweir 
270cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvx3DSceneObjectPropertyMap()
271cdf0e10cSrcweir {
272cdf0e10cSrcweir     static SfxItemPropertyMapEntry a3DSceneObjectPropertyMap_Impl[] =
273cdf0e10cSrcweir 	{
274cdf0e10cSrcweir 		SPECIAL_3DSCENEOBJECT_PROPERTIES
275cdf0e10cSrcweir 		FILL_PROPERTIES
276cdf0e10cSrcweir 		LINE_PROPERTIES
277cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
278cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
279cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
280cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
281cdf0e10cSrcweir 		SHADOW_PROPERTIES
282cdf0e10cSrcweir 		{0,0,0,0,0,0}
283cdf0e10cSrcweir 
284cdf0e10cSrcweir 	};
285cdf0e10cSrcweir 
286cdf0e10cSrcweir 	return a3DSceneObjectPropertyMap_Impl;
287cdf0e10cSrcweir }
288cdf0e10cSrcweir 
289cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvx3DCubeObjectPropertyMap()
290cdf0e10cSrcweir {
291cdf0e10cSrcweir     static SfxItemPropertyMapEntry a3DCubeObjectPropertyMap_Impl[] =
292cdf0e10cSrcweir 	{
293cdf0e10cSrcweir 		SPECIAL_3DCUBEOBJECT_PROPERTIES
294cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
295cdf0e10cSrcweir 		FILL_PROPERTIES
296cdf0e10cSrcweir 		LINE_PROPERTIES
297cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
298cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
299cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
300cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
301cdf0e10cSrcweir 		SHADOW_PROPERTIES
302cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
303cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
304cdf0e10cSrcweir 		{0,0,0,0,0,0}
305cdf0e10cSrcweir 
306cdf0e10cSrcweir 	};
307cdf0e10cSrcweir 
308cdf0e10cSrcweir 	return a3DCubeObjectPropertyMap_Impl;
309cdf0e10cSrcweir }
310cdf0e10cSrcweir 
311cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvx3DSphereObjectPropertyMap()
312cdf0e10cSrcweir {
313cdf0e10cSrcweir     static SfxItemPropertyMapEntry a3DSphereObjectPropertyMap_Impl[] =
314cdf0e10cSrcweir 	{
315cdf0e10cSrcweir 		SPECIAL_3DSPHEREOBJECT_PROPERTIES
316cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
317cdf0e10cSrcweir 		FILL_PROPERTIES
318cdf0e10cSrcweir 		LINE_PROPERTIES
319cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
320cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
321cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
322cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
323cdf0e10cSrcweir 		SHADOW_PROPERTIES
324cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
325cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
326cdf0e10cSrcweir 		{0,0,0,0,0,0}
327cdf0e10cSrcweir 
328cdf0e10cSrcweir 	};
329cdf0e10cSrcweir 	return a3DSphereObjectPropertyMap_Impl;
330cdf0e10cSrcweir }
331cdf0e10cSrcweir 
332cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvx3DLatheObjectPropertyMap()
333cdf0e10cSrcweir {
334cdf0e10cSrcweir     static SfxItemPropertyMapEntry a3DLatheObjectPropertyMap_Impl[] =
335cdf0e10cSrcweir 	{
336cdf0e10cSrcweir 		SPECIAL_3DLATHEOBJECT_PROPERTIES
337cdf0e10cSrcweir 
338cdf0e10cSrcweir 		// #107245# New 3D properties which are possible for lathe and extrude 3d objects
339cdf0e10cSrcweir 		SPECIAL_3DLATHEANDEXTRUDEOBJ_PROPERTIES
340cdf0e10cSrcweir 
341cdf0e10cSrcweir 		SPECIAL_3DBACKSCALE_PROPERTIES
342cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
343cdf0e10cSrcweir 		FILL_PROPERTIES
344cdf0e10cSrcweir 		LINE_PROPERTIES
345cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
346cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
347cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
348cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
349cdf0e10cSrcweir 		SHADOW_PROPERTIES
350cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
351cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
352cdf0e10cSrcweir 		{0,0,0,0,0,0}
353cdf0e10cSrcweir 
354cdf0e10cSrcweir 	};
355cdf0e10cSrcweir 
356cdf0e10cSrcweir 	return a3DLatheObjectPropertyMap_Impl;
357cdf0e10cSrcweir }
358cdf0e10cSrcweir 
359cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvx3DExtrudeObjectPropertyMap()
360cdf0e10cSrcweir {
361cdf0e10cSrcweir     static SfxItemPropertyMapEntry a3DExtrudeObjectPropertyMap_Impl[] =
362cdf0e10cSrcweir 	{
363cdf0e10cSrcweir 		SPECIAL_3DEXTRUDEOBJECT_PROPERTIES
364cdf0e10cSrcweir 
365cdf0e10cSrcweir 		// #107245# New 3D properties which are possible for lathe and extrude 3d objects
366cdf0e10cSrcweir 		SPECIAL_3DLATHEANDEXTRUDEOBJ_PROPERTIES
367cdf0e10cSrcweir 
368cdf0e10cSrcweir 		SPECIAL_3DBACKSCALE_PROPERTIES
369cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
370cdf0e10cSrcweir 		FILL_PROPERTIES
371cdf0e10cSrcweir 		LINE_PROPERTIES
372cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
373cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
374cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
375cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
376cdf0e10cSrcweir 		SHADOW_PROPERTIES
377cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
378cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
379cdf0e10cSrcweir 		{0,0,0,0,0,0}
380cdf0e10cSrcweir 
381cdf0e10cSrcweir 	};
382cdf0e10cSrcweir 
383cdf0e10cSrcweir 	return a3DExtrudeObjectPropertyMap_Impl;
384cdf0e10cSrcweir }
385cdf0e10cSrcweir 
386cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvx3DPolygonObjectPropertyMap()
387cdf0e10cSrcweir {
388cdf0e10cSrcweir     static SfxItemPropertyMapEntry a3DPolygonObjectPropertyMap_Impl[] =
389cdf0e10cSrcweir 	{
390cdf0e10cSrcweir 		SPECIAL_3DPOLYGONOBJECT_PROPERTIES
391cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
392cdf0e10cSrcweir 		FILL_PROPERTIES
393cdf0e10cSrcweir 		LINE_PROPERTIES
394cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
395cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
396cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
397cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
398cdf0e10cSrcweir 		SHADOW_PROPERTIES
399cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
400cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
401cdf0e10cSrcweir 		{0,0,0,0,0,0}
402cdf0e10cSrcweir 
403cdf0e10cSrcweir 	};
404cdf0e10cSrcweir 
405cdf0e10cSrcweir 	return a3DPolygonObjectPropertyMap_Impl;
406cdf0e10cSrcweir }
407cdf0e10cSrcweir 
408cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxAllPropertyMap()
409cdf0e10cSrcweir {
410cdf0e10cSrcweir     static SfxItemPropertyMapEntry aAllPropertyMap_Impl[] =
411cdf0e10cSrcweir 	{
412cdf0e10cSrcweir 		SHADOW_PROPERTIES
413cdf0e10cSrcweir 		LINE_PROPERTIES
414cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
415cdf0e10cSrcweir 		FILL_PROPERTIES
416cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
417cdf0e10cSrcweir 		TEXT_PROPERTIES
418cdf0e10cSrcweir 		// #FontWork#
419cdf0e10cSrcweir 		FONTWORK_PROPERTIES
420cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
421cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
422cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
423cdf0e10cSrcweir 		SPECIAL_CONNECTOR_PROPERTIES
424cdf0e10cSrcweir 		SPECIAL_DIMENSIONING_PROPERTIES
425cdf0e10cSrcweir 		SPECIAL_CIRCLE_PROPERTIES
426cdf0e10cSrcweir 		SPECIAL_POLYGON_PROPERTIES
427cdf0e10cSrcweir 		SPECIAL_POLYPOLYGON_PROPERTIES
428cdf0e10cSrcweir 		SPECIAL_POLYPOLYGONBEZIER_PROPERTIES
429cdf0e10cSrcweir 		SPECIAL_GRAPHOBJ_PROPERTIES
430cdf0e10cSrcweir 		SPECIAL_3DSCENEOBJECT_PROPERTIES
431cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
432cdf0e10cSrcweir 		SPECIAL_3DCUBEOBJECT_PROPERTIES
433cdf0e10cSrcweir 		SPECIAL_3DSPHEREOBJECT_PROPERTIES
434cdf0e10cSrcweir 		SPECIAL_3DLATHEOBJECT_PROPERTIES
435cdf0e10cSrcweir 		SPECIAL_3DEXTRUDEOBJECT_PROPERTIES
436cdf0e10cSrcweir 
437cdf0e10cSrcweir 		// #107245# New 3D properties which are possible for lathe and extrude 3d objects
438cdf0e10cSrcweir 		SPECIAL_3DLATHEANDEXTRUDEOBJ_PROPERTIES
439cdf0e10cSrcweir 
440cdf0e10cSrcweir 		SPECIAL_3DBACKSCALE_PROPERTIES
441cdf0e10cSrcweir 		SPECIAL_3DPOLYGONOBJECT_PROPERTIES
442cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
443cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
444cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
445cdf0e10cSrcweir 		{0,0,0,0,0,0}
446cdf0e10cSrcweir 
447cdf0e10cSrcweir 	};
448cdf0e10cSrcweir 
449cdf0e10cSrcweir 	return aAllPropertyMap_Impl;
450cdf0e10cSrcweir }
451cdf0e10cSrcweir 
452cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxGroupPropertyMap()
453cdf0e10cSrcweir {
454cdf0e10cSrcweir     static SfxItemPropertyMapEntry aGroupPropertyMap_Impl[] =
455cdf0e10cSrcweir 	{
456cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
457cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
458cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
459cdf0e10cSrcweir 		{0,0,0,0,0,0}
460cdf0e10cSrcweir 
461cdf0e10cSrcweir 	};
462cdf0e10cSrcweir 
463cdf0e10cSrcweir 	return aGroupPropertyMap_Impl;
464cdf0e10cSrcweir }
465cdf0e10cSrcweir 
466cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxOle2PropertyMap()
467cdf0e10cSrcweir {
468cdf0e10cSrcweir     static SfxItemPropertyMapEntry aOle2PropertyMap_Impl[] =
469cdf0e10cSrcweir 	{
470a5258243SPedro Giffuni         // #i118485# Adding properties for line, fill, text, shadow, fontwork, rotate, shear
471a5258243SPedro Giffuni 		FILL_PROPERTIES
472a5258243SPedro Giffuni 		LINE_PROPERTIES
473a5258243SPedro Giffuni 		LINE_PROPERTIES_START_END
474a5258243SPedro Giffuni         SHAPE_DESCRIPTOR_PROPERTIES
475a5258243SPedro Giffuni         MISC_OBJ_PROPERTIES
476a5258243SPedro Giffuni         LINKTARGET_PROPERTIES
477a5258243SPedro Giffuni         SHADOW_PROPERTIES
478a5258243SPedro Giffuni         TEXT_PROPERTIES
479a5258243SPedro Giffuni 		FONTWORK_PROPERTIES
480a5258243SPedro Giffuni 
481cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ThumbnailGraphicURL"),		OWN_ATTR_THUMBNAIL			, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
482cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Model"),					OWN_ATTR_OLEMODEL			, &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
483cdf0e10cSrcweir 		{ MAP_CHAR_LEN("EmbeddedObject"),			OWN_ATTR_OLE_EMBEDDED_OBJECT	, &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedObject >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
484cdf0e10cSrcweir 		{ MAP_CHAR_LEN("EmbeddedObjectNoNewClient"),OWN_ATTR_OLE_EMBEDDED_OBJECT_NONEWCLIENT, &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedObject >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
485cdf0e10cSrcweir 		{ MAP_CHAR_LEN("OriginalSize"),				OWN_ATTR_OLESIZE			, &::getCppuType(( const ::com::sun::star::awt::Size*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
486cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CLSID"),					OWN_ATTR_CLSID				, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
487cdf0e10cSrcweir 		{ MAP_CHAR_LEN("IsInternal"),				OWN_ATTR_INTERNAL_OLE		, &::getBooleanCppuType() , ::com::sun::star::beans::PropertyAttribute::READONLY,     0},
488cdf0e10cSrcweir 		{ MAP_CHAR_LEN("VisibleArea"),				OWN_ATTR_OLE_VISAREA		, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0, 0},
489cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Aspect"),					OWN_ATTR_OLE_ASPECT			, &::getCppuType((const sal_Int64*)0), 0, 0},
490cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_PERSISTNAME),	OWN_ATTR_PERSISTNAME		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
491cdf0e10cSrcweir 		{ MAP_CHAR_LEN("LinkURL"),					OWN_ATTR_OLE_LINKURL		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
492cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_GRAPHOBJ_GRAPHIC),	 OWN_ATTR_VALUE_GRAPHIC	    , &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic>*)0), 	0,     0},
493cdf0e10cSrcweir 		{0,0,0,0,0,0}
494cdf0e10cSrcweir 
495cdf0e10cSrcweir 	};
496cdf0e10cSrcweir 
497cdf0e10cSrcweir 	return aOle2PropertyMap_Impl;
498cdf0e10cSrcweir }
499cdf0e10cSrcweir 
500cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxPluginPropertyMap()
501cdf0e10cSrcweir {
502cdf0e10cSrcweir     static SfxItemPropertyMapEntry aPluginPropertyMap_Impl[] =
503cdf0e10cSrcweir 	{
504cdf0e10cSrcweir 		{ MAP_CHAR_LEN("PluginMimeType"),			OWN_ATTR_PLUGIN_MIMETYPE	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
505cdf0e10cSrcweir 		{ MAP_CHAR_LEN("PluginURL"),				OWN_ATTR_PLUGIN_URL			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
506cdf0e10cSrcweir 		{ MAP_CHAR_LEN("PluginCommands"),			OWN_ATTR_PLUGIN_COMMANDS	, SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >*)0)), 0, 0},
507cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"),			OWN_ATTR_TRANSFORMATION		, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
508cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),	OWN_ATTR_ZORDER				, &::getCppuType((const sal_Int32*)0),		0,		0},
509cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),	SDRATTR_LAYERID				, &::getCppuType((const sal_Int16*)0),		0,	0},
510cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),SDRATTR_LAYERNAME			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
511cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP			, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
512cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),	OWN_ATTR_LDNAME				, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
513cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_METAFILE),		OWN_ATTR_METAFILE			, SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence<sal_Int8>*)0)), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
514cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ThumbnailGraphicURL"),		OWN_ATTR_THUMBNAIL			, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
515cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),		SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
516cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),		SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
517cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_PERSISTNAME),	OWN_ATTR_PERSISTNAME		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
518cdf0e10cSrcweir 		{ MAP_CHAR_LEN("LinkURL"),					OWN_ATTR_OLE_LINKURL		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
519cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT,			&::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
520cdf0e10cSrcweir 		{ MAP_CHAR_LEN("VisibleArea"),				OWN_ATTR_OLE_VISAREA		, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0, 0},
521cdf0e10cSrcweir 		// #i68101#
522cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
523cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
524cdf0e10cSrcweir 		{0,0,0,0,0,0}
525cdf0e10cSrcweir 
526cdf0e10cSrcweir 	};
527cdf0e10cSrcweir 
528cdf0e10cSrcweir 	return aPluginPropertyMap_Impl;
529cdf0e10cSrcweir }
530cdf0e10cSrcweir 
531cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxFramePropertyMap()
532cdf0e10cSrcweir {
533cdf0e10cSrcweir     //TODO/LATER: new properties for ScrollingMode and DefaultBorder
534cdf0e10cSrcweir     static SfxItemPropertyMapEntry aFramePropertyMap_Impl[] =
535cdf0e10cSrcweir 	{
536cdf0e10cSrcweir 		{ MAP_CHAR_LEN("FrameURL"),					OWN_ATTR_FRAME_URL			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
537cdf0e10cSrcweir 		{ MAP_CHAR_LEN("FrameName"),				OWN_ATTR_FRAME_NAME			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
538cdf0e10cSrcweir 		{ MAP_CHAR_LEN("FrameIsAutoScroll"),		OWN_ATTR_FRAME_ISAUTOSCROLL , &::getBooleanCppuType() , ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
539cdf0e10cSrcweir 		{ MAP_CHAR_LEN("FrameIsBorder"),			OWN_ATTR_FRAME_ISBORDER		, &::getBooleanCppuType() , 0, 0},
540cdf0e10cSrcweir 		{ MAP_CHAR_LEN("FrameMarginWidth"),			OWN_ATTR_FRAME_MARGIN_WIDTH , &::getCppuType((const sal_Int32*)0),		0,		0},
541cdf0e10cSrcweir 		{ MAP_CHAR_LEN("FrameMarginHeight"),		OWN_ATTR_FRAME_MARGIN_HEIGHT, &::getCppuType((const sal_Int32*)0),		0,		0},
542cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"),			OWN_ATTR_TRANSFORMATION		, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
543cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),	OWN_ATTR_ZORDER				, &::getCppuType((const sal_Int32*)0),		0,		0},
544cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),	SDRATTR_LAYERID				, &::getCppuType((const sal_Int16*)0),		0,	0},
545cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),SDRATTR_LAYERNAME			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
546cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP			, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
547cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),	OWN_ATTR_LDNAME				, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
548cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_METAFILE),		OWN_ATTR_METAFILE			, SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence<sal_Int8>*)0)), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
549cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ThumbnailGraphicURL"),		OWN_ATTR_THUMBNAIL			, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
550cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),		SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
551cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),		SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
552cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_PERSISTNAME),	OWN_ATTR_PERSISTNAME		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
553cdf0e10cSrcweir 		{ MAP_CHAR_LEN("LinkURL"),					OWN_ATTR_OLE_LINKURL		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
554cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT,			&::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
555cdf0e10cSrcweir 		{ MAP_CHAR_LEN("VisibleArea"),				OWN_ATTR_OLE_VISAREA		, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0, 0},
556cdf0e10cSrcweir 		// #i68101#
557cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
558cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
559cdf0e10cSrcweir 		{0,0,0,0,0,0}
560cdf0e10cSrcweir 
561cdf0e10cSrcweir 	};
562cdf0e10cSrcweir 
563cdf0e10cSrcweir 	return aFramePropertyMap_Impl;
564cdf0e10cSrcweir }
565cdf0e10cSrcweir 
566cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxAppletPropertyMap()
567cdf0e10cSrcweir {
568cdf0e10cSrcweir     static SfxItemPropertyMapEntry aAppletPropertyMap_Impl[] =
569cdf0e10cSrcweir 	{
570cdf0e10cSrcweir 		{ MAP_CHAR_LEN("AppletCodeBase"),			OWN_ATTR_APPLET_CODEBASE	, &::getCppuType(( const ::rtl::OUString*)0), 0, 0},
571cdf0e10cSrcweir 		{ MAP_CHAR_LEN("AppletName"),				OWN_ATTR_APPLET_NAME		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0},
572cdf0e10cSrcweir 		{ MAP_CHAR_LEN("AppletCode"),				OWN_ATTR_APPLET_CODE		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0},
573cdf0e10cSrcweir 		{ MAP_CHAR_LEN("AppletCommands"),			OWN_ATTR_APPLET_COMMANDS	, SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >*)0)), 0, 0},
574cdf0e10cSrcweir         { MAP_CHAR_LEN("AppletDocBase"),            OWN_ATTR_APPLET_DOCBASE     , &::getCppuType(( const ::rtl::OUString*)0), 0, 0},
575cdf0e10cSrcweir 		{ MAP_CHAR_LEN("AppletIsScript"),			OWN_ATTR_APPLET_ISSCRIPT	, &::getBooleanCppuType(), 0, 0 },
576cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"),			OWN_ATTR_TRANSFORMATION		, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
577cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),	OWN_ATTR_ZORDER				, &::getCppuType((const sal_Int32*)0),		0,		0},
578cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),	SDRATTR_LAYERID				, &::getCppuType((const sal_Int16*)0),		0,	0},
579cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),SDRATTR_LAYERNAME			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
580cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP			, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
581cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),	OWN_ATTR_LDNAME				, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
582cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_METAFILE),		OWN_ATTR_METAFILE			, SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence<sal_Int8>*)0)), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
583cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ThumbnailGraphicURL"),		OWN_ATTR_THUMBNAIL			, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
584cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),		SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
585cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),		SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
586cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_PERSISTNAME),	OWN_ATTR_PERSISTNAME		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
587cdf0e10cSrcweir 		{ MAP_CHAR_LEN("LinkURL"),					OWN_ATTR_OLE_LINKURL		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
588cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT,			&::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
589cdf0e10cSrcweir 		{ MAP_CHAR_LEN("VisibleArea"),				OWN_ATTR_OLE_VISAREA		, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0, 0},
590cdf0e10cSrcweir 		// #i68101#
591cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
592cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
593cdf0e10cSrcweir 		{0,0,0,0,0,0}
594cdf0e10cSrcweir 
595cdf0e10cSrcweir 	};
596cdf0e10cSrcweir 
597cdf0e10cSrcweir 	return aAppletPropertyMap_Impl;
598cdf0e10cSrcweir }
599cdf0e10cSrcweir 
600cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxControlShapePropertyMap()
601cdf0e10cSrcweir {
602cdf0e10cSrcweir     static SfxItemPropertyMapEntry aControlPropertyMap_Impl[] =
603cdf0e10cSrcweir 	{
604cdf0e10cSrcweir 		// the following properties are mapped to the XControl Model of this shape
605cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTNAME),		0,	&::getCppuType((const ::rtl::OUString*)0),	0, 0 },
606cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTSTYLENAME),	0,	&::getCppuType((const ::rtl::OUString*)0),	0, 0 },
607cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTFAMILY),		0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
608cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTCHARSET),		0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
609cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_HEIGHT),			0,	&::getCppuType((const float*)0),			0, 0 },
610cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_FONTPITCH),		0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
611cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_POSTURE),			0,	&::getCppuType((const ::com::sun::star::awt::FontSlant*)0),0, 0 },
612cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_WEIGHT),			0,	&::getCppuType((const float*)0),			0, 0 },
613cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_UNDERLINE),		0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
614cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_STRIKEOUT),		0,  &::getCppuType((const sal_Int16*)0),		0, 0},
615cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_CHAR_COLOR),			0,	&::getCppuType((const sal_Int32*)0),		0, 0 },
616cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CharRelief"),						0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
617cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CharUnderlineColor"),				0,	&::getCppuType((const sal_Int32*)0),		0, 0 },
618cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CharKerning"),						0,	&::getCppuType((const sal_Int16*)0),	  	0, 0 },
619cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CharWordMode"),						0,	&::getBooleanCppuType(),					0, 0 },
620cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_EDIT_PARA_ADJUST),			0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
621cdf0e10cSrcweir         { MAP_CHAR_LEN("TextVerticalAdjust"),               0,  &::getCppuType((const TextVerticalAdjust*)0), MAYBEVOID, 0 },
622cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ControlBackground"),				0,	&::getCppuType((const sal_Int32*)0),		0, 0 },
623cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ControlBorder"),					0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
624cdf0e10cSrcweir         { MAP_CHAR_LEN("ControlBorderColor"),               0,  &::getCppuType((const sal_Int32*)0),        0, 0 },
625cdf0e10cSrcweir         { MAP_CHAR_LEN("ControlSymbolColor"),               0,  &::getCppuType((const sal_Int16*)0),        0, 0 },
626cdf0e10cSrcweir         { MAP_CHAR_LEN("ImageScaleMode"),                   0,  &::getCppuType((const sal_Int16*)0),        0, 0 },
627cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),		SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
628cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),		SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
629cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ControlTextEmphasis"),				0,	&::getCppuType((const sal_Int16*)0),		0, 0 },
630cdf0e10cSrcweir         { MAP_CHAR_LEN("ControlWritingMode"),               0,  &::cppu::UnoType< sal_Int16 >::get(), 0, 0},
631cdf0e10cSrcweir 		// the following properties are handled by SvxShape
632cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"),			OWN_ATTR_TRANSFORMATION		, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 },
633cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),	OWN_ATTR_ZORDER				, &::getCppuType((const sal_Int32*)0),		0,		0},
634cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),	SDRATTR_LAYERID				, &::getCppuType((const sal_Int16*)0),		0,	0},
635cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),SDRATTR_LAYERNAME			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
636cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP			, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
637cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),	OWN_ATTR_LDNAME				, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
638cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
639cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
640cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT,			&::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
641cdf0e10cSrcweir 		// #i68101#
642cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
643cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
644cdf0e10cSrcweir 		// #i112587#
645cdf0e10cSrcweir         { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_PRINTABLE),	SDRATTR_OBJPRINTABLE			, &::getBooleanCppuType(),						0,	0},
646cdf0e10cSrcweir         { MAP_CHAR_LEN("Visible"),						SDRATTR_OBJVISIBLE				, &::getBooleanCppuType(),						0,	0},
647cdf0e10cSrcweir 		{0,0,0,0,0,0}
648cdf0e10cSrcweir 	};
649cdf0e10cSrcweir 
650cdf0e10cSrcweir 	return aControlPropertyMap_Impl;
651cdf0e10cSrcweir }
652cdf0e10cSrcweir 
653cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxPageShapePropertyMap()
654cdf0e10cSrcweir {
655cdf0e10cSrcweir     static SfxItemPropertyMapEntry aPageShapePropertyMap_Impl[] =
656cdf0e10cSrcweir 	{
657cdf0e10cSrcweir 		{ MAP_CHAR_LEN("PageNumber"),				OWN_ATTR_PAGE_NUMBER		, &::getCppuType((const sal_Int32*)0),		0, 0},
658cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"),			OWN_ATTR_TRANSFORMATION		, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
659cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),	OWN_ATTR_ZORDER				, &::getCppuType((const sal_Int32*)0),		0, 0},
660cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),	SDRATTR_LAYERID				, &::getCppuType((const sal_Int16*)0),		0, 0},
661cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),SDRATTR_LAYERNAME			, &::getCppuType((const ::rtl::OUString*)0), 0,	0},
662cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP			, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
663cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),	OWN_ATTR_LDNAME				, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
664cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),		SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
665cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),		SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
666cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT,			&::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
667cdf0e10cSrcweir 		// #i68101#
668cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
669cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
670cdf0e10cSrcweir 		{0,0,0,0,0,0}
671cdf0e10cSrcweir 
672cdf0e10cSrcweir 	};
673cdf0e10cSrcweir 
674cdf0e10cSrcweir 	return aPageShapePropertyMap_Impl;
675cdf0e10cSrcweir }
676cdf0e10cSrcweir 
677cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxCaptionPropertyMap()
678cdf0e10cSrcweir {
679cdf0e10cSrcweir     static SfxItemPropertyMapEntry aCaptionPropertyMap_Impl[] =
680cdf0e10cSrcweir 	{
681cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionPoint"),				OWN_ATTR_CAPTION_POINT,		&::getCppuType((const com::sun::star::awt::Point*)0),	0, 0 },
682cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionType"),				SDRATTR_CAPTIONTYPE,		&::getCppuType((const sal_Int16*)0), 0, 0},
683cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionIsFixedAngle"),		SDRATTR_CAPTIONFIXEDANGLE,	&::getBooleanCppuType(), 0, 0},
684cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionAngle"),				SDRATTR_CAPTIONANGLE,		&::getCppuType((const sal_Int32*)0),	0,	0},
685cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionGap"),				SDRATTR_CAPTIONGAP,			&::getCppuType((const sal_Int32*)0),	0,	SFX_METRIC_ITEM},
686cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionEscapeDirection"),	SDRATTR_CAPTIONESCDIR,		&::getCppuType((const sal_Int32*)0),	0,	0},
687cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionIsEscapeRelative"),	SDRATTR_CAPTIONESCISREL,	&::getBooleanCppuType(), 0, 0},
688cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionEscapeRelative"),	SDRATTR_CAPTIONESCREL,		&::getCppuType((const sal_Int32*)0),	0,	0},
689cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionEscapeAbsolute"),	SDRATTR_CAPTIONESCABS,		&::getCppuType((const sal_Int32*)0),	0,	SFX_METRIC_ITEM},
690cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionLineLength"),		SDRATTR_CAPTIONLINELEN,		&::getCppuType((const sal_Int32*)0),	0,	SFX_METRIC_ITEM},
691cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CaptionIsFitLineLength"),	SDRATTR_CAPTIONFITLINELEN,	&::getBooleanCppuType(), 0, 0},
692cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
693cdf0e10cSrcweir 		FILL_PROPERTIES
694cdf0e10cSrcweir 		LINE_PROPERTIES
695cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
696cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
697cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
698cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
699cdf0e10cSrcweir 		SHADOW_PROPERTIES
700cdf0e10cSrcweir 		TEXT_PROPERTIES
701cdf0e10cSrcweir 		// #FontWork#
702cdf0e10cSrcweir 		FONTWORK_PROPERTIES
703cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
704cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),			EE_PARA_XMLATTRIBS,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
705cdf0e10cSrcweir 		{0,0,0,0,0,0}
706cdf0e10cSrcweir 
707cdf0e10cSrcweir 	};
708cdf0e10cSrcweir 
709cdf0e10cSrcweir 	return aCaptionPropertyMap_Impl;
710cdf0e10cSrcweir }
711cdf0e10cSrcweir 
712cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxCustomShapePropertyMap()
713cdf0e10cSrcweir {
714cdf0e10cSrcweir     static SfxItemPropertyMapEntry aCustomShapePropertyMap_Impl[] =
715cdf0e10cSrcweir 	{
716cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CustomShapeEngine"),			SDRATTR_CUSTOMSHAPE_ENGINE,			&::getCppuType((const ::rtl::OUString*)0),	0, 0 },
717cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CustomShapeData"),			SDRATTR_CUSTOMSHAPE_DATA,				&::getCppuType((const ::rtl::OUString*)0),  0, 0 },
718cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CustomShapeGeometry"),		SDRATTR_CUSTOMSHAPE_GEOMETRY,			SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >*)0)),  0, 0 },
719cdf0e10cSrcweir 		{ MAP_CHAR_LEN("CustomShapeGraphicURL"),		SDRATTR_CUSTOMSHAPE_REPLACEMENT_URL,	&::getCppuType((const ::rtl::OUString*)0),	0,	0},
720cdf0e10cSrcweir 		CUSTOMSHAPE_PROPERTIES
721cdf0e10cSrcweir 		FILL_PROPERTIES
722cdf0e10cSrcweir 		LINE_PROPERTIES
723cdf0e10cSrcweir 		LINE_PROPERTIES_START_END
724cdf0e10cSrcweir 		SHAPE_DESCRIPTOR_PROPERTIES
725cdf0e10cSrcweir 		MISC_OBJ_PROPERTIES
726cdf0e10cSrcweir 		LINKTARGET_PROPERTIES
727cdf0e10cSrcweir 		SHADOW_PROPERTIES
728cdf0e10cSrcweir 		TEXT_PROPERTIES
729cdf0e10cSrcweir 		{MAP_CHAR_LEN("UserDefinedAttributes"),		SDRATTR_XMLATTRIBUTES,		&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
730cdf0e10cSrcweir 		{MAP_CHAR_LEN("ParaUserDefinedAttributes"),	EE_PARA_XMLATTRIBS,			&::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >*)0)  , 		0,     0},
731cdf0e10cSrcweir 		{0,0,0,0,0,0}
732cdf0e10cSrcweir 
733cdf0e10cSrcweir 	};
734cdf0e10cSrcweir 	return aCustomShapePropertyMap_Impl;
735cdf0e10cSrcweir }
736cdf0e10cSrcweir 
737cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxMediaShapePropertyMap()
738cdf0e10cSrcweir {
739cdf0e10cSrcweir     static SfxItemPropertyMapEntry aMediaShapePropertyMap_Impl[] =
740cdf0e10cSrcweir 	{
741cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER), OWN_ATTR_ZORDER, &::getCppuType((const sal_Int32*)0), 0, 0},
742cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID), SDRATTR_LAYERID, &::getCppuType((const sal_Int16*)0), 0,	0},
743cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME), SDRATTR_LAYERNAME, &::getCppuType((const ::rtl::OUString*)0), 0, 0},
744cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
745cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME), OWN_ATTR_LDNAME, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
746cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"), OWN_ATTR_TRANSFORMATION, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 },
747cdf0e10cSrcweir 		{ MAP_CHAR_LEN("MediaURL"),	OWN_ATTR_MEDIA_URL, &::getCppuType((const ::rtl::OUString*)0), 0, 0},
748cdf0e10cSrcweir 		{ MAP_CHAR_LEN("PreferredSize"), OWN_ATTR_MEDIA_PREFERREDSIZE, &::getCppuType((const ::com::sun::star::awt::Size*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
749cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Loop"),	OWN_ATTR_MEDIA_LOOP, &::getCppuType((const sal_Bool*)0), 0, 0},
750cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Mute"),	OWN_ATTR_MEDIA_MUTE, &::getCppuType((const sal_Bool*)0), 0, 0},
751cdf0e10cSrcweir 		{ MAP_CHAR_LEN("VolumeDB"),	OWN_ATTR_MEDIA_VOLUMEDB, &::getCppuType((const sal_Int16*)0), 0, 0},
752cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Zoom"),	OWN_ATTR_MEDIA_ZOOM, &::getCppuType((const ::com::sun::star::media::ZoomLevel*)0), 0, 0},
753cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT), SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
754cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT), SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
755cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
756cdf0e10cSrcweir 		// #i68101#
757cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
758cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
759cdf0e10cSrcweir 		{0,0,0,0,0,0}
760cdf0e10cSrcweir 
761cdf0e10cSrcweir 	};
762cdf0e10cSrcweir 
763cdf0e10cSrcweir 	return aMediaShapePropertyMap_Impl;
764cdf0e10cSrcweir }
765cdf0e10cSrcweir 
766cdf0e10cSrcweir SfxItemPropertyMapEntry* ImplGetSvxTableShapePropertyMap()
767cdf0e10cSrcweir {
768cdf0e10cSrcweir     static SfxItemPropertyMapEntry aTableShapePropertyMap_Impl[] =
769cdf0e10cSrcweir 	{
770cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),		OWN_ATTR_ZORDER, &::getCppuType((const sal_Int32*)0), 0, 0},
771cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),		SDRATTR_LAYERID, &::getCppuType((const sal_Int16*)0), 0,	0},
772cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),	SDRATTR_LAYERNAME, &::getCppuType((const ::rtl::OUString*)0), 0, 0},
773cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),		OWN_ATTR_LDBITMAP, &::com::sun::star::awt::XBitmap::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
774cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),		OWN_ATTR_LDNAME, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
775cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Transformation"),				OWN_ATTR_TRANSFORMATION, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 },
776cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT),	SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
777cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT),	SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
778cdf0e10cSrcweir 	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT),	OWN_ATTR_BOUNDRECT, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
779cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
780cdf0e10cSrcweir 		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
781cdf0e10cSrcweir 		{ MAP_CHAR_LEN("Model"),						OWN_ATTR_OLEMODEL				, &::com::sun::star::table::XTable::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
782cdf0e10cSrcweir 		{ MAP_CHAR_LEN("TableTemplate"),				OWN_ATTR_TABLETEMPLATE			, &::com::sun::star::container::XIndexAccess::static_type(), 0, 0},
783cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UseFirstRowStyle"),				OWN_ATTR_TABLETEMPLATE_FIRSTROW, &::getBooleanCppuType(),0, 0},
784cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UseLastRowStyle"),				OWN_ATTR_TABLETEMPLATE_LASTROW, &::getBooleanCppuType(),0, 0},
785cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UseFirstColumnStyle"),			OWN_ATTR_TABLETEMPLATE_FIRSTCOLUMN, &::getBooleanCppuType(),0, 0},
786cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UseLastColumnStyle"),			OWN_ATTR_TABLETEMPLATE_LASTCOLUMN, &::getBooleanCppuType(),0, 0},
787cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UseBandingRowStyle"),			OWN_ATTR_TABLETEMPLATE_BANDINGROWS, &::getBooleanCppuType(),0, 0},
788cdf0e10cSrcweir 		{ MAP_CHAR_LEN("UseBandingColumnStyle"),		OWN_ATTR_TABLETEMPLATE_BANDINGCOULUMNS, &::getBooleanCppuType(),0, 0},
789cdf0e10cSrcweir 		{ MAP_CHAR_LEN("ReplacementGraphic"),			OWN_ATTR_BITMAP, &::com::sun::star::graphic::XGraphic::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
790cdf0e10cSrcweir 
791cdf0e10cSrcweir 		{0,0,0,0,0,0}
792cdf0e10cSrcweir 	};
793cdf0e10cSrcweir 
794cdf0e10cSrcweir 	return aTableShapePropertyMap_Impl;
795cdf0e10cSrcweir }
796cdf0e10cSrcweir 
797cdf0e10cSrcweir comphelper::PropertyMapEntry* ImplGetSvxDrawingDefaultsPropertyMap()
798cdf0e10cSrcweir {
799cdf0e10cSrcweir 	static comphelper::PropertyMapEntry aSvxDrawingDefaultsPropertyMap_Impl[] =
800cdf0e10cSrcweir 	{
801cdf0e10cSrcweir 		SHADOW_PROPERTIES
802cdf0e10cSrcweir 		LINE_PROPERTIES_DEFAULTS
803cdf0e10cSrcweir 		FILL_PROPERTIES_BMP
804cdf0e10cSrcweir 		FILL_PROPERTIES_DEFAULTS
805cdf0e10cSrcweir 		EDGERADIUS_PROPERTIES
806cdf0e10cSrcweir 		TEXT_PROPERTIES_DEFAULTS
807cdf0e10cSrcweir 		CONNECTOR_PROPERTIES
808cdf0e10cSrcweir 		SPECIAL_DIMENSIONING_PROPERTIES_DEFAULTS
809cdf0e10cSrcweir 		MISC_3D_OBJ_PROPERTIES
810cdf0e10cSrcweir 		SPECIAL_3DBACKSCALE_PROPERTIES
811cdf0e10cSrcweir 		{0,0,0,0,0,0}
812cdf0e10cSrcweir 
813cdf0e10cSrcweir 	};
814cdf0e10cSrcweir 
815cdf0e10cSrcweir 	return aSvxDrawingDefaultsPropertyMap_Impl;
816cdf0e10cSrcweir }
817cdf0e10cSrcweir 
818cdf0e10cSrcweir // OD 13.10.2003 #i18732#
819cdf0e10cSrcweir comphelper::PropertyMapEntry* ImplGetAdditionalWriterDrawingDefaultsPropertyMap()
820cdf0e10cSrcweir {
821cdf0e10cSrcweir     static comphelper::PropertyMapEntry aSvxAdditionalDefaultsPropertyMap_Impl[] =
822cdf0e10cSrcweir     {
823cdf0e10cSrcweir         { MAP_CHAR_LEN("IsFollowingTextFlow"), SID_SW_FOLLOW_TEXT_FLOW, &::getBooleanCppuType(), 0, 0},
824cdf0e10cSrcweir         {0,0,0,0,0,0}
825cdf0e10cSrcweir 
826cdf0e10cSrcweir     };
827cdf0e10cSrcweir 
828cdf0e10cSrcweir     return aSvxAdditionalDefaultsPropertyMap_Impl;
829cdf0e10cSrcweir }
830cdf0e10cSrcweir 
831cdf0e10cSrcweir // ---------------------------------------------------------------------
832cdf0e10cSrcweir 
833cdf0e10cSrcweir SvxUnoPropertyMapProvider aSvxMapProvider;
834cdf0e10cSrcweir 
835cdf0e10cSrcweir UHashMapEntry pSdrShapeIdentifierMap[] =
836cdf0e10cSrcweir {
837cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.RectangleShape"),		OBJ_RECT ),
838cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.EllipseShape"),			OBJ_CIRC ),
839cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.ControlShape"),			OBJ_UNO  ),
840cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.ConnectorShape"),		OBJ_EDGE ),
841cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.MeasureShape"),			OBJ_MEASURE ),
842cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.LineShape"),			OBJ_LINE ),
843cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.PolyPolygonShape"),		OBJ_POLY ),
844cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.PolyLineShape"),		OBJ_PLIN ),
845cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.OpenBezierShape"),		OBJ_PATHLINE ),
846cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.ClosedBezierShape"),	OBJ_PATHFILL ),
847cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.OpenFreeHandShape"),	OBJ_FREELINE ),
848cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.ClosedFreeHandShape"),	OBJ_FREEFILL ),
849cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.PolyPolygonPathShape"),	OBJ_PATHPOLY ),
850cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.PolyLinePathShape"),	OBJ_PATHPLIN ),
851cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.GraphicObjectShape"),	OBJ_GRAF ),
852cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.GroupShape"),			OBJ_GRUP ),
853cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.TextShape"),			OBJ_TEXT ),
854cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.OLE2Shape"),			OBJ_OLE2 ),
855cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.PageShape"),			OBJ_PAGE ),
856cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.CaptionShape"),			OBJ_CAPTION ),
857cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.FrameShape"),			OBJ_FRAME ),
858cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.PluginShape"),			OBJ_OLE2_PLUGIN ),
859cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.AppletShape"),			OBJ_OLE2_APPLET ),
860cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.CustomShape"),			OBJ_CUSTOMSHAPE ),
861cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.MediaShape"),			OBJ_MEDIA ),
862cdf0e10cSrcweir 
863cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.Shape3DSceneObject"),	E3D_POLYSCENE_ID  | E3D_INVENTOR_FLAG ),
864cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.Shape3DCubeObject"),	E3D_CUBEOBJ_ID    | E3D_INVENTOR_FLAG ),
865cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.Shape3DSphereObject"),	E3D_SPHEREOBJ_ID  | E3D_INVENTOR_FLAG ),
866cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.Shape3DLatheObject"),	E3D_LATHEOBJ_ID   | E3D_INVENTOR_FLAG ),
867cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.Shape3DExtrudeObject"),	E3D_EXTRUDEOBJ_ID | E3D_INVENTOR_FLAG ),
868cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM("com.sun.star.drawing.Shape3DPolygonObject"),	E3D_POLYGONOBJ_ID | E3D_INVENTOR_FLAG ),
869cdf0e10cSrcweir 	UHashMapEntry (RTL_CONSTASCII_STRINGPARAM(""),	0 )
870cdf0e10cSrcweir };
871cdf0e10cSrcweir 
872cdf0e10cSrcweir // ---------------------------------------------------------------------
873cdf0e10cSrcweir 
874cdf0e10cSrcweir UHashMap aSdrShapeIdentifierMap( pSdrShapeIdentifierMap );
875cdf0e10cSrcweir 
876cdf0e10cSrcweir /***********************************************************************
877cdf0e10cSrcweir * class UHashMap                                                       *
878cdf0e10cSrcweir ***********************************************************************/
879cdf0e10cSrcweir 
880cdf0e10cSrcweir UHashMap::UHashMap( UHashMapEntry* pMap )
881cdf0e10cSrcweir {
882cdf0e10cSrcweir 	while( pMap->aIdentifier.getLength() )
883cdf0e10cSrcweir 	{
884cdf0e10cSrcweir 		OUString aStr( pMap->aIdentifier );
885cdf0e10cSrcweir 		size_t nHash = aStr.hashCode() & (HASHARRAYSIZE-1);
886cdf0e10cSrcweir 
887cdf0e10cSrcweir 		m_aHashList[nHash].Insert(pMap);
888cdf0e10cSrcweir 		pMap++;
889cdf0e10cSrcweir 	}
890cdf0e10cSrcweir }
891cdf0e10cSrcweir 
892cdf0e10cSrcweir // ---------------------------------------------------------------------
893cdf0e10cSrcweir 
894cdf0e10cSrcweir sal_uInt32 UHashMap::getId( const OUString& rCompareString )
895cdf0e10cSrcweir {
896cdf0e10cSrcweir 	size_t nHash = rCompareString.hashCode() & (HASHARRAYSIZE-1);
897cdf0e10cSrcweir 
898cdf0e10cSrcweir 	UHashMapEntryList& rList = m_aHashList[nHash];
899cdf0e10cSrcweir 
900cdf0e10cSrcweir 	UHashMapEntry * pMap = rList.First();
901cdf0e10cSrcweir 
902cdf0e10cSrcweir 	while(pMap)
903cdf0e10cSrcweir 	{
904cdf0e10cSrcweir 		if( rCompareString == pMap->aIdentifier )
905cdf0e10cSrcweir 			return pMap->nId;
906cdf0e10cSrcweir 
907cdf0e10cSrcweir 		pMap = rList.Next();
908cdf0e10cSrcweir 	}
909cdf0e10cSrcweir 
910cdf0e10cSrcweir 	return UHASHMAP_NOTFOUND;
911cdf0e10cSrcweir }
912cdf0e10cSrcweir 
913cdf0e10cSrcweir /***********************************************************************
914cdf0e10cSrcweir * class SvxUnoPropertyMapProvider                                      *
915cdf0e10cSrcweir ***********************************************************************/
916cdf0e10cSrcweir 
917cdf0e10cSrcweir EXTERN_C
918cdf0e10cSrcweir #if defined( PM2 ) && (!defined( CSET ) && !defined ( MTW ) && !defined( WTC ))
919cdf0e10cSrcweir int _stdcall
920cdf0e10cSrcweir #else
921cdf0e10cSrcweir #ifdef WNT
922cdf0e10cSrcweir int _cdecl
923cdf0e10cSrcweir #else
924cdf0e10cSrcweir int
925cdf0e10cSrcweir #endif
926cdf0e10cSrcweir #endif
927cdf0e10cSrcweir Svx_CompareMap(const void* pSmaller, const void* pBigger )
928cdf0e10cSrcweir {
929cdf0e10cSrcweir     int nDiff = strcmp( ((const SfxItemPropertyMapEntry*)pSmaller)->pName,
930cdf0e10cSrcweir                         ((const SfxItemPropertyMapEntry*)pBigger)->pName );
931cdf0e10cSrcweir 	return nDiff;
932cdf0e10cSrcweir }
933cdf0e10cSrcweir 
934cdf0e10cSrcweir // ---------------------------------------------------------------------
935cdf0e10cSrcweir 
936cdf0e10cSrcweir SvxUnoPropertyMapProvider::SvxUnoPropertyMapProvider()
937cdf0e10cSrcweir {
938cdf0e10cSrcweir 	for(sal_uInt16 i=0;i<SVXMAP_END; i++)
939cdf0e10cSrcweir     {
940cdf0e10cSrcweir         aSetArr[i] = 0;
941cdf0e10cSrcweir         aMapArr[i] = 0;
942cdf0e10cSrcweir     }
943cdf0e10cSrcweir }
944cdf0e10cSrcweir 
945cdf0e10cSrcweir SvxUnoPropertyMapProvider::~SvxUnoPropertyMapProvider()
946cdf0e10cSrcweir {
947cdf0e10cSrcweir 	for(sal_uInt16 i=0;i<SVXMAP_END; i++)
948cdf0e10cSrcweir         delete aSetArr[i];
949cdf0e10cSrcweir }
950cdf0e10cSrcweir 
951cdf0e10cSrcweir // ---------------------------------------------------------------------
952cdf0e10cSrcweir 
953cdf0e10cSrcweir /*void SvxUnoPropertyMapProvider::Sort(sal_uInt16 nId)
954cdf0e10cSrcweir {
955cdf0e10cSrcweir     SfxItemPropertyMapEntry* pTemp = aMapArr[nId];
956cdf0e10cSrcweir 	sal_uInt16 i = 0;
957cdf0e10cSrcweir 	while(pTemp[i].pName) { i++; }
958cdf0e10cSrcweir     qsort(aMapArr[nId], i, sizeof(SfxItemPropertyMapEntry), Svx_CompareMap);
959cdf0e10cSrcweir }*/
960cdf0e10cSrcweir 
961cdf0e10cSrcweir // ---------------------------------------------------------------------
962cdf0e10cSrcweir 
963cdf0e10cSrcweir const SfxItemPropertyMapEntry* SvxUnoPropertyMapProvider::GetMap(sal_uInt16 nPropertyId)
964cdf0e10cSrcweir {
965cdf0e10cSrcweir 	DBG_ASSERT(nPropertyId < SVXMAP_END, "Id ?" );
966cdf0e10cSrcweir 	if(!aMapArr[nPropertyId]) {
967cdf0e10cSrcweir 		switch(nPropertyId) {
968cdf0e10cSrcweir 			case SVXMAP_SHAPE: aMapArr[SVXMAP_SHAPE]=ImplGetSvxShapePropertyMap(); break;
969cdf0e10cSrcweir 			case SVXMAP_CONNECTOR: aMapArr[SVXMAP_CONNECTOR]=ImplGetSvxConnectorPropertyMap(); break;
970cdf0e10cSrcweir 			case SVXMAP_DIMENSIONING: aMapArr[SVXMAP_DIMENSIONING]=ImplGetSvxDimensioningPropertyMap(); break;
971cdf0e10cSrcweir 			case SVXMAP_CIRCLE: aMapArr[SVXMAP_CIRCLE]=ImplGetSvxCirclePropertyMap(); break;
972cdf0e10cSrcweir 			case SVXMAP_POLYPOLYGON: aMapArr[SVXMAP_POLYPOLYGON]=ImplGetSvxPolyPolygonPropertyMap(); break;
973cdf0e10cSrcweir 			case SVXMAP_POLYPOLYGONBEZIER: aMapArr[SVXMAP_POLYPOLYGONBEZIER]=ImplGetSvxPolyPolygonBezierPropertyMap(); break;
974cdf0e10cSrcweir 			case SVXMAP_GRAPHICOBJECT: aMapArr[SVXMAP_GRAPHICOBJECT]=ImplGetSvxGraphicObjectPropertyMap(); break;
975cdf0e10cSrcweir 			case SVXMAP_3DSCENEOBJECT: aMapArr[SVXMAP_3DSCENEOBJECT]=ImplGetSvx3DSceneObjectPropertyMap(); break;
976cdf0e10cSrcweir 			case SVXMAP_3DCUBEOBJEKT: aMapArr[SVXMAP_3DCUBEOBJEKT]=ImplGetSvx3DCubeObjectPropertyMap(); break;
977cdf0e10cSrcweir 			case SVXMAP_3DSPHEREOBJECT: aMapArr[SVXMAP_3DSPHEREOBJECT]=ImplGetSvx3DSphereObjectPropertyMap(); break;
978cdf0e10cSrcweir 			case SVXMAP_3DLATHEOBJECT: aMapArr[SVXMAP_3DLATHEOBJECT]=ImplGetSvx3DLatheObjectPropertyMap(); break;
979cdf0e10cSrcweir 			case SVXMAP_3DEXTRUDEOBJECT: aMapArr[SVXMAP_3DEXTRUDEOBJECT]=ImplGetSvx3DExtrudeObjectPropertyMap(); break;
980cdf0e10cSrcweir 			case SVXMAP_3DPOLYGONOBJECT: aMapArr[SVXMAP_3DPOLYGONOBJECT]=ImplGetSvx3DPolygonObjectPropertyMap(); break;
981cdf0e10cSrcweir 			case SVXMAP_ALL: aMapArr[SVXMAP_ALL]=ImplGetSvxAllPropertyMap(); break;
982cdf0e10cSrcweir 			case SVXMAP_GROUP: aMapArr[SVXMAP_GROUP]=ImplGetSvxGroupPropertyMap(); break;
983cdf0e10cSrcweir 			case SVXMAP_CAPTION: aMapArr[SVXMAP_CAPTION]=ImplGetSvxCaptionPropertyMap(); break;
984cdf0e10cSrcweir 			case SVXMAP_OLE2: aMapArr[SVXMAP_OLE2]=ImplGetSvxOle2PropertyMap(); break;
985cdf0e10cSrcweir 			case SVXMAP_PLUGIN: aMapArr[SVXMAP_PLUGIN]=ImplGetSvxPluginPropertyMap(); break;
986cdf0e10cSrcweir 			case SVXMAP_FRAME: aMapArr[SVXMAP_FRAME]=ImplGetSvxFramePropertyMap(); break;
987cdf0e10cSrcweir 			case SVXMAP_APPLET: aMapArr[SVXMAP_APPLET]=ImplGetSvxAppletPropertyMap(); break;
988cdf0e10cSrcweir 			case SVXMAP_CONTROL: aMapArr[SVXMAP_CONTROL]=ImplGetSvxControlShapePropertyMap(); break;
989cdf0e10cSrcweir 			case SVXMAP_TEXT: aMapArr[SVXMAP_TEXT]=ImplGetSvxTextShapePropertyMap(); break;
990cdf0e10cSrcweir 			case SVXMAP_CUSTOMSHAPE: aMapArr[SVXMAP_CUSTOMSHAPE]=ImplGetSvxCustomShapePropertyMap(); break;
991cdf0e10cSrcweir 			case SVXMAP_MEDIA: aMapArr[SVXMAP_MEDIA]=ImplGetSvxMediaShapePropertyMap(); break;
992cdf0e10cSrcweir 			case SVXMAP_TABLE: aMapArr[SVXMAP_TABLE]=ImplGetSvxTableShapePropertyMap(); break;
993cdf0e10cSrcweir             case SVXMAP_PAGE: aMapArr[SVXMAP_PAGE] = ImplGetSvxPageShapePropertyMap(); break;
994cdf0e10cSrcweir 
995cdf0e10cSrcweir 			default:
996cdf0e10cSrcweir 				DBG_ERROR( "Unknown property map for SvxUnoPropertyMapProvider!" );
997cdf0e10cSrcweir 		}
998cdf0e10cSrcweir //		Sort(nPropertyId);
999cdf0e10cSrcweir 	}
1000cdf0e10cSrcweir 	return aMapArr[nPropertyId];
1001cdf0e10cSrcweir }
1002cdf0e10cSrcweir const SvxItemPropertySet* SvxUnoPropertyMapProvider::GetPropertySet(sal_uInt16 nPropertyId, SfxItemPool& rPool)
1003cdf0e10cSrcweir {
1004cdf0e10cSrcweir     if( !aSetArr[nPropertyId] )
1005cdf0e10cSrcweir         aSetArr[nPropertyId] = new SvxItemPropertySet( GetMap( nPropertyId ), rPool );
1006cdf0e10cSrcweir     return aSetArr[nPropertyId];
1007cdf0e10cSrcweir }
1008cdf0e10cSrcweir 
1009cdf0e10cSrcweir // #####################################################################
1010cdf0e10cSrcweir 
1011cdf0e10cSrcweir /** maps the API constant MeasureUnit to a vcl MapUnit enum.
1012cdf0e10cSrcweir 	Returns false if conversion is not supported.
1013cdf0e10cSrcweir 
1014cdf0e10cSrcweir 	@cl: for warnings01 I found out that this method never worked so I thin
1015cdf0e10cSrcweir 		 it is not used at all
1016cdf0e10cSrcweir sal_Bool SvxMeasureUnitToMapUnit( const short eApi, int& eVcl ) throw()
1017cdf0e10cSrcweir {
1018cdf0e10cSrcweir 	switch( eVcl )
1019cdf0e10cSrcweir 	{
1020cdf0e10cSrcweir 	case util::MeasureUnit::MM_100TH:		eVcl = MAP_100TH_MM;	break;
1021cdf0e10cSrcweir 	case util::MeasureUnit::MM_10TH:		eVcl = MAP_10TH_MM;		break;
1022cdf0e10cSrcweir 	case util::MeasureUnit::MM:				eVcl = MAP_MM;			break;
1023cdf0e10cSrcweir 	case util::MeasureUnit::CM:				eVcl = MAP_CM;			break;
1024cdf0e10cSrcweir 	case util::MeasureUnit::INCH_1000TH:	eVcl = MAP_1000TH_INCH; break;
1025cdf0e10cSrcweir 	case util::MeasureUnit::INCH_100TH:		eVcl = MAP_100TH_INCH;	break;
1026cdf0e10cSrcweir 	case util::MeasureUnit::INCH_10TH:		eVcl = MAP_10TH_INCH;	break;
1027cdf0e10cSrcweir 	case util::MeasureUnit::INCH:			eVcl = MAP_INCH;		break;
1028cdf0e10cSrcweir 	case util::MeasureUnit::POINT:			eVcl = MAP_POINT;		break;
1029cdf0e10cSrcweir 	case util::MeasureUnit::TWIP:			eVcl = MAP_TWIP;		break;
1030cdf0e10cSrcweir 	case util::MeasureUnit::PERCENT:		eVcl = MAP_RELATIVE;	break;
1031cdf0e10cSrcweir 	default:
1032cdf0e10cSrcweir 		return false;
1033cdf0e10cSrcweir 	}
1034cdf0e10cSrcweir 
1035cdf0e10cSrcweir 	return true;
1036cdf0e10cSrcweir }
1037cdf0e10cSrcweir */
1038cdf0e10cSrcweir 
1039cdf0e10cSrcweir /** maps the vcl MapUnit enum to a API constant MeasureUnit.
1040cdf0e10cSrcweir 	Returns false if conversion is not supported.
1041cdf0e10cSrcweir */
1042cdf0e10cSrcweir sal_Bool SvxMapUnitToMeasureUnit( const short eVcl, short& eApi ) throw()
1043cdf0e10cSrcweir {
1044cdf0e10cSrcweir 	switch( eVcl )
1045cdf0e10cSrcweir 	{
1046cdf0e10cSrcweir 	case MAP_100TH_MM:		eApi = util::MeasureUnit::MM_100TH;		break;
1047cdf0e10cSrcweir 	case MAP_10TH_MM:		eApi = util::MeasureUnit::MM_10TH;		break;
1048cdf0e10cSrcweir 	case MAP_MM:			eApi = util::MeasureUnit::MM;			break;
1049cdf0e10cSrcweir 	case MAP_CM:			eApi = util::MeasureUnit::CM;			break;
1050cdf0e10cSrcweir 	case MAP_1000TH_INCH:	eApi = util::MeasureUnit::INCH_1000TH;	break;
1051cdf0e10cSrcweir 	case MAP_100TH_INCH:	eApi = util::MeasureUnit::INCH_100TH;	break;
1052cdf0e10cSrcweir 	case MAP_10TH_INCH:		eApi = util::MeasureUnit::INCH_10TH;	break;
1053cdf0e10cSrcweir 	case MAP_INCH:			eApi = util::MeasureUnit::INCH;			break;
1054cdf0e10cSrcweir 	case MAP_POINT:			eApi = util::MeasureUnit::POINT;		break;
1055cdf0e10cSrcweir 	case MAP_TWIP:			eApi = util::MeasureUnit::TWIP;			break;
1056cdf0e10cSrcweir 	case MAP_RELATIVE:		eApi = util::MeasureUnit::PERCENT;		break;
1057cdf0e10cSrcweir 	default:
1058cdf0e10cSrcweir 		return false;
1059cdf0e10cSrcweir 	}
1060cdf0e10cSrcweir 
1061cdf0e10cSrcweir 	return true;
1062cdf0e10cSrcweir }
1063cdf0e10cSrcweir 
1064cdf0e10cSrcweir /** maps the API constant MeasureUnit to a vcl MapUnit enum.
1065cdf0e10cSrcweir 	Returns false if conversion is not supported.
1066cdf0e10cSrcweir */
1067cdf0e10cSrcweir 
1068cdf0e10cSrcweir sal_Bool SvxMeasureUnitToFieldUnit( const short eApi, short& eVcl ) throw()
1069cdf0e10cSrcweir {
1070cdf0e10cSrcweir 	switch( eApi )
1071cdf0e10cSrcweir 	{
1072cdf0e10cSrcweir 	case util::MeasureUnit::MM:			eVcl = FUNIT_MM;		break;
1073cdf0e10cSrcweir 	case util::MeasureUnit::CM:			eVcl = FUNIT_CM;		break;
1074cdf0e10cSrcweir 	case util::MeasureUnit::M:			eVcl = FUNIT_M;			break;
1075cdf0e10cSrcweir 	case util::MeasureUnit::KM:			eVcl = FUNIT_KM;		break;
1076cdf0e10cSrcweir 	case util::MeasureUnit::TWIP:		eVcl = FUNIT_TWIP;		break;
1077cdf0e10cSrcweir 	case util::MeasureUnit::POINT:		eVcl = FUNIT_POINT;		break;
1078cdf0e10cSrcweir 	case util::MeasureUnit::PICA:		eVcl = FUNIT_PICA;		break;
1079cdf0e10cSrcweir 	case util::MeasureUnit::INCH:		eVcl = FUNIT_INCH;		break;
1080cdf0e10cSrcweir 	case util::MeasureUnit::FOOT:		eVcl = FUNIT_FOOT;		break;
1081cdf0e10cSrcweir 	case util::MeasureUnit::MILE:		eVcl = FUNIT_MILE;		break;
1082cdf0e10cSrcweir 	case util::MeasureUnit::PERCENT:	eVcl = FUNIT_PERCENT;	break;
1083cdf0e10cSrcweir 	case util::MeasureUnit::MM_100TH:	eVcl = FUNIT_100TH_MM;	break;
1084cdf0e10cSrcweir 	default:
1085cdf0e10cSrcweir 		return sal_False;
1086cdf0e10cSrcweir 	}
1087cdf0e10cSrcweir 
1088cdf0e10cSrcweir 	return sal_True;
1089cdf0e10cSrcweir }
1090cdf0e10cSrcweir 
1091cdf0e10cSrcweir /** maps the vcl MapUnit enum to a API constant MeasureUnit.
1092cdf0e10cSrcweir 	Returns false if conversion is not supported.
1093cdf0e10cSrcweir */
1094cdf0e10cSrcweir sal_Bool SvxFieldUnitToMeasureUnit( const short eVcl, short& eApi ) throw()
1095cdf0e10cSrcweir {
1096cdf0e10cSrcweir 	switch( eVcl )
1097cdf0e10cSrcweir 	{
1098cdf0e10cSrcweir 	case FUNIT_MM:			eApi = util::MeasureUnit::MM;		break;
1099cdf0e10cSrcweir 	case FUNIT_CM:			eApi = util::MeasureUnit::CM;		break;
1100cdf0e10cSrcweir 	case FUNIT_M:			eApi = util::MeasureUnit::M;		break;
1101cdf0e10cSrcweir 	case FUNIT_KM:			eApi = util::MeasureUnit::KM;		break;
1102cdf0e10cSrcweir 	case FUNIT_TWIP:		eApi = util::MeasureUnit::TWIP;		break;
1103cdf0e10cSrcweir 	case FUNIT_POINT:		eApi = util::MeasureUnit::POINT;	break;
1104cdf0e10cSrcweir 	case FUNIT_PICA:		eApi = util::MeasureUnit::PICA;		break;
1105cdf0e10cSrcweir 	case FUNIT_INCH:		eApi = util::MeasureUnit::INCH;		break;
1106cdf0e10cSrcweir 	case FUNIT_FOOT:		eApi = util::MeasureUnit::FOOT;		break;
1107cdf0e10cSrcweir 	case FUNIT_MILE:		eApi = util::MeasureUnit::MILE;		break;
1108cdf0e10cSrcweir 	case FUNIT_PERCENT:		eApi = util::MeasureUnit::PERCENT;	break;
1109cdf0e10cSrcweir 	case FUNIT_100TH_MM:	eApi = util::MeasureUnit::MM_100TH;	break;
1110cdf0e10cSrcweir 	default:
1111cdf0e10cSrcweir 		return sal_False;
1112cdf0e10cSrcweir 	}
1113cdf0e10cSrcweir 
1114cdf0e10cSrcweir 	return sal_True;
1115cdf0e10cSrcweir }
1116cdf0e10cSrcweir 
1117cdf0e10cSrcweir bool SvxUnoGetResourceRanges( const short nWhich, int& nApiResIds, int& nIntResIds, int& nCount ) throw()
1118cdf0e10cSrcweir {
1119cdf0e10cSrcweir 	switch( nWhich )
1120cdf0e10cSrcweir 	{
1121cdf0e10cSrcweir 	case XATTR_FILLBITMAP:
1122cdf0e10cSrcweir 		nApiResIds = RID_SVXSTR_BMP_DEF_START;
1123cdf0e10cSrcweir 		nIntResIds = RID_SVXSTR_BMP_START;
1124cdf0e10cSrcweir 		nCount = RID_SVXSTR_BMP_DEF_END - RID_SVXSTR_BMP_DEF_START + 1;
1125cdf0e10cSrcweir 		break;
1126cdf0e10cSrcweir 
1127cdf0e10cSrcweir 	case XATTR_LINEDASH:
1128cdf0e10cSrcweir 		nApiResIds = RID_SVXSTR_DASH_DEF_START;
1129cdf0e10cSrcweir 		nIntResIds = RID_SVXSTR_DASH_START;
1130cdf0e10cSrcweir 		nCount = RID_SVXSTR_DASH_DEF_END - RID_SVXSTR_DASH_DEF_START + 1;
1131cdf0e10cSrcweir 		break;
1132cdf0e10cSrcweir 
1133cdf0e10cSrcweir 	case XATTR_LINESTART:
1134cdf0e10cSrcweir 	case XATTR_LINEEND:
1135cdf0e10cSrcweir 		nApiResIds = RID_SVXSTR_LEND_DEF_START;
1136cdf0e10cSrcweir 		nIntResIds = RID_SVXSTR_LEND_START;
1137cdf0e10cSrcweir 		nCount = RID_SVXSTR_LEND_DEF_END - RID_SVXSTR_LEND_DEF_START + 1;
1138cdf0e10cSrcweir 		break;
1139cdf0e10cSrcweir 
1140cdf0e10cSrcweir 	case XATTR_FILLGRADIENT:
1141cdf0e10cSrcweir 		nApiResIds = RID_SVXSTR_GRDT_DEF_START;
1142cdf0e10cSrcweir 		nIntResIds = RID_SVXSTR_GRDT_START;
1143cdf0e10cSrcweir 		nCount = RID_SVXSTR_GRDT_DEF_END - RID_SVXSTR_GRDT_DEF_START + 1;
1144cdf0e10cSrcweir 		break;
1145cdf0e10cSrcweir 
1146cdf0e10cSrcweir 	case XATTR_FILLHATCH:
1147cdf0e10cSrcweir 		nApiResIds = RID_SVXSTR_HATCH_DEF_START;
1148cdf0e10cSrcweir 		nIntResIds = RID_SVXSTR_HATCH_START;
1149cdf0e10cSrcweir 		nCount = RID_SVXSTR_HATCH_DEF_END - RID_SVXSTR_HATCH_DEF_START + 1;
1150cdf0e10cSrcweir 		break;
1151cdf0e10cSrcweir 
1152cdf0e10cSrcweir 	case XATTR_FILLFLOATTRANSPARENCE:
1153cdf0e10cSrcweir 		nApiResIds = RID_SVXSTR_TRASNGR_DEF_START;
1154cdf0e10cSrcweir 		nIntResIds = RID_SVXSTR_TRASNGR_START;
1155cdf0e10cSrcweir 		nCount = RID_SVXSTR_TRASNGR_DEF_END - RID_SVXSTR_TRASNGR_DEF_START + 1;
1156cdf0e10cSrcweir 		break;
1157cdf0e10cSrcweir 
1158cdf0e10cSrcweir 	default:
1159cdf0e10cSrcweir 		return sal_False;
1160cdf0e10cSrcweir 	}
1161cdf0e10cSrcweir 
1162cdf0e10cSrcweir 	return sal_True;
1163cdf0e10cSrcweir }
1164cdf0e10cSrcweir 
1165cdf0e10cSrcweir /*sal_Int16 SvxUnoGetWhichIdForNamedProperty( const ::rtl::OUString & rPropName )
1166cdf0e10cSrcweir {
1167cdf0e10cSrcweir     sal_Int16 nWhich = 0;
1168cdf0e10cSrcweir 
1169cdf0e10cSrcweir     const SfxItemPropertyMapEntry* pMap = aSvxMapProvider.GetMap( SVXMAP_SHAPE );
1170cdf0e10cSrcweir     if( pMap )
1171cdf0e10cSrcweir     {
1172cdf0e10cSrcweir         const SfxItemPropertyMapEntry* pFound = SfxItemPropertyMapEntry::getByName( pMap, rPropName );
1173cdf0e10cSrcweir         if( pFound )
1174cdf0e10cSrcweir             nWhich = pFound->nWID;
1175cdf0e10cSrcweir     }
1176cdf0e10cSrcweir 
1177cdf0e10cSrcweir     return nWhich;
1178cdf0e10cSrcweir } */
1179cdf0e10cSrcweir 
1180cdf0e10cSrcweir bool SvxUnoConvertResourceString( int nSourceResIds, int nDestResIds, int nCount, String& rString ) throw()
1181cdf0e10cSrcweir {
1182cdf0e10cSrcweir 	// first, calculate the search string length without an optional number behind the name
1183cdf0e10cSrcweir 	xub_StrLen nLength = rString.Len();
1184cdf0e10cSrcweir 	while( nLength > 0 )
1185cdf0e10cSrcweir 	{
1186cdf0e10cSrcweir 		const sal_Unicode nChar = rString.GetChar( nLength - 1 );
1187cdf0e10cSrcweir 		if( (nChar < '0') || (nChar > '9') )
1188cdf0e10cSrcweir 			break;
1189cdf0e10cSrcweir 
1190cdf0e10cSrcweir 		nLength--;
1191cdf0e10cSrcweir 	}
1192cdf0e10cSrcweir 
1193cdf0e10cSrcweir 	// if we cut off a number, also cut of some spaces
1194cdf0e10cSrcweir 	if( nLength != rString.Len() )
1195cdf0e10cSrcweir 	{
1196cdf0e10cSrcweir 		while( nLength > 0 )
1197cdf0e10cSrcweir 		{
1198cdf0e10cSrcweir 			const sal_Unicode nChar = rString.GetChar( nLength - 1 );
1199cdf0e10cSrcweir 			if( nChar != ' ' )
1200cdf0e10cSrcweir 				break;
1201cdf0e10cSrcweir 
1202cdf0e10cSrcweir 			nLength--;
1203cdf0e10cSrcweir 		}
1204cdf0e10cSrcweir 	}
1205cdf0e10cSrcweir 
1206cdf0e10cSrcweir 	const String aShortString( rString.Copy( 0, nLength ) );
1207cdf0e10cSrcweir 
1208cdf0e10cSrcweir 	int i;
1209cdf0e10cSrcweir 	for( i = 0; i < nCount; i++ )
1210cdf0e10cSrcweir 	{
1211cdf0e10cSrcweir 		sal_uInt16 nResId = (sal_uInt16)(nSourceResIds + i);
1212cdf0e10cSrcweir 		const ResId aRes( SVX_RES(nResId));
1213cdf0e10cSrcweir 		const String aCompare( aRes );
1214cdf0e10cSrcweir 		if( aShortString == aCompare )
1215cdf0e10cSrcweir 		{
1216cdf0e10cSrcweir 			sal_uInt16 nNewResId = (sal_uInt16)(nDestResIds + i);
1217cdf0e10cSrcweir 			ResId aNewRes( SVX_RES( nNewResId ));
1218cdf0e10cSrcweir 			rString.Replace( 0, aShortString.Len(), String( aNewRes ) );
1219cdf0e10cSrcweir 			return sal_True;
1220cdf0e10cSrcweir 		}
1221cdf0e10cSrcweir 		else if( rString == aCompare )
1222cdf0e10cSrcweir 		{
1223cdf0e10cSrcweir 			sal_uInt16 nNewResId = (sal_uInt16)(nDestResIds + i);
1224cdf0e10cSrcweir 			ResId aNewRes( SVX_RES( nNewResId ));
1225cdf0e10cSrcweir 			rString = String( aNewRes );
1226cdf0e10cSrcweir 			return sal_True;
1227cdf0e10cSrcweir 		}
1228cdf0e10cSrcweir 	}
1229cdf0e10cSrcweir 
1230cdf0e10cSrcweir 	return sal_False;
1231cdf0e10cSrcweir }
1232cdf0e10cSrcweir 
1233cdf0e10cSrcweir static sal_uInt16 __READONLY_DATA SvxUnoColorNameDefResId[] =
1234cdf0e10cSrcweir {
1235cdf0e10cSrcweir 	RID_SVXSTR_BLUEGREY_DEF,
1236cdf0e10cSrcweir 	RID_SVXSTR_BLACK_DEF,
1237cdf0e10cSrcweir 	RID_SVXSTR_BLUE_DEF,
1238cdf0e10cSrcweir 	RID_SVXSTR_GREEN_DEF,
1239cdf0e10cSrcweir 	RID_SVXSTR_CYAN_DEF,
1240cdf0e10cSrcweir 	RID_SVXSTR_RED_DEF,
1241cdf0e10cSrcweir 	RID_SVXSTR_MAGENTA_DEF,
1242cdf0e10cSrcweir 	RID_SVXSTR_BROWN_DEF,
1243cdf0e10cSrcweir 	RID_SVXSTR_GREY_DEF,
1244cdf0e10cSrcweir 	RID_SVXSTR_LIGHTGREY_DEF,
1245cdf0e10cSrcweir 	RID_SVXSTR_LIGHTBLUE_DEF,
1246cdf0e10cSrcweir 	RID_SVXSTR_LIGHTGREEN_DEF,
1247cdf0e10cSrcweir 	RID_SVXSTR_LIGHTCYAN_DEF,
1248cdf0e10cSrcweir 	RID_SVXSTR_LIGHTRED_DEF,
1249cdf0e10cSrcweir 	RID_SVXSTR_LIGHTMAGENTA_DEF,
1250cdf0e10cSrcweir 	RID_SVXSTR_YELLOW_DEF,
1251cdf0e10cSrcweir 	RID_SVXSTR_WHITE_DEF,
1252cdf0e10cSrcweir 	RID_SVXSTR_ORANGE_DEF,
1253cdf0e10cSrcweir 	RID_SVXSTR_VIOLET_DEF,
1254cdf0e10cSrcweir 	RID_SVXSTR_BORDEAUX_DEF,
1255cdf0e10cSrcweir 	RID_SVXSTR_PALE_YELLOW_DEF,
1256cdf0e10cSrcweir 	RID_SVXSTR_PALE_GREEN_DEF,
1257cdf0e10cSrcweir 	RID_SVXSTR_DKVIOLET_DEF,
1258cdf0e10cSrcweir 	RID_SVXSTR_SALMON_DEF,
1259cdf0e10cSrcweir 	RID_SVXSTR_SEABLUE_DEF,
1260cdf0e10cSrcweir 	RID_SVXSTR_COLOR_SUN_DEF,
1261cdf0e10cSrcweir 	RID_SVXSTR_COLOR_CHART_DEF
1262cdf0e10cSrcweir };
1263cdf0e10cSrcweir 
1264cdf0e10cSrcweir static sal_uInt16 __READONLY_DATA SvxUnoColorNameResId[] =
1265cdf0e10cSrcweir {
1266cdf0e10cSrcweir 	RID_SVXSTR_BLUEGREY,
1267cdf0e10cSrcweir 	RID_SVXSTR_BLACK,
1268cdf0e10cSrcweir 	RID_SVXSTR_BLUE,
1269cdf0e10cSrcweir 	RID_SVXSTR_GREEN,
1270cdf0e10cSrcweir 	RID_SVXSTR_CYAN,
1271cdf0e10cSrcweir 	RID_SVXSTR_RED,
1272cdf0e10cSrcweir 	RID_SVXSTR_MAGENTA,
1273cdf0e10cSrcweir 	RID_SVXSTR_BROWN,
1274cdf0e10cSrcweir 	RID_SVXSTR_GREY,
1275cdf0e10cSrcweir 	RID_SVXSTR_LIGHTGREY,
1276cdf0e10cSrcweir 	RID_SVXSTR_LIGHTBLUE,
1277cdf0e10cSrcweir 	RID_SVXSTR_LIGHTGREEN,
1278cdf0e10cSrcweir 	RID_SVXSTR_LIGHTCYAN,
1279cdf0e10cSrcweir 	RID_SVXSTR_LIGHTRED,
1280cdf0e10cSrcweir 	RID_SVXSTR_LIGHTMAGENTA,
1281cdf0e10cSrcweir 	RID_SVXSTR_YELLOW,
1282cdf0e10cSrcweir 	RID_SVXSTR_WHITE,
1283cdf0e10cSrcweir 	RID_SVXSTR_ORANGE,
1284cdf0e10cSrcweir 	RID_SVXSTR_VIOLET,
1285cdf0e10cSrcweir 	RID_SVXSTR_BORDEAUX,
1286cdf0e10cSrcweir 	RID_SVXSTR_PALE_YELLOW,
1287cdf0e10cSrcweir 	RID_SVXSTR_PALE_GREEN,
1288cdf0e10cSrcweir 	RID_SVXSTR_DKVIOLET,
1289cdf0e10cSrcweir 	RID_SVXSTR_SALMON,
1290cdf0e10cSrcweir 	RID_SVXSTR_SEABLUE,
1291cdf0e10cSrcweir 	RID_SVXSTR_COLOR_SUN,
1292cdf0e10cSrcweir     RID_SVXSTR_COLOR_CHART
1293cdf0e10cSrcweir };
1294cdf0e10cSrcweir 
1295cdf0e10cSrcweir bool SvxUnoConvertResourceString( sal_uInt16* pSourceResIds, sal_uInt16* pDestResIds, int nCount, String& rString ) throw()
1296cdf0e10cSrcweir {
1297cdf0e10cSrcweir 	int i = 0;
1298cdf0e10cSrcweir 
1299cdf0e10cSrcweir 	for( i = 0; i < nCount; i++ )
1300cdf0e10cSrcweir 	{
1301cdf0e10cSrcweir 		String aStrDefName = SVX_RESSTR( pSourceResIds[i] );
1302cdf0e10cSrcweir 		if( rString.Search( aStrDefName ) == 0 )
1303cdf0e10cSrcweir 		{
1304cdf0e10cSrcweir 			String aReplace = SVX_RESSTR( pDestResIds[i] );
1305cdf0e10cSrcweir 			rString.Replace( 0, aStrDefName.Len(), aReplace );
1306cdf0e10cSrcweir 			return true;
1307cdf0e10cSrcweir 		}
1308cdf0e10cSrcweir 	}
1309cdf0e10cSrcweir 
1310cdf0e10cSrcweir 	return false;
1311cdf0e10cSrcweir }
1312cdf0e10cSrcweir 
1313cdf0e10cSrcweir /** if the given name is a predefined name for the current language it is replaced by
1314cdf0e10cSrcweir 	the corresponding api name.
1315cdf0e10cSrcweir */
1316cdf0e10cSrcweir void SvxUnogetApiNameForItem( const sal_Int16 nWhich, const String& rInternalName, rtl::OUString& rApiName ) throw()
1317cdf0e10cSrcweir {
1318cdf0e10cSrcweir #ifndef SVX_LIGHT
1319cdf0e10cSrcweir 	String aNew = rInternalName;
1320cdf0e10cSrcweir 
1321cdf0e10cSrcweir 	if( nWhich == XATTR_LINECOLOR )
1322cdf0e10cSrcweir 	{
1323cdf0e10cSrcweir 		if( SvxUnoConvertResourceString( (sal_uInt16*)SvxUnoColorNameResId, (sal_uInt16*)SvxUnoColorNameDefResId, sizeof( SvxUnoColorNameResId ) / sizeof( sal_uInt16 ), aNew ) )
1324cdf0e10cSrcweir 		{
1325cdf0e10cSrcweir 			rApiName = aNew;
1326cdf0e10cSrcweir 			return;
1327cdf0e10cSrcweir 		}
1328cdf0e10cSrcweir 	}
1329cdf0e10cSrcweir 	else
1330cdf0e10cSrcweir 	{
1331cdf0e10cSrcweir 		int nApiResIds;
1332cdf0e10cSrcweir 		int nIntResIds;
1333cdf0e10cSrcweir 		int nCount;
1334cdf0e10cSrcweir 
1335cdf0e10cSrcweir 		if( SvxUnoGetResourceRanges( nWhich, nApiResIds, nIntResIds, nCount ) )
1336cdf0e10cSrcweir 		{
1337cdf0e10cSrcweir 			if(SvxUnoConvertResourceString( nIntResIds, nApiResIds, nCount, aNew ) )
1338cdf0e10cSrcweir 			{
1339cdf0e10cSrcweir 				rApiName = aNew;
1340cdf0e10cSrcweir 				return;
1341cdf0e10cSrcweir 			}
1342cdf0e10cSrcweir 		}
1343cdf0e10cSrcweir 	}
1344cdf0e10cSrcweir #endif
1345cdf0e10cSrcweir 
1346cdf0e10cSrcweir 	// just use previous name, if nothing else was found.
1347cdf0e10cSrcweir 	rApiName = rInternalName;
1348cdf0e10cSrcweir }
1349cdf0e10cSrcweir 
1350cdf0e10cSrcweir /** if the given name is a predefined api name it is replaced by the predefined name
1351cdf0e10cSrcweir 	for the current	language.
1352cdf0e10cSrcweir */
1353cdf0e10cSrcweir void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& rApiName, String& rInternalName ) throw()
1354cdf0e10cSrcweir {
1355cdf0e10cSrcweir #ifndef SVX_LIGHT
1356cdf0e10cSrcweir 	String aNew = rApiName;
1357cdf0e10cSrcweir 
1358cdf0e10cSrcweir 	if( nWhich == XATTR_LINECOLOR )
1359cdf0e10cSrcweir 	{
1360cdf0e10cSrcweir 		if( SvxUnoConvertResourceString( (sal_uInt16*)SvxUnoColorNameDefResId, (sal_uInt16*)SvxUnoColorNameResId, sizeof( SvxUnoColorNameResId ) / sizeof( sal_uInt16 ), aNew ) )
1361cdf0e10cSrcweir 		{
1362cdf0e10cSrcweir 			rInternalName = aNew;
1363cdf0e10cSrcweir 			return;
1364cdf0e10cSrcweir 		}
1365cdf0e10cSrcweir 	}
1366cdf0e10cSrcweir 	else
1367cdf0e10cSrcweir 	{
1368cdf0e10cSrcweir 		int nApiResIds;
1369cdf0e10cSrcweir 		int nIntResIds;
1370cdf0e10cSrcweir 		int nCount;
1371cdf0e10cSrcweir 
1372cdf0e10cSrcweir 		if( SvxUnoGetResourceRanges( nWhich, nApiResIds, nIntResIds, nCount ) )
1373cdf0e10cSrcweir 		{
1374cdf0e10cSrcweir 			if(SvxUnoConvertResourceString( nApiResIds, nIntResIds, nCount, aNew ) )
1375cdf0e10cSrcweir 			{
1376cdf0e10cSrcweir 				rInternalName = aNew;
1377cdf0e10cSrcweir 				return;
1378cdf0e10cSrcweir 			}
1379cdf0e10cSrcweir 		}
1380cdf0e10cSrcweir 	}
1381cdf0e10cSrcweir #endif // !SVX_LIGHT
1382cdf0e10cSrcweir 
1383cdf0e10cSrcweir 	// just use previous name, if nothing else was found.
1384cdf0e10cSrcweir 	rInternalName = rApiName;
1385cdf0e10cSrcweir }
1386cdf0e10cSrcweir 
1387cdf0e10cSrcweir ///////////////////////////////////////////////////////////////////////
1388cdf0e10cSrcweir 
1389cdf0e10cSrcweir comphelper::PropertySetInfo* SvxPropertySetInfoPool::getOrCreate( sal_Int32 nServiceId ) throw()
1390cdf0e10cSrcweir {
1391cdf0e10cSrcweir 	vos::OGuard aGuard( Application::GetSolarMutex() );
1392cdf0e10cSrcweir 
1393cdf0e10cSrcweir 	if( nServiceId > SVXUNO_SERVICEID_LASTID )
1394cdf0e10cSrcweir 	{
1395cdf0e10cSrcweir 		DBG_ERROR( "unknown service id!" );
1396cdf0e10cSrcweir 		return NULL;
1397cdf0e10cSrcweir 	}
1398cdf0e10cSrcweir 
1399cdf0e10cSrcweir 	if( mpInfos[ nServiceId ] == NULL )
1400cdf0e10cSrcweir 	{
1401cdf0e10cSrcweir 		mpInfos[nServiceId] = new comphelper::PropertySetInfo();
1402cdf0e10cSrcweir 		mpInfos[nServiceId]->acquire();
1403cdf0e10cSrcweir 
1404cdf0e10cSrcweir 		switch( nServiceId )
1405cdf0e10cSrcweir 		{
1406cdf0e10cSrcweir 		case SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS:
1407cdf0e10cSrcweir 			mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS]->add( ImplGetSvxDrawingDefaultsPropertyMap() );
1408cdf0e10cSrcweir 			break;
1409cdf0e10cSrcweir 		case SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER:
1410cdf0e10cSrcweir 			mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->add( ImplGetSvxDrawingDefaultsPropertyMap() );
1411cdf0e10cSrcweir 			mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->remove( OUString( RTL_CONSTASCII_USTRINGPARAM( UNO_NAME_EDIT_PARA_IS_HANGING_PUNCTUATION ) ) );
1412cdf0e10cSrcweir             // OD 13.10.2003 #i18732# - add property map for writer item 'IsFollowingTextFlow'
1413cdf0e10cSrcweir             mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->add( ImplGetAdditionalWriterDrawingDefaultsPropertyMap() );
1414cdf0e10cSrcweir             break;
1415cdf0e10cSrcweir 
1416cdf0e10cSrcweir 		default:
1417cdf0e10cSrcweir 			DBG_ERROR( "unknown service id!" );
1418cdf0e10cSrcweir 		}
1419cdf0e10cSrcweir 	}
1420cdf0e10cSrcweir 
1421cdf0e10cSrcweir 	return mpInfos[ nServiceId ];
1422cdf0e10cSrcweir }
1423cdf0e10cSrcweir 
1424cdf0e10cSrcweir comphelper::PropertySetInfo* SvxPropertySetInfoPool::mpInfos[SVXUNO_SERVICEID_LASTID+1] = { NULL };
1425cdf0e10cSrcweir 
1426