LCOV - code coverage report
Current view: top level - xmloff/source/style - prhdlfac.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 183 199 92.0 %
Date: 2012-08-25 Functions: 6 7 85.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 176 288 61.1 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : 
      30                 :            : #include <com/sun/star/drawing/ColorMode.hpp>
      31                 :            : #include <com/sun/star/text/HorizontalAdjust.hpp>
      32                 :            : #include <com/sun/star/text/WritingMode2.hpp>
      33                 :            : 
      34                 :            : #include <tools/debug.hxx>
      35                 :            : 
      36                 :            : #include <xmloff/prhdlfac.hxx>
      37                 :            : #include <xmloff/xmltypes.hxx>
      38                 :            : #include <xmloff/xmltoken.hxx>
      39                 :            : #include "xmlbahdl.hxx"
      40                 :            : #include <xmloff/NamedBoolPropertyHdl.hxx>
      41                 :            : #include <xmloff/XMLConstantsPropertyHandler.hxx>
      42                 :            : #include "cdouthdl.hxx"
      43                 :            : #include "csmaphdl.hxx"
      44                 :            : #include "fonthdl.hxx"
      45                 :            : #include "kernihdl.hxx"
      46                 :            : #include <postuhdl.hxx>
      47                 :            : #include "shadwhdl.hxx"
      48                 :            : #include "shdwdhdl.hxx"
      49                 :            : #include "undlihdl.hxx"
      50                 :            : #include "weighhdl.hxx"
      51                 :            : #include "breakhdl.hxx"
      52                 :            : #include <adjushdl.hxx>
      53                 :            : #include <escphdl.hxx>
      54                 :            : #include <chrhghdl.hxx>
      55                 :            : #include <chrlohdl.hxx>
      56                 :            : #include <lspachdl.hxx>
      57                 :            : #include <bordrhdl.hxx>
      58                 :            : #include <tabsthdl.hxx>
      59                 :            : #include <xmloff/EnumPropertyHdl.hxx>
      60                 :            : #include "AttributeContainerHandler.hxx"
      61                 :            : #include "durationhdl.hxx"
      62                 :            : #include "XMLRectangleMembersHandler.hxx"
      63                 :            : #include "DrawAspectHdl.hxx"
      64                 :            : 
      65                 :            : using namespace ::com::sun::star;
      66                 :            : using namespace ::xmloff::token;
      67                 :            : 
      68                 :            : SvXMLEnumMapEntry aXML_ColorMode_EnumMap[] =
      69                 :            : {
      70                 :            :     { XML_GREYSCALE,    drawing::ColorMode_GREYS },
      71                 :            :     { XML_MONO,         drawing::ColorMode_MONO },
      72                 :            :     { XML_WATERMARK,    drawing::ColorMode_WATERMARK },
      73                 :            :     { XML_STANDARD,     drawing::ColorMode_STANDARD },
      74                 :            :     { XML_TOKEN_INVALID, 0 }
      75                 :            : };
      76                 :            : 
      77                 :            : SvXMLEnumMapEntry const aXML_HorizontalAdjust_Enum[] =
      78                 :            : {
      79                 :            :     { XML_LEFT,     text::HorizontalAdjust_LEFT },
      80                 :            :     { XML_CENTER,   text::HorizontalAdjust_CENTER },
      81                 :            :     { XML_RIGHT,    text::HorizontalAdjust_RIGHT },
      82                 :            :     { XML_TOKEN_INVALID, 0 }
      83                 :            : };
      84                 :            : 
      85                 :            : // aXML_WritingDirection_Enum is used with and without 'page'
      86                 :            : // attribute, so you'll find uses of aXML_WritingDirection_Enum
      87                 :            : // directly, as well as &(aXML_WritingDirection_Enum[1])
      88                 :            : SvXMLEnumMapEntry const aXML_WritingDirection_Enum[] =
      89                 :            : {
      90                 :            :     // aXML_WritingDirection_Enum
      91                 :            :     { XML_PAGE,     text::WritingMode2::PAGE },
      92                 :            : 
      93                 :            :     // &(aXML_WritingDirection_Enum[1])
      94                 :            :     { XML_LR_TB,    text::WritingMode2::LR_TB },
      95                 :            :     { XML_RL_TB,    text::WritingMode2::RL_TB },
      96                 :            :     { XML_TB_RL,    text::WritingMode2::TB_RL },
      97                 :            :     { XML_TB_LR,    text::WritingMode2::TB_LR },
      98                 :            : 
      99                 :            :     // alternative names of the above, as accepted by XSL
     100                 :            :     { XML_LR,       text::WritingMode2::LR_TB },
     101                 :            :     { XML_RL,       text::WritingMode2::RL_TB },
     102                 :            :     { XML_TB,       text::WritingMode2::TB_RL },
     103                 :            : 
     104                 :            :     { XML_TOKEN_INVALID, 0 }
     105                 :            : };
     106                 :            : 
     107                 :            : 
     108                 :            : ///////////////////////////////////////////////////////////////////////////
     109                 :            : //
     110                 :            : // Dtor
     111                 :            : //
     112                 :       9743 : XMLPropertyHandlerFactory::~XMLPropertyHandlerFactory()
     113                 :            : {
     114 [ +  - ][ +  - ]:     384807 :     for( CacheMap::iterator pPos = maHandlerCache.begin(); pPos != maHandlerCache.end(); ++pPos )
                 [ +  + ]
     115 [ +  - ][ +  - ]:     375064 :         delete pPos->second;
                 [ +  - ]
     116         [ -  + ]:       9743 : }
     117                 :            : 
     118                 :            : ///////////////////////////////////////////////////////////////////////////
     119                 :            : //
     120                 :            : // Interface
     121                 :            : //
     122                 :     764236 : const XMLPropertyHandler* XMLPropertyHandlerFactory::GetPropertyHandler( sal_Int32 nType ) const
     123                 :            : {
     124                 :            :     DBG_ASSERT( (nType & ~((sal_uInt32)MID_FLAG_MASK)) == 0,
     125                 :            :                 "GetPropertyHandler called with flags in type" );
     126                 :     764236 :     return GetBasicHandler( nType );
     127                 :            : }
     128                 :            : 
     129                 :            : ///////////////////////////////////////////////////////////////////////////
     130                 :            : //
     131                 :            : // Helper-methods to create and cache PropertyHandler
     132                 :            : //
     133                 :     764236 : XMLPropertyHandler* XMLPropertyHandlerFactory::GetHdlCache( sal_Int32 nType ) const
     134                 :            : {
     135                 :     764236 :     XMLPropertyHandler* pRet = NULL;
     136                 :            : 
     137 [ +  - ][ +  - ]:     764236 :     if( maHandlerCache.find( nType ) != maHandlerCache.end() )
                 [ +  + ]
     138         [ +  - ]:     387562 :         pRet = maHandlerCache.find( nType )->second;
     139                 :            : 
     140                 :     764236 :     return pRet;
     141                 :            : }
     142                 :            : 
     143                 :     376674 : void XMLPropertyHandlerFactory::PutHdlCache( sal_Int32 nType, const XMLPropertyHandler* pHdl ) const
     144                 :            : {
     145                 :            :     // Don't be wondered about the following construct. The  sense is to be able to provide a const-
     146                 :            :     // method as class-interface.
     147                 :     376674 :     ((XMLPropertyHandlerFactory*)this)->maHandlerCache[ nType ] = (XMLPropertyHandler*)pHdl;
     148                 :     376674 : }
     149                 :            : 
     150                 :     764236 : const XMLPropertyHandler* XMLPropertyHandlerFactory::GetBasicHandler( sal_Int32 nType ) const
     151                 :            : {
     152                 :     764236 :     const XMLPropertyHandler* pPropHdl = GetHdlCache( nType );
     153                 :            : 
     154         [ +  + ]:     764236 :     if( !pPropHdl )
     155                 :            :     {
     156                 :     376674 :         pPropHdl = CreatePropertyHandler( nType );
     157                 :            : 
     158         [ +  + ]:     376674 :         if( pPropHdl )
     159                 :     242094 :             PutHdlCache( nType, pPropHdl );
     160                 :            :     }
     161                 :            : 
     162                 :     764236 :     return pPropHdl;
     163                 :            : }
     164                 :            : 
     165                 :     376674 : const XMLPropertyHandler* XMLPropertyHandlerFactory::CreatePropertyHandler( sal_Int32 nType )
     166                 :            : {
     167                 :     376674 :     XMLPropertyHandler* pPropHdl = NULL;
     168                 :            : 
     169   [ +  -  +  -  :     376674 :     switch( nType )
          +  +  +  +  +  
          +  -  +  +  +  
          +  +  +  +  +  
          -  -  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          -  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  -  
             -  +  +  + ]
     170                 :            :     {
     171                 :            :         case XML_TYPE_BOOL :
     172         [ +  - ]:       7446 :             pPropHdl = new XMLBoolPropHdl;
     173                 :       7446 :             break;
     174                 :            :         case XML_TYPE_BOOL_FALSE :
     175         [ #  # ]:          0 :             pPropHdl = new XMLBoolFalsePropHdl;
     176                 :          0 :             break;
     177                 :            :         case XML_TYPE_MEASURE :
     178         [ +  - ]:       7194 :             pPropHdl = new XMLMeasurePropHdl( 4 );
     179                 :       7194 :             break;
     180                 :            :         case XML_TYPE_MEASURE8 :
     181         [ #  # ]:          0 :             pPropHdl = new XMLMeasurePropHdl( 1 );
     182                 :          0 :             break;
     183                 :            :         case XML_TYPE_MEASURE16:
     184         [ +  - ]:       1175 :             pPropHdl = new XMLMeasurePropHdl( 2 );
     185                 :       1175 :             break;
     186                 :            :         case XML_TYPE_PERCENT :
     187         [ +  - ]:       3132 :             pPropHdl = new XMLPercentPropHdl( 4 );
     188                 :       3132 :             break;
     189                 :            :         case XML_TYPE_PERCENT8 :
     190         [ +  - ]:       1241 :             pPropHdl = new XMLPercentPropHdl( 1 );
     191                 :       1241 :             break;
     192                 :            :         case XML_TYPE_PERCENT16 :
     193         [ +  - ]:       5112 :             pPropHdl = new XMLPercentPropHdl( 2 );
     194                 :       5112 :             break;
     195                 :            :         case XML_TYPE_DOUBLE_PERCENT :
     196         [ +  - ]:       1876 :             pPropHdl = new XMLDoublePercentPropHdl();
     197                 :       1876 :             break;
     198                 :            :         case XML_TYPE_NEG_PERCENT :
     199         [ +  - ]:        890 :             pPropHdl = new XMLNegPercentPropHdl( 4 );
     200                 :        890 :             break;
     201                 :            :         case XML_TYPE_NEG_PERCENT8 :
     202         [ #  # ]:          0 :             pPropHdl = new XMLNegPercentPropHdl( 1 );
     203                 :          0 :             break;
     204                 :            :         case XML_TYPE_NEG_PERCENT16 :
     205         [ +  - ]:       1876 :             pPropHdl = new XMLNegPercentPropHdl( 2 );
     206                 :       1876 :             break;
     207                 :            :         case XML_TYPE_MEASURE_PX :
     208         [ +  - ]:       1876 :             pPropHdl = new XMLMeasurePxPropHdl( 4 );
     209                 :       1876 :             break;
     210                 :            :         case XML_TYPE_STRING :
     211         [ +  - ]:       6845 :             pPropHdl = new XMLStringPropHdl;
     212                 :       6845 :             break;
     213                 :            :         case XML_TYPE_COLOR :
     214         [ +  - ]:       4531 :             pPropHdl = new XMLColorPropHdl;
     215                 :       4531 :             break;
     216                 :            :         case XML_TYPE_HEX :
     217         [ +  - ]:       2981 :             pPropHdl = new XMLHexPropHdl;
     218                 :       2981 :             break;
     219                 :            :         case XML_TYPE_NUMBER :
     220         [ +  - ]:       4085 :             pPropHdl = new XMLNumberPropHdl( 4 );
     221                 :       4085 :             break;
     222                 :            :         case XML_TYPE_NUMBER8 :
     223         [ +  - ]:       2242 :             pPropHdl = new XMLNumberPropHdl( 1 );
     224                 :       2242 :             break;
     225                 :            :         case XML_TYPE_NUMBER16:
     226         [ +  - ]:       3750 :             pPropHdl = new XMLNumberPropHdl( 2 );
     227                 :       3750 :             break;
     228                 :            :         case XML_TYPE_NUMBER_NONE :
     229         [ #  # ]:          0 :             pPropHdl = new XMLNumberNonePropHdl;
     230                 :          0 :             break;
     231                 :            :         case XML_TYPE_NUMBER8_NONE :
     232         [ #  # ]:          0 :             pPropHdl = new XMLNumberNonePropHdl( 1 );
     233                 :          0 :             break;
     234                 :            :         case XML_TYPE_NUMBER16_NONE :
     235         [ +  - ]:       2242 :             pPropHdl = new XMLNumberNonePropHdl( 2 );
     236                 :       2242 :             break;
     237                 :            :         case XML_TYPE_DOUBLE :
     238         [ +  - ]:         33 :             pPropHdl = new XMLDoublePropHdl;
     239                 :         33 :             break;
     240                 :            :         case XML_TYPE_NBOOL :
     241         [ +  - ]:         45 :             pPropHdl = new XMLNBoolPropHdl;
     242                 :         45 :             break;
     243                 :            :         case XML_TYPE_COLORTRANSPARENT :
     244         [ +  - ]:       5517 :             pPropHdl = new XMLColorTransparentPropHdl;
     245                 :       5517 :             break;
     246                 :            :         case XML_TYPE_ISTRANSPARENT :
     247         [ +  - ]:       5517 :             pPropHdl = new XMLIsTransparentPropHdl;
     248                 :       5517 :             break;
     249                 :            :         case XML_TYPE_COLORAUTO :
     250         [ +  - ]:       3541 :             pPropHdl = new XMLColorAutoPropHdl;
     251                 :       3541 :             break;
     252                 :            :         case XML_TYPE_ISAUTOCOLOR :
     253         [ +  - ]:       2981 :             pPropHdl = new XMLIsAutoColorPropHdl;
     254                 :       2981 :             break;
     255                 :            :         case XML_TYPE_BUILDIN_CMP_ONLY :
     256         [ +  - ]:       5668 :             pPropHdl = new XMLCompareOnlyPropHdl;
     257                 :       5668 :             break;
     258                 :            : 
     259                 :            :         case XML_TYPE_RECTANGLE_LEFT :
     260                 :            :         case XML_TYPE_RECTANGLE_TOP :
     261                 :            :         case XML_TYPE_RECTANGLE_WIDTH :
     262                 :            :         case XML_TYPE_RECTANGLE_HEIGHT :
     263         [ +  - ]:       3560 :             pPropHdl = new XMLRectangleMembersHdl( nType );
     264                 :       3560 :             break;
     265                 :            : 
     266                 :            :         case XML_TYPE_TEXT_CROSSEDOUT_TYPE:
     267         [ +  - ]:       3386 :             pPropHdl = new XMLCrossedOutTypePropHdl ;
     268                 :       3386 :             break;
     269                 :            :         case XML_TYPE_TEXT_CROSSEDOUT_STYLE:
     270         [ +  - ]:       3386 :             pPropHdl = new XMLCrossedOutStylePropHdl ;
     271                 :       3386 :             break;
     272                 :            :         case XML_TYPE_TEXT_CROSSEDOUT_WIDTH:
     273         [ +  - ]:       3386 :             pPropHdl = new XMLCrossedOutWidthPropHdl ;
     274                 :       3386 :             break;
     275                 :            :         case XML_TYPE_TEXT_CROSSEDOUT_TEXT:
     276         [ +  - ]:       3386 :             pPropHdl = new XMLCrossedOutTextPropHdl ;
     277                 :       3386 :             break;
     278                 :            :         case XML_TYPE_TEXT_BOOLCROSSEDOUT:
     279                 :            :             pPropHdl = new XMLNamedBoolPropertyHdl(
     280                 :            :                 GetXMLToken(XML_SOLID),
     281         [ #  # ]:          0 :                 GetXMLToken(XML_NONE) );
     282                 :          0 :             break;
     283                 :            :         case XML_TYPE_TEXT_ESCAPEMENT:
     284         [ +  - ]:       2981 :             pPropHdl = new XMLEscapementPropHdl;
     285                 :       2981 :             break;
     286                 :            :         case XML_TYPE_TEXT_ESCAPEMENT_HEIGHT:
     287         [ +  - ]:       2981 :             pPropHdl = new XMLEscapementHeightPropHdl;
     288                 :       2981 :             break;
     289                 :            :         case XML_TYPE_TEXT_CASEMAP:
     290         [ +  - ]:       2981 :             pPropHdl = new XMLCaseMapPropHdl;
     291                 :       2981 :             break;
     292                 :            :         case XML_TYPE_TEXT_CASEMAP_VAR:
     293         [ +  - ]:       2981 :             pPropHdl = new XMLCaseMapVariantHdl;
     294                 :       2981 :             break;
     295                 :            :         case XML_TYPE_TEXT_FONTFAMILYNAME:
     296         [ +  - ]:       2981 :             pPropHdl = new XMLFontFamilyNamePropHdl;
     297                 :       2981 :             break;
     298                 :            :         case XML_TYPE_TEXT_FONTFAMILY:
     299         [ +  - ]:       3386 :             pPropHdl = new XMLFontFamilyPropHdl;
     300                 :       3386 :             break;
     301                 :            :         case XML_TYPE_TEXT_FONTENCODING:
     302         [ +  - ]:       3386 :             pPropHdl = new XMLFontEncodingPropHdl;
     303                 :       3386 :             break;
     304                 :            :         case XML_TYPE_TEXT_FONTPITCH:
     305         [ +  - ]:       3386 :             pPropHdl = new XMLFontPitchPropHdl;
     306                 :       3386 :             break;
     307                 :            :         case XML_TYPE_TEXT_KERNING:
     308         [ +  - ]:       2981 :             pPropHdl = new XMLKerningPropHdl;
     309                 :       2981 :             break;
     310                 :            :         case XML_TYPE_TEXT_POSTURE:
     311         [ +  - ]:       3386 :             pPropHdl = new XMLPosturePropHdl;
     312                 :       3386 :             break;
     313                 :            :         case XML_TYPE_TEXT_SHADOWED:
     314         [ +  - ]:       2981 :             pPropHdl = new XMLShadowedPropHdl;
     315                 :       2981 :             break;
     316                 :            :         case XML_TYPE_TEXT_UNDERLINE_TYPE:
     317         [ +  - ]:       3386 :             pPropHdl = new XMLUnderlineTypePropHdl;
     318                 :       3386 :             break;
     319                 :            :         case XML_TYPE_TEXT_UNDERLINE_STYLE:
     320         [ +  - ]:       3386 :             pPropHdl = new XMLUnderlineStylePropHdl;
     321                 :       3386 :             break;
     322                 :            :         case XML_TYPE_TEXT_UNDERLINE_WIDTH:
     323         [ +  - ]:       3386 :             pPropHdl = new XMLUnderlineWidthPropHdl;
     324                 :       3386 :             break;
     325                 :            :         case XML_TYPE_TEXT_UNDERLINE_COLOR:
     326         [ +  - ]:       3386 :             pPropHdl = new XMLColorTransparentPropHdl( XML_FONT_COLOR );
     327                 :       3386 :             break;
     328                 :            :         case XML_TYPE_TEXT_UNDERLINE_HASCOLOR:
     329                 :            :             pPropHdl = new XMLIsTransparentPropHdl( XML_FONT_COLOR,
     330         [ +  - ]:       3341 :                                                      sal_False );
     331                 :       3341 :             break;
     332                 :            :         case XML_TYPE_TEXT_OVERLINE_TYPE:
     333         [ +  - ]:       2981 :             pPropHdl = new XMLUnderlineTypePropHdl;
     334                 :       2981 :             break;
     335                 :            :         case XML_TYPE_TEXT_OVERLINE_STYLE:
     336         [ +  - ]:       2981 :             pPropHdl = new XMLUnderlineStylePropHdl;
     337                 :       2981 :             break;
     338                 :            :         case XML_TYPE_TEXT_OVERLINE_WIDTH:
     339         [ +  - ]:       2981 :             pPropHdl = new XMLUnderlineWidthPropHdl;
     340                 :       2981 :             break;
     341                 :            :         case XML_TYPE_TEXT_OVERLINE_COLOR:
     342         [ +  - ]:       2981 :             pPropHdl = new XMLColorTransparentPropHdl( XML_FONT_COLOR );
     343                 :       2981 :             break;
     344                 :            :         case XML_TYPE_TEXT_OVERLINE_HASCOLOR:
     345                 :            :             pPropHdl = new XMLIsTransparentPropHdl( XML_FONT_COLOR,
     346         [ +  - ]:       2981 :                                                      sal_False );
     347                 :       2981 :             break;
     348                 :            :         case XML_TYPE_TEXT_WEIGHT:
     349         [ +  - ]:       3386 :             pPropHdl = new XMLFontWeightPropHdl;
     350                 :       3386 :             break;
     351                 :            :         case XML_TYPE_TEXT_SPLIT:
     352                 :            :             pPropHdl = new XMLNamedBoolPropertyHdl(
     353                 :            :                 GetXMLToken(XML_AUTO),
     354         [ +  - ]:       2242 :                 GetXMLToken(XML_ALWAYS) );
     355                 :       2242 :             break;
     356                 :            :         case XML_TYPE_TEXT_BREAKBEFORE:
     357         [ +  - ]:       2242 :             pPropHdl = new XMLFmtBreakBeforePropHdl;
     358                 :       2242 :             break;
     359                 :            :         case XML_TYPE_TEXT_BREAKAFTER:
     360         [ +  - ]:       2242 :             pPropHdl = new XMLFmtBreakAfterPropHdl;
     361                 :       2242 :             break;
     362                 :            :         case XML_TYPE_TEXT_SHADOW:
     363         [ +  - ]:       4043 :             pPropHdl = new XMLShadowPropHdl;
     364                 :       4043 :             break;
     365                 :            :         case XML_TYPE_TEXT_ADJUST:
     366         [ +  - ]:       2242 :             pPropHdl = new XMLParaAdjustPropHdl;
     367                 :       2242 :             break;
     368                 :            :         case XML_TYPE_TEXT_ADJUSTLAST:
     369         [ +  - ]:       2242 :             pPropHdl = new XMLLastLineAdjustPropHdl;
     370                 :       2242 :             break;
     371                 :            :         case XML_TYPE_CHAR_HEIGHT:
     372         [ +  - ]:       3026 :             pPropHdl = new XMLCharHeightHdl;
     373                 :       3026 :             break;
     374                 :            :         case XML_TYPE_CHAR_HEIGHT_PROP:
     375         [ +  - ]:       2981 :             pPropHdl = new XMLCharHeightPropHdl;
     376                 :       2981 :             break;
     377                 :            :         case XML_TYPE_CHAR_HEIGHT_DIFF:
     378         [ +  - ]:       2981 :             pPropHdl = new XMLCharHeightDiffHdl;
     379                 :       2981 :             break;
     380                 :            :         case XML_TYPE_CHAR_LANGUAGE:
     381         [ +  - ]:       2981 :             pPropHdl = new XMLCharLanguageHdl;
     382                 :       2981 :             break;
     383                 :            :         case XML_TYPE_CHAR_COUNTRY:
     384         [ +  - ]:       2981 :             pPropHdl = new XMLCharCountryHdl;
     385                 :       2981 :             break;
     386                 :            :         case XML_TYPE_LINE_SPACE_FIXED:
     387         [ +  - ]:       2242 :             pPropHdl = new XMLLineHeightHdl;
     388                 :       2242 :             break;
     389                 :            :         case XML_TYPE_LINE_SPACE_MINIMUM:
     390         [ +  - ]:       2242 :             pPropHdl = new XMLLineHeightAtLeastHdl;
     391                 :       2242 :             break;
     392                 :            :         case XML_TYPE_LINE_SPACE_DISTANCE:
     393         [ +  - ]:       2242 :             pPropHdl = new XMLLineSpacingHdl;
     394                 :       2242 :             break;
     395                 :            :         case XML_TYPE_BORDER_WIDTH:
     396         [ +  - ]:       4043 :             pPropHdl = new XMLBorderWidthHdl;
     397                 :       4043 :             break;
     398                 :            :         case XML_TYPE_BORDER:
     399         [ +  - ]:       4043 :             pPropHdl = new XMLBorderHdl;
     400                 :       4043 :             break;
     401                 :            :         case XML_TYPE_TEXT_TABSTOP:
     402         [ +  - ]:       2242 :             pPropHdl = new XMLTabStopPropHdl;
     403                 :       2242 :             break;
     404                 :            :         case XML_TYPE_ATTRIBUTE_CONTAINER:
     405         [ +  - ]:       4933 :             pPropHdl = new XMLAttributeContainerHandler;
     406                 :       4933 :             break;
     407                 :            :         case XML_TYPE_COLOR_MODE:
     408                 :            :             pPropHdl = new XMLEnumPropertyHdl( aXML_ColorMode_EnumMap,
     409         [ +  - ]:       1876 :                             ::getCppuType((const drawing::ColorMode*)0) );
     410                 :       1876 :             break;
     411                 :            :         case XML_TYPE_DURATION16_MS:
     412         [ +  - ]:        890 :             pPropHdl = new XMLDurationMS16PropHdl_Impl;
     413                 :        890 :             break;
     414                 :            :         case XML_TYPE_TEXT_HORIZONTAL_ADJUST:
     415                 :            :             pPropHdl = new XMLEnumPropertyHdl(
     416                 :            :                 aXML_HorizontalAdjust_Enum,
     417         [ +  - ]:        255 :                 ::getCppuType((const text::HorizontalAdjust*)0) );
     418                 :        255 :             break;
     419                 :            :         case XML_TYPE_TEXT_DRAW_ASPECT:
     420         [ +  - ]:       1876 :             pPropHdl = new DrawAspectHdl;
     421                 :       1876 :             break;
     422                 :            :         case XML_TYPE_TEXT_WRITING_MODE:
     423                 :            :             pPropHdl = new XMLConstantsPropertyHandler(
     424                 :            :                 &(aXML_WritingDirection_Enum[1]),
     425         [ +  - ]:        815 :                 XML_LR_TB);
     426                 :        815 :             break;
     427                 :            :         case XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT:
     428                 :            :             pPropHdl = new XMLConstantsPropertyHandler(
     429                 :            :                 aXML_WritingDirection_Enum,
     430         [ +  - ]:       4853 :                 XML_PAGE);
     431                 :       4853 :             break;
     432                 :            :         case XML_TYPE_TEXT_HIDDEN_AS_DISPLAY:
     433                 :            :             pPropHdl = new XMLNamedBoolPropertyHdl(
     434                 :            :                 GetXMLToken(XML_NONE),
     435         [ +  - ]:       2981 :                 GetXMLToken(XML_TRUE) );
     436                 :       2981 :             break;
     437                 :            :         case XML_TYPE_STYLENAME :
     438         [ +  - ]:       3387 :             pPropHdl = new XMLStyleNamePropHdl;
     439                 :       3387 :             break;
     440                 :            :         case XML_TYPE_NUMBER_NO_ZERO:
     441         [ #  # ]:          0 :             pPropHdl = new XMLNumberWithoutZeroPropHdl( 4 );
     442                 :          0 :             break;
     443                 :            :         case XML_TYPE_NUMBER8_NO_ZERO:
     444         [ #  # ]:          0 :             pPropHdl = new XMLNumberWithoutZeroPropHdl( 1 );
     445                 :          0 :             break;
     446                 :            :         case XML_TYPE_NUMBER16_NO_ZERO:
     447         [ +  - ]:       2242 :             pPropHdl = new XMLNumberWithoutZeroPropHdl( 2 );
     448                 :       2242 :             break;
     449                 :            :         case XML_TYPE_NUMBER16_AUTO:
     450         [ +  - ]:       2242 :             pPropHdl = new XMLNumberWithAutoInsteadZeroPropHdl();
     451                 :       2242 :             break;
     452                 :            :     }
     453                 :            : 
     454                 :     376674 :     return pPropHdl;
     455                 :            : }
     456                 :            : 
     457                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10