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

Generated by: LCOV version 1.10