LCOV - code coverage report
Current view: top level - svx/source/unodraw - unoprov.cxx (source / functions) Hit Total Coverage
Test: commit 0e63ca4fde4e446f346e35849c756a30ca294aab Lines: 699 777 90.0 %
Date: 2014-04-11 Functions: 71 74 95.9 %
Legend: Lines: hit not hit

          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: */

Generated by: LCOV version 1.10