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

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

Generated by: LCOV version 1.10