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