Author: damjan
Date: Wed Feb 24 01:41:54 2016
New Revision: 1732005

URL: http://svn.apache.org/viewvc?rev=1732005&view=rev
Log:
Merge r1409438 from branches/gbuild:
imported patch PropertySequence

BUILDS


Modified:
    openoffice/branches/gbuild-reintegration/   (props changed)
    
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
    
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
    
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx

Propchange: openoffice/branches/gbuild-reintegration/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 24 01:41:54 2016
@@ -1,4 +1,4 @@
-/incubator/ooo/branches/gbuild:1409313-1409425,1409428,1409432-1409436,1409470
+/incubator/ooo/branches/gbuild:1409313-1409425,1409428,1409432-1409436,1409438,1409470
 /openoffice/branches/AOO400:1503684
 /openoffice/branches/AOO410:1572480,1573601,1583349,1583635,1583666
 /openoffice/branches/alg_writerframes:1556289-1579189

Modified: 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx?rev=1732005&r1=1732004&r2=1732005&view=diff
==============================================================================
--- 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
 (original)
+++ 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
 Wed Feb 24 01:41:54 2016
@@ -86,6 +86,16 @@ using namespace ::com::sun::star;
 using namespace ::rtl;
 namespace writerfilter {
 namespace dmapper{
+
+class Exception
+{
+    ::std::string m_message;
+
+public:
+    Exception(const ::std::string & message = "") : m_message(message) {}
+    virtual ~Exception() {}
+};
+
 struct FieldConversion
 {
     ::rtl::OUString     sWordCommand;
@@ -547,7 +557,7 @@ void DomainMapper_Impl::clearDeferredBre
 /*-------------------------------------------------------------------------
 
   -----------------------------------------------------------------------*/
-void lcl_MoveBorderPropertiesToFrame(uno::Sequence<beans::PropertyValue>& 
rFrameProperties,
+void lcl_MoveBorderPropertiesToFrame(PropertySequence & aPropSequence,
     uno::Reference<text::XTextRange> xStartTextRange,
     uno::Reference<text::XTextRange> xEndTextRange )
 {
@@ -572,28 +582,23 @@ void lcl_MoveBorderPropertiesToFrame(uno
             PROP_BOTTOM_BORDER_DISTANCE
         };
 
-        sal_uInt32 nStart = rFrameProperties.getLength();
         sal_uInt32 nBorderPropertyCount = sizeof( aBorderProperties ) / 
sizeof(PropertyIds);
-        rFrameProperties.realloc(nStart + nBorderPropertyCount);
 
-        beans::PropertyValue* pFrameProperties = rFrameProperties.getArray();
         PropertyNameSupplier& rPropNameSupplier = 
PropertyNameSupplier::GetPropertyNameSupplier();
         for( sal_uInt32 nProperty = 0; nProperty < nBorderPropertyCount; 
++nProperty)
         {
             ::rtl::OUString sPropertyName = 
rPropNameSupplier.GetName(aBorderProperties[nProperty]);
-            pFrameProperties[nStart].Name = sPropertyName;
-            pFrameProperties[nStart].Value = 
xTextRangeProperties->getPropertyValue(sPropertyName);
+            aPropSequence.set(aBorderProperties[nProperty], 
xTextRangeProperties->getPropertyValue(sPropertyName));
             if( nProperty < 4 )
                 xTextRangeProperties->setPropertyValue( sPropertyName, 
uno::makeAny(table::BorderLine()));
-            ++nStart;
         }
-        rFrameProperties.realloc(nStart);
     }
     catch( const uno::Exception& rEx )
    {
         (void)rEx;
    }
 }
+
 /*-- 04.01.2008 10:59:19---------------------------------------------------
 
   -----------------------------------------------------------------------*/
@@ -704,120 +709,206 @@ void DomainMapper_Impl::finishParagraph(
                 {
                     //handles (8)(9) and completes (6)
                     try
-                       {
-                            //
-                            StyleSheetEntryPtr pParaStyle =
-                                
m_pStyleSheetTable->FindStyleSheetByConvertedStyleName(rAppendContext.pLastParagraphProperties->GetParaStyleName());
-
-                            uno::Sequence< beans::PropertyValue > 
aFrameProperties(pParaStyle ? 15: 0);
-                            if ( pParaStyle.get( ) )
-                            {
-                                const ParagraphProperties* pStyleProperties = 
dynamic_cast<const ParagraphProperties*>( pParaStyle->pProperties.get() );
-                                beans::PropertyValue* pFrameProperties = 
aFrameProperties.getArray();
-                                pFrameProperties[0].Name = 
rPropNameSupplier.GetName(PROP_WIDTH);
-                                pFrameProperties[1].Name = 
rPropNameSupplier.GetName(PROP_HEIGHT);
-                                pFrameProperties[2].Name = 
rPropNameSupplier.GetName(PROP_SIZE_TYPE);
-                                pFrameProperties[3].Name = 
rPropNameSupplier.GetName(PROP_WIDTH_TYPE);
-                                pFrameProperties[4].Name = 
rPropNameSupplier.GetName(PROP_HORI_ORIENT);
-                                pFrameProperties[5].Name = 
rPropNameSupplier.GetName(PROP_HORI_ORIENT_POSITION);
-                                pFrameProperties[6].Name = 
rPropNameSupplier.GetName(PROP_HORI_ORIENT_RELATION);
-                                pFrameProperties[7].Name = 
rPropNameSupplier.GetName(PROP_VERT_ORIENT);
-                                pFrameProperties[8].Name = 
rPropNameSupplier.GetName(PROP_VERT_ORIENT_POSITION);
-                                pFrameProperties[9].Name = 
rPropNameSupplier.GetName(PROP_VERT_ORIENT_RELATION);
-                                pFrameProperties[10].Name = 
rPropNameSupplier.GetName(PROP_SURROUND);
-                                pFrameProperties[11].Name = 
rPropNameSupplier.GetName(PROP_LEFT_MARGIN);
-                                pFrameProperties[12].Name = 
rPropNameSupplier.GetName(PROP_RIGHT_MARGIN);
-                                pFrameProperties[13].Name = 
rPropNameSupplier.GetName(PROP_TOP_MARGIN);
-                                pFrameProperties[14].Name = 
rPropNameSupplier.GetName(PROP_BOTTOM_MARGIN);
-                                sal_Int32 nWidth =
-                                    
rAppendContext.pLastParagraphProperties->Getw() > 0 ?
-                                        
rAppendContext.pLastParagraphProperties->Getw() :
-                                        pStyleProperties->Getw();
-                                bool bAutoWidth = nWidth < 1;
-                                if( bAutoWidth )
-                                    nWidth = DEFAULT_FRAME_MIN_WIDTH;
-                                pFrameProperties[0].Value <<= nWidth;
-                                pFrameProperties[1].Value <<=
-                                    
rAppendContext.pLastParagraphProperties->Geth() > 0 ?
-                                        
rAppendContext.pLastParagraphProperties->Geth() :
-                                        pStyleProperties->Geth();
-                                pFrameProperties[2].Value <<= sal_Int16(
-                                    
rAppendContext.pLastParagraphProperties->GethRule() >= 0 ?
-                                        
rAppendContext.pLastParagraphProperties->GethRule() :
-                                pStyleProperties->GethRule() >=0 ? 
pStyleProperties->GethRule() : text::SizeType::VARIABLE);
-
-                                pFrameProperties[3].Value <<= bAutoWidth ?  
text::SizeType::MIN : text::SizeType::FIX;
-
-                                sal_Int16 nHoriOrient = sal_Int16(
-                                    
rAppendContext.pLastParagraphProperties->GetxAlign() >= 0 ?
-                                        
rAppendContext.pLastParagraphProperties->GetxAlign() :
-                                        pStyleProperties->GetxAlign() >= 0 ? 
pStyleProperties->GetxAlign() : text::HoriOrientation::NONE );
-                                pFrameProperties[4].Value <<= nHoriOrient;
-
-                                pFrameProperties[5].Value <<=
-                                    
rAppendContext.pLastParagraphProperties->IsxValid() ?
-                                        
rAppendContext.pLastParagraphProperties->Getx() : pStyleProperties->Getx();
-                                pFrameProperties[6].Value <<= sal_Int16(
-                                    
rAppendContext.pLastParagraphProperties->GethAnchor() >= 0 ?
-                                        
rAppendContext.pLastParagraphProperties->GethAnchor() :
-                                    pStyleProperties->GethAnchor() );
-
-                                sal_Int16 nVertOrient = sal_Int16(
-                                    
rAppendContext.pLastParagraphProperties->GetyAlign() >= 0 ?
-                                        
rAppendContext.pLastParagraphProperties->GetyAlign() :
-                                        pStyleProperties->GetyAlign() >= 0 ? 
pStyleProperties->GetyAlign() : text::VertOrientation::NONE );
-                                pFrameProperties[7].Value <<= nVertOrient;
-
-                                pFrameProperties[8].Value <<=
-                                    
rAppendContext.pLastParagraphProperties->IsyValid() ?
-                                        
rAppendContext.pLastParagraphProperties->Gety() : pStyleProperties->Gety();
-                                pFrameProperties[9].Value <<= sal_Int16(
-                                    
rAppendContext.pLastParagraphProperties->GetvAnchor() >= 0 ?
-                                        
rAppendContext.pLastParagraphProperties->GetvAnchor() :
-                                        pStyleProperties->GetvAnchor() );
-
-                                pFrameProperties[10].Value <<= 
text::WrapTextMode(
-                                    
rAppendContext.pLastParagraphProperties->GetWrap() >= 0 ?
-                                    
rAppendContext.pLastParagraphProperties->GetWrap() :
-                                    pStyleProperties->GetWrap());
-
-                                sal_Int32 nBottomDist;
-                                sal_Int32 nTopDist = nBottomDist =
-                                    
rAppendContext.pLastParagraphProperties->GethSpace() >= 0 ?
-                                    
rAppendContext.pLastParagraphProperties->GethSpace() :
-                                    pStyleProperties->GethSpace();
-
-                                pFrameProperties[11].Value <<= nVertOrient == 
text::VertOrientation::TOP ? 0 : nTopDist;
-                                pFrameProperties[12].Value <<= nVertOrient == 
text::VertOrientation::BOTTOM ? 0 : nBottomDist;
-
-                                sal_Int32 nRightDist;
-                                sal_Int32 nLeftDist = nRightDist =
-                                    
rAppendContext.pLastParagraphProperties->GetvSpace() >= 0 ?
-                                    
rAppendContext.pLastParagraphProperties->GetvSpace() :
-                                pStyleProperties->GetvSpace() >= 0 ? 
pStyleProperties->GetvSpace() : 0;
-                                pFrameProperties[13].Value <<= nHoriOrient == 
text::HoriOrientation::LEFT ? 0 : nLeftDist;
-                                pFrameProperties[14].Value <<= nHoriOrient == 
text::HoriOrientation::RIGHT ? 0 : nRightDist;
-
-                                
lcl_MoveBorderPropertiesToFrame(aFrameProperties,
-                                    
rAppendContext.pLastParagraphProperties->GetStartingRange(),
-                                    
rAppendContext.pLastParagraphProperties->GetEndingRange());
-                            }
-                            //frame conversion has to be executed after table 
conversion
-                            RegisterFrameConversion(
-                            
rAppendContext.pLastParagraphProperties->GetStartingRange(),
-                            
rAppendContext.pLastParagraphProperties->GetEndingRange(),
-                            aFrameProperties );
-                            // next frame follows directly
-                            if( pParaContext->IsFrameMode() )
-                            {
-                                pToBeSavedProperties.reset( new 
ParagraphProperties(*pParaContext) );
-                                lcl_AddRangeAndStyle(pToBeSavedProperties, 
xTextAppend, pPropertyMap);
-                            }
-                       }
-                       catch( const uno::Exception& rEx )
-                       {
-                            (void)rEx;
-                       }
+                    {
+                        //
+                        StyleSheetEntryPtr pParaStyle =
+                            
m_pStyleSheetTable->FindStyleSheetByConvertedStyleName(rAppendContext.pLastParagraphProperties->GetParaStyleName());
+                        
+                        PropertySequence aPropSequence;
+                        if ( pParaStyle.get( ) )
+                        {
+                            const ParagraphProperties* pStyleProperties = 
dynamic_cast<const ParagraphProperties*>( pParaStyle->pProperties.get() );
+                            sal_Int32 nWidth =
+                                
rAppendContext.pLastParagraphProperties->Getw() > 0 ?
+                                
rAppendContext.pLastParagraphProperties->Getw() :
+                                pStyleProperties->Getw();
+                            bool bAutoWidth = nWidth < 1;
+                            if( bAutoWidth )
+                                nWidth = DEFAULT_FRAME_MIN_WIDTH;
+                            aPropSequence.set(PROP_WIDTH, nWidth);
+                            
+                            if 
(rAppendContext.pLastParagraphProperties->Geth())
+                            {
+                                aPropSequence.set(PROP_HEIGHT, 
rAppendContext.pLastParagraphProperties->Geth());
+                            }
+                            else
+                            {
+                                aPropSequence.set(PROP_HEIGHT, 
pStyleProperties->Geth());
+                            }
+                            
+                            if 
(rAppendContext.pLastParagraphProperties->GethRule() >= 0)
+                            {
+                                aPropSequence.set(PROP_SIZE_TYPE, 
rAppendContext.pLastParagraphProperties->GethRule());
+                            }
+                            else if (pStyleProperties->GethRule() >=0)
+                            {
+                                aPropSequence.set(PROP_SIZE_TYPE, 
pStyleProperties->GethRule());
+                            }
+                            else
+                            {
+                                aPropSequence.set(PROP_SIZE_TYPE, 
text::SizeType::VARIABLE);
+                            }
+                            
+                            if (bAutoWidth)
+                            {
+                                aPropSequence.set(PROP_WIDTH_TYPE,  
text::SizeType::MIN);
+                            }                                     
+                            else
+                            {
+                                aPropSequence.set(PROP_WIDTH_TYPE,  
text::SizeType::FIX);
+                            }
+                            
+                            sal_Int16 nHoriOrient = 
text::HoriOrientation::NONE;
+                            if ( 
rAppendContext.pLastParagraphProperties->GetxAlign() >= 0)
+                            {
+                                nHoriOrient = 
static_cast<sal_Int16>(rAppendContext.pLastParagraphProperties->GetxAlign());
+                            }
+                            else if (pStyleProperties->GetxAlign() >= 0)
+                            {
+                                nHoriOrient = 
static_cast<sal_Int16>(pStyleProperties->GetxAlign());
+                            }
+
+                            aPropSequence.set(PROP_HORI_ORIENT, nHoriOrient);
+
+                            if 
(rAppendContext.pLastParagraphProperties->IsxValid())
+                            {
+                                aPropSequence.set(PROP_HORI_ORIENT_POSITION, 
+                                                  
rAppendContext.pLastParagraphProperties->Getx());
+                            }
+                            else
+                            {
+                                aPropSequence.set(PROP_HORI_ORIENT_POSITION, 
+                                                  pStyleProperties->Getx());
+                            }
+                            
+                            if 
(rAppendContext.pLastParagraphProperties->GethAnchor() >= 0)
+                            {
+                                aPropSequence.set(PROP_HORI_ORIENT_RELATION, 
+                                                  
rAppendContext.pLastParagraphProperties->GethAnchor());
+                            }
+                            else
+                            {
+                                aPropSequence.set(PROP_HORI_ORIENT_RELATION, 
pStyleProperties->GethAnchor());
+                            }
+                            
+                            sal_Int16 nVertOrient =  
text::VertOrientation::NONE;
+                            if ( 
rAppendContext.pLastParagraphProperties->GetyAlign() >= 0)
+                            {
+                                nVertOrient = 
static_cast<sal_Int16>(rAppendContext.pLastParagraphProperties->GetyAlign());
+                            }
+                            else if ( pStyleProperties->GetyAlign() >= 0)
+                            {
+                                nVertOrient =  
static_cast<sal_Int16>(pStyleProperties->GetyAlign());
+                            }
+
+                            aPropSequence.set(PROP_VERT_ORIENT, nVertOrient);
+                            
+                            if ( 
rAppendContext.pLastParagraphProperties->IsyValid())
+                            {
+                                aPropSequence.set(PROP_VERT_ORIENT_POSITION, 
rAppendContext.pLastParagraphProperties->Gety());                               
    }
+                            else
+                            {
+                                aPropSequence.set(PROP_VERT_ORIENT_POSITION,  
pStyleProperties->Gety());
+                            }
+                            
+                            if 
(rAppendContext.pLastParagraphProperties->GetvAnchor() >= 0)
+                            {
+                                aPropSequence.set(PROP_VERT_ORIENT_RELATION, 
+                                                  
rAppendContext.pLastParagraphProperties->GetvAnchor());
+                            }
+                            else
+                            {
+                                aPropSequence.set(PROP_VERT_ORIENT_RELATION, 
+                                                  
pStyleProperties->GetvAnchor());
+                            }
+                            
+                            if 
(rAppendContext.pLastParagraphProperties->GetWrap() >= 0)
+                            {
+                                aPropSequence.set(PROP_SURROUND, 
+                                                  
rAppendContext.pLastParagraphProperties->GetWrap());
+                            }
+                            else
+                            {
+                                aPropSequence.set(PROP_SURROUND, 
+                                                  pStyleProperties->GetWrap());
+                            }
+                            
+                            sal_Int32 nTopDist;
+
+                            if (nVertOrient == text::VertOrientation::TOP)
+                            {
+                                nTopDist = 0;
+                            }
+                            else
+                            {
+                                if 
(rAppendContext.pLastParagraphProperties->GethSpace() >= 0)
+                                {
+                                    nTopDist = 
rAppendContext.pLastParagraphProperties->GethSpace();
+                                }
+                                else
+                                {
+                                    nTopDist = pStyleProperties->GethSpace();
+                                }
+                            }
+
+                            aPropSequence.set(PROP_TOP_MARGIN, nTopDist);
+                            
+                            sal_Int32 nBottomDist = nTopDist;
+                            if (nVertOrient == text::VertOrientation::BOTTOM)
+                            {
+                                nBottomDist = 0;
+                            }
+                            
+                            aPropSequence.set(PROP_BOTTOM_MARGIN, nBottomDist);
+
+                            sal_Int32 nLeftDist = 0;
+                            if (nHoriOrient == text::HoriOrientation::LEFT)
+                            {
+                                nLeftDist = 0;
+                            }
+                            else if 
(rAppendContext.pLastParagraphProperties->GetvSpace() >= 0)
+                            {
+                                nLeftDist = 
rAppendContext.pLastParagraphProperties->GetvSpace();
+                            }
+                            else if (pStyleProperties->GetvSpace() >= 0)
+                            {
+                                nLeftDist = pStyleProperties->GetvSpace();
+                            }
+                            else
+                            {
+                                nLeftDist = 0;
+                            }
+
+                            aPropSequence.set(PROP_LEFT_MARGIN, nLeftDist);
+                            
+                            sal_Int32 nRightDist = nLeftDist;
+                                                        
+                            if ( nHoriOrient == text::HoriOrientation::RIGHT)
+                            {
+                                nRightDist = 0;
+                            }
+
+                            aPropSequence.set(PROP_RIGHT_MARGIN, nRightDist);
+                            
+                            lcl_MoveBorderPropertiesToFrame(aPropSequence,
+                                                            
rAppendContext.pLastParagraphProperties->GetStartingRange(),
+                                                            
rAppendContext.pLastParagraphProperties->GetEndingRange());
+                        }
+                        //frame conversion has to be executed after table 
conversion
+                        
RegisterFrameConversion(rAppendContext.pLastParagraphProperties->GetStartingRange(),
+                                                
rAppendContext.pLastParagraphProperties->GetEndingRange(),
+                                                aPropSequence.getSequence() );
+                        // next frame follows directly
+                        if( pParaContext->IsFrameMode() )
+                        {
+                            pToBeSavedProperties.reset( new 
ParagraphProperties(*pParaContext) );
+                            lcl_AddRangeAndStyle(pToBeSavedProperties, 
xTextAppend, pPropertyMap);
+                        }
+                    }
+                    catch( const uno::Exception& rEx )
+                    {
+                        (void)rEx;
+                    }
                 }
 
             }
@@ -831,22 +922,25 @@ void DomainMapper_Impl::finishParagraph(
                     lcl_AddRangeAndStyle(pToBeSavedProperties, xTextAppend, 
pPropertyMap);
                 }
             }
-            uno::Sequence< beans::PropertyValue > aProperties;
+            
+            PropertySequence::Pointer_t pPropSeq(new PropertySequence());
+
             if( pPropertyMap.get() )
             {
-                aProperties = pPropertyMap->GetPropertyValues();
+                pPropSeq.reset(new 
PropertySequence(pPropertyMap->GetPropertyValues()));
             }
+
             if( !bIsDropCap )
             {
                 if( aDrop.Lines > 1 )
                 {
-                    sal_uInt32 nLength = aProperties.getLength();
-                    aProperties.realloc(  nLength + 1 );
-                    aProperties[nLength].Value <<= aDrop;
-                    aProperties[nLength].Name = 
rPropNameSupplier.GetName(PROP_DROP_CAP_FORMAT);
+                    uno::Any aAny(aDrop);
+
+                    pPropSeq->set(PROP_DROP_CAP_FORMAT, aAny);
                 }
+
                 uno::Reference< text::XTextRange > xTextRange =
-                    xTextAppend->finishParagraph( aProperties );
+                    xTextAppend->finishParagraph( pPropSeq->getSequence() );
                 getTableManager( ).handle(xTextRange);
             
                 // Set the anchor of the objects to the created paragraph

Modified: 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx?rev=1732005&r1=1732004&r2=1732005&view=diff
==============================================================================
--- 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
 (original)
+++ 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
 Wed Feb 24 01:41:54 2016
@@ -27,13 +27,282 @@
 namespace writerfilter {
 namespace dmapper{
 
-typedef ::std::map< PropertyIds, ::rtl::OUString> PropertyNameMap_t;
+typedef ::std::map< PropertyIds, rtl::OUString> PropertyNameMap_t;
+typedef ::std::map< rtl::OUString, PropertyIds> PropertyBackwardNameMap_t;
 
 struct PropertyNameSupplier_Impl
 {
     PropertyNameMap_t aNameMap;
+    PropertyBackwardNameMap_t aNameBackwardMap;
+
+    void add(PropertyIds aId, const rtl::OUString & aStr);
+    
+    PropertyNameSupplier_Impl();
 };
 
+PropertyNameSupplier_Impl::PropertyNameSupplier_Impl()
+{
+    add(PROP_CHAR_WEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWeight")));
+    add(PROP_CHAR_POSTURE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPosture")));
+    add(PROP_CHAR_STRIKEOUT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharStrikeout")));
+    add(PROP_CHAR_CONTOURED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharContoured")));
+    add(PROP_CHAR_SHADOWED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharShadowed")));
+    add(PROP_CHAR_CASE_MAP, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCaseMap")));
+    add(PROP_CHAR_COLOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharColor")));
+    add(PROP_CHAR_RELIEF, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharRelief")));
+    add(PROP_CHAR_UNDERLINE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharUnderline")));
+    add(PROP_CHAR_UNDERLINE_COLOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharUnderlineColor")));
+    add(PROP_CHAR_UNDERLINE_HAS_COLOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharUnderlineHasColor")));
+    add(PROP_CHAR_WORD_MODE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWordMode")));
+    add(PROP_CHAR_ESCAPEMENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharEscapement")));
+    add(PROP_CHAR_ESCAPEMENT_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharEscapementHeight")));
+    add(PROP_CHAR_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHeight")));
+    add(PROP_CHAR_HEIGHT_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHeightComplex")));
+    add(PROP_CHAR_LOCALE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharLocale")));
+    add(PROP_CHAR_LOCALE_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharLocaleAsian")));
+    add(PROP_CHAR_LOCALE_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharLocaleComplex")));
+    add(PROP_CHAR_WEIGHT_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWeightComplex")));
+    add(PROP_CHAR_POSTURE_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPostureComplex")));
+    add(PROP_CHAR_CHAR_KERNING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharKerning")));
+    add(PROP_CHAR_AUTO_KERNING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharAutoKerning")));
+    add(PROP_CHAR_SCALE_WIDTH, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharScaleWidth")));
+    add(PROP_CHAR_STYLE_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharStyleName")));
+    add(PROP_CHAR_FONT_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontName")));
+    add(PROP_CHAR_FONT_STYLE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontStyle")));
+    add(PROP_CHAR_FONT_FAMILY, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontFamily")));
+    add(PROP_CHAR_FONT_CHAR_SET, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontCharSet")));
+    add(PROP_CHAR_FONT_PITCH, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontPitch")));
+    add(PROP_CHAR_FONT_NAME_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontNameAsian")));
+    add(PROP_CHAR_HEIGHT_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHeightAsian")));
+    add(PROP_CHAR_FONT_STYLE_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontStyleAsian")));
+    add(PROP_CHAR_FONT_FAMILY_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontFamilyAsian")));
+    add(PROP_CHAR_FONT_CHAR_SET_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontCharSetAsian")));
+    add(PROP_CHAR_FONT_PITCH_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontPitchAsian")));
+    add(PROP_CHAR_FONT_NAME_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontNameComplex")));
+    add(PROP_CHAR_FONT_STYLE_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontStyleComplex")));
+    add(PROP_CHAR_FONT_FAMILY_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontFamilyComplex")));
+    add(PROP_CHAR_FONT_CHAR_SET_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontCharSetComplex")));
+    add(PROP_CHAR_FONT_PITCH_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontPitchComplex")));
+    add(PROP_CHAR_HIDDEN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHidden")));
+    add(PROP_CHAR_WEIGHT_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWeightAsian")));
+    add(PROP_CHAR_POSTURE_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPostureAsian")));
+    add(PROP_CHAR_BACK_COLOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharBackColor")));
+    add(PROP_CHAR_EMPHASIS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharEmphasis")));
+    add(PROP_CHAR_COMBINE_IS_ON, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCombineIsOn")));
+    add(PROP_CHAR_COMBINE_PREFIX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCombinePrefix")));
+    add(PROP_CHAR_COMBINE_SUFFIX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCombineSuffix")));
+    add(PROP_CHAR_ROTATION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharRotation")));
+    add(PROP_CHAR_ROTATION_IS_FIT_TO_LINE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharRotationIsFitToLine")));
+    add(PROP_CHAR_FLASH, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFlash")));
+    add(PROP_PARA_STYLE_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaStyleName")));
+    add(PROP_PARA_ADJUST, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaAdjust")));
+    add(PROP_PARA_LAST_LINE_ADJUST, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLastLineAdjust")));
+    add(PROP_PARA_RIGHT_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaRightMargin")));
+    add(PROP_PARA_LEFT_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLeftMargin")));
+    add(PROP_PARA_FIRST_LINE_INDENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaFirstLineIndent")));
+    add(PROP_PARA_KEEP_TOGETHER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaKeepTogether")));
+    add(PROP_PARA_TOP_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaTopMargin")));
+    add(PROP_PARA_BOTTOM_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaBottomMargin")));
+    add(PROP_PARA_IS_HYPHENATION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaIsHyphenation")));
+    add(PROP_PARA_LINE_NUMBER_COUNT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLineNumberCount")));
+    add(PROP_PARA_IS_HANGING_PUNCTUATION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaIsHangingPunctuation")));
+    add(PROP_PARA_LINE_SPACING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLineSpacing")));
+    add(PROP_PARA_TAB_STOPS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaTabStops")));
+    add(PROP_PARA_WIDOWS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaWidows")));
+    add(PROP_PARA_ORPHANS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaOrphans")));
+    add(PROP_PARA_LINE_NUMBER_START_VALUE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLineNumberStartValue")));
+    add(PROP_NUMBERING_LEVEL, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingLevel")));
+    add(PROP_NUMBERING_RULES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingRules")));
+    add(PROP_NUMBERING_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingType")));
+    add(PROP_START_WITH, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StartWith")));
+    add(PROP_ADJUST, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Adjust")));
+    add(PROP_PARENT_NUMBERING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentNumbering")));
+    add(PROP_RIGHT_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RightMargin")));
+    add(PROP_LEFT_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LeftMargin")));
+    add(PROP_TOP_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TopMargin")));
+    add(PROP_BOTTOM_MARGIN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BottomMargin")));
+    add(PROP_FIRST_LINE_OFFSET, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstLineOffset")));
+    add(PROP_LEFT_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LeftBorder")));
+    add(PROP_RIGHT_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RightBorder")));
+    add(PROP_TOP_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TopBorder")));
+    add(PROP_BOTTOM_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BottomBorder")));
+    add(PROP_TABLE_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableBorder")));
+    add(PROP_LEFT_BORDER_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LeftBorderDistance")));
+    add(PROP_RIGHT_BORDER_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RightBorderDistance")));
+    add(PROP_TOP_BORDER_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TopBorderDistance")));
+    add(PROP_BOTTOM_BORDER_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BottomBorderDistance")));
+    add(PROP_CURRENT_PRESENTATION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CurrentPresentation")));
+    add(PROP_IS_FIXED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsFixed")));
+    add(PROP_SUB_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SubType")));
+    add(PROP_FILE_FORMAT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FileFormat")));
+    add(PROP_HYPER_LINK_U_R_L, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HyperLinkURL")));
+    add(PROP_NUMBER_FORMAT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberFormat")));
+    add(PROP_NAME, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name")));
+    add(PROP_IS_INPUT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsInput")));
+    add(PROP_HINT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Hint")));
+    add(PROP_FULL_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FullName")));
+    add(PROP_KEYWORDS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Keywords")));
+    add(PROP_DESCRIPTION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Description")));
+    add(PROP_MACRO_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MacroName")));
+    add(PROP_SUBJECT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subject")));
+    add(PROP_USER_DATA_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UserDataType")));
+    add(PROP_TITLE, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Title")));
+    add(PROP_CONTENT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Content")));
+    add(PROP_DATA_COLUMN_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DataColumnName")));
+    add(PROP_INPUT_STREAM, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("InputStream")));
+    add(PROP_GRAPHIC, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Graphic")));
+    add(PROP_ANCHOR_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AnchorType")));
+    add(PROP_SIZE, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Size")));
+    add(PROP_HORI_ORIENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrient")));
+    add(PROP_HORI_ORIENT_POSITION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientPosition")));
+    add(PROP_HORI_ORIENT_RELATION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientRelation")));
+    add(PROP_VERT_ORIENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrient")));
+    add(PROP_VERT_ORIENT_POSITION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrientPosition")));
+    add(PROP_VERT_ORIENT_RELATION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrientRelation")));
+    add(PROP_GRAPHIC_CROP, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicCrop")));
+    add(PROP_SIZE100th_M_M, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Size100thMM")));
+    add(PROP_SIZE_PIXEL, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SizePixel")));
+    add(PROP_SURROUND, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Surround")));
+    add(PROP_SURROUND_CONTOUR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SurroundContour")));
+    add(PROP_ADJUST_CONTRAST, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AdjustContrast")));
+    add(PROP_ADJUST_LUMINANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AdjustLuminance")));
+    add(PROP_GRAPHIC_COLOR_MODE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicColorMode")));
+    add(PROP_GAMMA, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Gamma")));
+    add(PROP_HORI_MIRRORED_ON_EVEN_PAGES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriMirroredOnEvenPages")));
+    add(PROP_HORI_MIRRORED_ON_ODD_PAGES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriMirroredOnOddPages")));
+    add(PROP_VERT_MIRRORED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertMirrored")));
+    add(PROP_CONTOUR_OUTSIDE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ContourOutside")));
+    add(PROP_CONTOUR_POLY_POLYGON, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ContourPolyPolygon")));
+    add(PROP_PAGE_TOGGLE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PageToggle")));
+    add(PROP_BACK_COLOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BackColor")));
+    add(PROP_ALTERNATIVE_TEXT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AlternativeText")));
+    add(PROP_HEADER_TEXT_LEFT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderTextLeft")));
+    add(PROP_HEADER_TEXT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderText")));
+    add(PROP_HEADER_IS_SHARED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderIsShared")));
+    add(PROP_HEADER_IS_ON, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderIsOn")));
+    add(PROP_FOOTER_TEXT_LEFT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterTextLeft")));
+    add(PROP_FOOTER_TEXT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterText")));
+    add(PROP_FOOTER_IS_SHARED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterIsShared")));
+    add(PROP_FOOTER_IS_ON, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterIsOn")));
+    add(PROP_WIDTH, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Width")));
+    add(PROP_HEIGHT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Height")));
+    add(PROP_SEPARATOR_LINE_IS_ON, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SeparatorLineIsOn")));
+    add(PROP_TEXT_COLUMNS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TextColumns")));
+    add(PROP_AUTOMATIC_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutomaticDistance")));
+    add(PROP_IS_LANDSCAPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsLandscape")));
+    add(PROP_PRINTER_PAPER_TRAY_INDEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PrinterPaperTrayIndex")));
+    add(PROP_FIRST_PAGE, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First 
Page")));
+    add(PROP_DEFAULT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Default")));
+    add(PROP_PAGE_DESC_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PageDescName")));
+    add(PROP_PAGE_NUMBER_OFFSET, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PageNumberOffset")));
+    add(PROP_BREAK_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BreakType")));
+    add(PROP_FOOTER_IS_DYNAMIC_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterIsDynamicHeight")));
+    add(PROP_FOOTER_DYNAMIC_SPACING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterDynamicSpacing")));
+    add(PROP_FOOTER_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterHeight")));
+    add(PROP_FOOTER_BODY_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterBodyDistance")));
+    add(PROP_HEADER_IS_DYNAMIC_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderIsDynamicHeight")));
+    add(PROP_HEADER_DYNAMIC_SPACING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderDynamicSpacing")));
+    add(PROP_HEADER_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderHeight")));
+    add(PROP_HEADER_BODY_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderBodyDistance")));
+    add(PROP_WRITING_MODE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("WritingMode")));
+    add(PROP_GRID_MODE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridMode")));
+    add(PROP_GRID_DISPLAY, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridDisplay")));
+    add(PROP_GRID_PRINT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridPrint")));
+    add(PROP_ADD_EXTERNAL_LEADING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AddExternalLeading")));
+    add(PROP_GRID_LINES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridLines")));
+    add(PROP_GRID_BASE_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridBaseHeight")));
+    add(PROP_GRID_RUBY_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridRubyHeight")));
+    add(PROP_GRID_STANDARD_MODE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StandardPageMode")));
+    add(PROP_IS_ON, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsOn")));
+    add(PROP_RESTART_AT_EACH_PAGE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RestartAtEachPage")));
+    add(PROP_COUNT_EMPTY_LINES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CountEmptyLines")));
+    add(PROP_COUNT_LINES_IN_FRAMES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CountLinesInFrames")));
+    add(PROP_INTERVAL, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Interval")));
+    add(PROP_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Distance")));
+    add(PROP_NUMBER_POSITION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberPosition")));
+    add(PROP_LEVEL, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Level")));
+    add(PROP_LEVEL_PARAGRAPH_STYLES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LevelParagraphStyles")));
+    add(PROP_LEVEL_FORMAT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LevelFormat")));
+    add(PROP_TOKEN_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenType")));
+    add(PROP_TOKEN_HYPERLINK_START, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenHyperlinkStart")));
+    add(PROP_TOKEN_HYPERLINK_END, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenHyperlinkEnd")));
+    add(PROP_TOKEN_CHAPTER_INFO, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenChapterInfo")));
+    add(PROP_CHAPTER_FORMAT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ChapterFormat")));
+    add(PROP_TOKEN_TEXT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenText")));
+    add(PROP_TEXT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Text")));
+    add(PROP_CREATE_FROM_OUTLINE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateFromOutline")));
+    add(PROP_CREATE_FROM_MARKS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateFromMarks")));
+    add(PROP_STANDARD, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Standard")));
+    add(PROP_IS_SPLIT_ALLOWED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsSplitAllowed")));
+    add(META_PROP_VERTICAL_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VerticalBorder")));
+    add(META_PROP_HORIZONTAL_BORDER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HorizontalBorder")));
+    add(PROP_HEADER_ROW_COUNT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderRowCount")));
+    add(PROP_IS_AUTO_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsAutoHeight")));
+    add(PROP_SIZE_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SizeType")));
+    add(PROP_TABLE_COLUMN_SEPARATORS, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableColumnSeparators")));
+    add(META_PROP_TABLE_STYLE_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableStyleName")));
+    add(PROP_REDLINE_AUTHOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineAuthor")));
+    add(PROP_REDLINE_DATE_TIME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineDateTime")));
+    add(PROP_REDLINE_COMMENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineComment")));
+    add(PROP_REDLINE_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineType")));
+    add(PROP_REDLINE_SUCCESSOR_DATA, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineSuccessorData")));
+    add(PROP_REDLINE_IDENTIFIER, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineIdentifier")));
+    add(PROP_SIZE_PROTECTED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SizeProtected")));
+    add(PROP_POSITION_PROTECTED, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionProtected")));
+    add(PROP_OPAQUE, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Opaque")));
+    add(PROP_VERTICAL_MERGE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VerticalMerge")));
+    add(PROP_BULLET_CHAR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BulletChar")));
+    add(PROP_BULLET_FONT_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BulletFontName")));
+    add(PROP_PARA_BACK_COLOR, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaBackColor")));
+    add(PROP_TABS_RELATIVE_TO_INDENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TabsRelativeToIndent")));
+    add(PROP_PREFIX, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Prefix")));
+    add(PROP_SUFFIX, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Suffix")));
+    add(PROP_CREATE_FROM_LEVEL_PARAGRAPH_STYLES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateFromLevelParagraphStyles")));
+    add(PROP_DROP_CAP_FORMAT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DropCapFormat")));
+    add(PROP_REFERENCE_FIELD_PART, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReferenceFieldPart")));
+    add(PROP_SOURCE_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SourceName")));
+    add(PROP_REFERENCE_FIELD_SOURCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReferenceFieldSource")));
+    add(PROP_WIDTH_TYPE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("WidthType")));
+    add( PROP_TEXT_RANGE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TextRange")));
+    add(PROP_SERVICE_CHAR_STYLE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.style.CharacterStyle")));
+    add(PROP_SERVICE_PARA_STYLE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.style.ParagraphStyle")));
+    add(PROP_CHARACTER_STYLES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharacterStyles")));
+    add(PROP_PARAGRAPH_STYLES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParagraphStyles")));
+    add(PROP_TABLE_BORDER_DISTANCES, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableBorderDistances")));
+    add(META_PROP_CELL_MAR_TOP, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarTop")));
+    add(META_PROP_CELL_MAR_BOTTOM, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarBottom")));
+    add(META_PROP_CELL_MAR_LEFT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarLeft")));
+    add(META_PROP_CELL_MAR_RIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarRight")));
+    add(PROP_START_AT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StartAt")));
+    add(PROP_ADD_PARA_TABLE_SPACING, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AddParaTableSpacing")));
+    add(PROP_CHAR_PROP_HEIGHT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPropHeight")));
+    add(PROP_CHAR_PROP_HEIGHT_ASIAN, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPropHeightAsian")));
+    add(PROP_CHAR_PROP_HEIGHT_COMPLEX, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPropHeightComplex")));
+    add(PROP_FORMAT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Format")));
+    add(PROP_INSERT, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Insert")));
+    add(PROP_DELETE, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Delete")));
+    add(PROP_STREAM_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StreamName")));
+    add(PROP_BITMAP, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Bitmap")));
+    add(PROP_IS_DATE, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsDate")));
+    add(PROP_TAB_STOP_DISTANCE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TabStopDistance")));
+    add(PROP_CNF_STYLE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CnfStyle")));
+    add(PROP_INDENT_AT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IndentAt")));
+    add(PROP_FIRST_LINE_INDENT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstLineIndent")));
+    add(PROP_NUMBERING_STYLE_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingStyleName")));
+    add(PROP_OUTLINE_LEVEL, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OutlineLevel")));
+    add(PROP_LISTTAB_STOP_POSITION, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ListtabStopPosition")));
+    add(PROP_POSITION_AND_SPACE_MODE, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionAndSpaceMode")));
+    add(PROP_PARA_SPLIT, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSplit")));
+    add(PROP_HELP, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Help")));
+    add(PROP_HEADING_STYLE_NAME, 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeadingStyleName")));
+}
+
+void PropertyNameSupplier_Impl::add(PropertyIds aId, const ::rtl::OUString & 
aStr)
+{
+    aNameMap[aId] = aStr;
+    aNameBackwardMap[aStr] = aId;
+}
+
 /*-- 14.06.2006 11:01:31---------------------------------------------------
 
   -----------------------------------------------------------------------*/
@@ -53,294 +322,135 @@ PropertyNameSupplier::~PropertyNameSuppl
   -----------------------------------------------------------------------*/
 const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const
 {
-    PropertyNameMap_t::iterator aIt = m_pImpl->aNameMap.find(eId);
-    if(aIt == m_pImpl->aNameMap.end())
-    {
-        ::rtl::OUString sName;
-        switch(eId)
-        {
-            case PROP_CHAR_WEIGHT:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWeight")); break;
-            case PROP_CHAR_POSTURE:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPosture")); break;
-            case PROP_CHAR_STRIKEOUT:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharStrikeout")); break;
-            case PROP_CHAR_CONTOURED:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharContoured")); break;
-            case PROP_CHAR_SHADOWED:   sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharShadowed")); break;
-            case PROP_CHAR_CASE_MAP:   sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCaseMap")); break;
-            case PROP_CHAR_COLOR:      sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharColor")); break;
-            case PROP_CHAR_RELIEF:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharRelief")); break;
-            case PROP_CHAR_UNDERLINE:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharUnderline")); break;
-            case PROP_CHAR_UNDERLINE_COLOR:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharUnderlineColor")); break;
-            case PROP_CHAR_UNDERLINE_HAS_COLOR:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharUnderlineHasColor")); break;
-            case PROP_CHAR_WORD_MODE:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWordMode")); break;
-            case PROP_CHAR_ESCAPEMENT       :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharEscapement")); break;
-            case PROP_CHAR_ESCAPEMENT_HEIGHT:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharEscapementHeight")); break;
-            case PROP_CHAR_HEIGHT:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHeight")); break;
-            case PROP_CHAR_HEIGHT_COMPLEX:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHeightComplex")); break;
-            case PROP_CHAR_LOCALE:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharLocale")); break;
-            case PROP_CHAR_LOCALE_ASIAN:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharLocaleAsian")); break;
-            case PROP_CHAR_LOCALE_COMPLEX:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharLocaleComplex")); break;
-            case PROP_CHAR_WEIGHT_COMPLEX :  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWeightComplex")); break;
-            case PROP_CHAR_POSTURE_COMPLEX:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPostureComplex")); break;
-            case PROP_CHAR_CHAR_KERNING:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharKerning")); break;
-            case PROP_CHAR_AUTO_KERNING:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharAutoKerning")); break;
-            case PROP_CHAR_SCALE_WIDTH:      sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharScaleWidth")); break;
-            case PROP_CHAR_STYLE_NAME:      sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharStyleName")); break;
-            case PROP_CHAR_FONT_NAME:                sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontName")); break;
-            case PROP_CHAR_FONT_STYLE:               sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontStyle")); break;
-            case PROP_CHAR_FONT_FAMILY:              sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontFamily")); break;
-            case PROP_CHAR_FONT_CHAR_SET:            sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontCharSet")); break;
-            case PROP_CHAR_FONT_PITCH:               sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontPitch")); break;
-            case PROP_CHAR_FONT_NAME_ASIAN     :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontNameAsian")); break;
-            case PROP_CHAR_HEIGHT_ASIAN        :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHeightAsian")); break;
-            case PROP_CHAR_FONT_STYLE_ASIAN    :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontStyleAsian")); break;
-            case PROP_CHAR_FONT_FAMILY_ASIAN   :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontFamilyAsian")); break;
-            case PROP_CHAR_FONT_CHAR_SET_ASIAN :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontCharSetAsian")); break;
-            case PROP_CHAR_FONT_PITCH_ASIAN    :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontPitchAsian")); break;
-            case PROP_CHAR_FONT_NAME_COMPLEX   :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontNameComplex")); break;
-            case PROP_CHAR_FONT_STYLE_COMPLEX  :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontStyleComplex")); break;
-            case PROP_CHAR_FONT_FAMILY_COMPLEX:      sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontFamilyComplex")); break;
-            case PROP_CHAR_FONT_CHAR_SET_COMPLEX:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontCharSetComplex")); break;
-            case PROP_CHAR_FONT_PITCH_COMPLEX:       sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFontPitchComplex")); break;
-            case PROP_CHAR_HIDDEN           :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharHidden")); break;
-            case PROP_CHAR_WEIGHT_ASIAN     :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharWeightAsian")); break;
-            case PROP_CHAR_POSTURE_ASIAN    :     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPostureAsian")); break;
-            case PROP_CHAR_BACK_COLOR:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharBackColor")); break;
-            case PROP_CHAR_EMPHASIS:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharEmphasis")); break;
-            case PROP_CHAR_COMBINE_IS_ON:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCombineIsOn")); break;
-            case PROP_CHAR_COMBINE_PREFIX:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCombinePrefix")); break;
-            case PROP_CHAR_COMBINE_SUFFIX:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharCombineSuffix")); break;
-            case PROP_CHAR_ROTATION:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharRotation")); break;
-            case PROP_CHAR_ROTATION_IS_FIT_TO_LINE:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharRotationIsFitToLine")); break;
-            case PROP_CHAR_FLASH:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharFlash")); break;
-//            case PROP_CHAR_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Char")); break;
-//            case PROP_CHAR_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Char")); break;
-//            case PROP_CHAR_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Char")); break;
-
-            case PROP_PARA_STYLE_NAME:      sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaStyleName")); break;
-            case PROP_PARA_ADJUST:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaAdjust")); break;
-            case PROP_PARA_LAST_LINE_ADJUST:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLastLineAdjust")); break;
-            case PROP_PARA_RIGHT_MARGIN     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaRightMargin")); break;
-            case PROP_PARA_LEFT_MARGIN      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLeftMargin")); break;
-            case PROP_PARA_FIRST_LINE_INDENT:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaFirstLineIndent")); break;
-            case PROP_PARA_KEEP_TOGETHER:       sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaKeepTogether")); break;
-            case PROP_PARA_TOP_MARGIN:       sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaTopMargin")); break;
-            case PROP_PARA_BOTTOM_MARGIN:       sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaBottomMargin")); break;
-            case PROP_PARA_IS_HYPHENATION:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaIsHyphenation")); break;
-            case PROP_PARA_LINE_NUMBER_COUNT:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLineNumberCount")); break;
-            case PROP_PARA_IS_HANGING_PUNCTUATION: sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaIsHangingPunctuation")); break;
-            case PROP_PARA_LINE_SPACING:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLineSpacing")); break;
-            case PROP_PARA_TAB_STOPS:       sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaTabStops")); break;
-            case PROP_PARA_WIDOWS:          sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaWidows")); break;
-            case PROP_PARA_ORPHANS:         sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaOrphans")); break;
-            case PROP_PARA_LINE_NUMBER_START_VALUE:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaLineNumberStartValue")); break;
-//            case PROP_PARA_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Para")); break;
-//            case PROP_PARA_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Para")); break;
-//            case PROP_PARA_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Para")); break;
-//            case PROP_PARA_:     sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Para")); break;
-            case PROP_NUMBERING_LEVEL:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingLevel")); break;
-            case PROP_NUMBERING_RULES:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingRules")); break;
-            case PROP_NUMBERING_TYPE:   sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingType")); break;
-            case PROP_START_WITH:       sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StartWith")); break;
-            case PROP_ADJUST:           sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Adjust")); break;
-            case PROP_PARENT_NUMBERING: sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentNumbering")); break;
-            case PROP_RIGHT_MARGIN     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RightMargin")); break;
-            case PROP_LEFT_MARGIN      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LeftMargin")); break;
-            case PROP_TOP_MARGIN          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TopMargin")); break;
-            case PROP_BOTTOM_MARGIN       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BottomMargin")); break;
-            case PROP_FIRST_LINE_OFFSET:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstLineOffset")); break;
-            case PROP_LEFT_BORDER           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LeftBorder"));break;
-            case PROP_RIGHT_BORDER          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RightBorder"));break;
-            case PROP_TOP_BORDER            :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TopBorder"));break;
-            case PROP_BOTTOM_BORDER         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BottomBorder"));break;
-            case PROP_TABLE_BORDER         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableBorder"));break;
-            case PROP_LEFT_BORDER_DISTANCE  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LeftBorderDistance")); break;
-            case PROP_RIGHT_BORDER_DISTANCE :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RightBorderDistance")); break;
-            case PROP_TOP_BORDER_DISTANCE   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TopBorderDistance"));break;
-            case PROP_BOTTOM_BORDER_DISTANCE:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BottomBorderDistance")); break;
-            case PROP_CURRENT_PRESENTATION  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CurrentPresentation")); break;
-            case PROP_IS_FIXED              :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsFixed")); break;
-            case PROP_SUB_TYPE              :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SubType")); break;
-            case PROP_FILE_FORMAT           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FileFormat")); break;
-            case PROP_HYPER_LINK_U_R_L      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HyperLinkURL")); break;
-            case PROP_NUMBER_FORMAT         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberFormat")); break;
-            case PROP_NAME                  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name")); break;
-            case PROP_IS_INPUT              :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsInput")); break;
-            case PROP_HINT                  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Hint")); break;
-            case PROP_FULL_NAME             :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FullName")); break;
-            case PROP_KEYWORDS              :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Keywords")); break;
-            case PROP_DESCRIPTION           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Description")); break;
-            case PROP_MACRO_NAME            :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MacroName")); break;
-            case PROP_SUBJECT               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Subject")); break;
-            case PROP_USER_DATA_TYPE        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UserDataType")); break;
-            case PROP_TITLE                 :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Title")); break;
-            case PROP_CONTENT               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Content")); break;
-            case PROP_DATA_COLUMN_NAME      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DataColumnName")); break;
-            case PROP_INPUT_STREAM          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("InputStream")); break;
-            case PROP_GRAPHIC               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Graphic")); break;
-            case PROP_ANCHOR_TYPE           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AnchorType")); break;
-            case PROP_SIZE                  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Size")); break;
-            case PROP_HORI_ORIENT           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrient")); break;
-            case PROP_HORI_ORIENT_POSITION  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientPosition")); break;
-            case PROP_HORI_ORIENT_RELATION  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientRelation")); break;
-            case PROP_VERT_ORIENT           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrient")); break;
-            case PROP_VERT_ORIENT_POSITION  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrientPosition")); break;
-            case PROP_VERT_ORIENT_RELATION  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrientRelation")); break;
-            case PROP_GRAPHIC_CROP          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicCrop")); break;
-            case PROP_SIZE100th_M_M         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Size100thMM")); break;
-            case PROP_SIZE_PIXEL            :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SizePixel")); break;
-            case PROP_SURROUND              :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Surround")); break;
-            case PROP_SURROUND_CONTOUR      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SurroundContour")); break;
-            case PROP_ADJUST_CONTRAST       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AdjustContrast")); break;
-            case PROP_ADJUST_LUMINANCE      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AdjustLuminance")); break;
-            case PROP_GRAPHIC_COLOR_MODE    :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GraphicColorMode")); break;
-            case PROP_GAMMA                 :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Gamma")); break;
-            case PROP_HORI_MIRRORED_ON_EVEN_PAGES:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriMirroredOnEvenPages")); break;
-            case PROP_HORI_MIRRORED_ON_ODD_PAGES :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HoriMirroredOnOddPages")); break;
-            case PROP_VERT_MIRRORED        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VertMirrored")); break;
-            case PROP_CONTOUR_OUTSIDE      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ContourOutside")); break;
-            case PROP_CONTOUR_POLY_POLYGON :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ContourPolyPolygon")); break;
-            case PROP_PAGE_TOGGLE          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PageToggle")); break;
-            case PROP_BACK_COLOR           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BackColor")); break;
-            case PROP_ALTERNATIVE_TEXT     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AlternativeText")); break;
-            case PROP_HEADER_TEXT_LEFT     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderTextLeft")); break;
-            case PROP_HEADER_TEXT          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderText")); break;
-            case PROP_HEADER_IS_SHARED     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderIsShared")); break;
-            case PROP_HEADER_IS_ON         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderIsOn")); break;
-            case PROP_FOOTER_TEXT_LEFT     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterTextLeft")); break;
-            case PROP_FOOTER_TEXT          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterText")); break;
-            case PROP_FOOTER_IS_SHARED     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterIsShared")); break;
-            case PROP_FOOTER_IS_ON         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterIsOn")); break;
-            case PROP_WIDTH                :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Width")); break;
-            case PROP_HEIGHT               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Height")); break;
-            case PROP_SEPARATOR_LINE_IS_ON :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SeparatorLineIsOn")); break;
-            case PROP_TEXT_COLUMNS         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TextColumns")); break;
-            case PROP_AUTOMATIC_DISTANCE   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutomaticDistance")); break;
-            case PROP_IS_LANDSCAPE         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsLandscape")); break;
-            case PROP_PRINTER_PAPER_TRAY_INDEX:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PrinterPaperTrayIndex")); break;
-            case PROP_FIRST_PAGE       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First Page")); break;
-            case PROP_DEFAULT          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Default")); break;
-            case PROP_PAGE_DESC_NAME   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PageDescName")); break;
-            case PROP_PAGE_NUMBER_OFFSET:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PageNumberOffset")); break;
-            case PROP_BREAK_TYPE       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BreakType")); break;
-            case PROP_FOOTER_IS_DYNAMIC_HEIGHT:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterIsDynamicHeight")); break;
-            case PROP_FOOTER_DYNAMIC_SPACING:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterDynamicSpacing")); break;
-            case PROP_FOOTER_HEIGHT         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterHeight")); break;
-            case PROP_FOOTER_BODY_DISTANCE  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FooterBodyDistance")); break;
-            case PROP_HEADER_IS_DYNAMIC_HEIGHT:  sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderIsDynamicHeight")); break;
-            case PROP_HEADER_DYNAMIC_SPACING:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderDynamicSpacing")); break;
-            case PROP_HEADER_HEIGHT         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderHeight")); break;
-            case PROP_HEADER_BODY_DISTANCE  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderBodyDistance")); break;
-            case PROP_WRITING_MODE          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("WritingMode")); break;
-            case PROP_GRID_MODE             :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridMode")); break;
-            case PROP_GRID_DISPLAY          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridDisplay")); break;
-            case PROP_GRID_PRINT            :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridPrint")); break;
-            case PROP_ADD_EXTERNAL_LEADING  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AddExternalLeading")); break;
-            case PROP_GRID_LINES            :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridLines")); break;
-            case PROP_GRID_BASE_HEIGHT      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridBaseHeight")); break;
-            case PROP_GRID_RUBY_HEIGHT      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GridRubyHeight")); break;
-            case PROP_GRID_STANDARD_MODE     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StandardPageMode")); break;
-            case PROP_IS_ON                  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsOn")); break;
-            case PROP_RESTART_AT_EACH_PAGE   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RestartAtEachPage")); break;
-            case PROP_COUNT_EMPTY_LINES      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CountEmptyLines")); break;
-            case PROP_COUNT_LINES_IN_FRAMES  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CountLinesInFrames")); break;
-            case PROP_INTERVAL               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Interval")); break;
-            case PROP_DISTANCE               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Distance")); break;
-            case PROP_NUMBER_POSITION        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberPosition")); break;
-            case PROP_LEVEL                  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Level")); break;
-            case PROP_LEVEL_PARAGRAPH_STYLES :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LevelParagraphStyles")); break;
-            case PROP_LEVEL_FORMAT           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LevelFormat")); break;
-            case PROP_TOKEN_TYPE             :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenType")); break;
-            case PROP_TOKEN_HYPERLINK_START  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenHyperlinkStart")); break;
-            case PROP_TOKEN_HYPERLINK_END    :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenHyperlinkEnd")); break;
-            case PROP_TOKEN_CHAPTER_INFO     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenChapterInfo")); break;
-            case PROP_CHAPTER_FORMAT         :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ChapterFormat")); break;
-            case PROP_TOKEN_TEXT             :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TokenText")); break;
-            case PROP_TEXT                   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Text")); break;
-            case PROP_CREATE_FROM_OUTLINE    :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateFromOutline")); break;
-            case PROP_CREATE_FROM_MARKS      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateFromMarks")); break;
-            case PROP_STANDARD               :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Standard")); break;
-            case PROP_IS_SPLIT_ALLOWED       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsSplitAllowed")); break;
-            case META_PROP_VERTICAL_BORDER   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VerticalBorder")); break;
-            case META_PROP_HORIZONTAL_BORDER :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HorizontalBorder")); break;
-            case PROP_HEADER_ROW_COUNT      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeaderRowCount")); break;
-            case PROP_IS_AUTO_HEIGHT        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsAutoHeight")); break;
-            case PROP_SIZE_TYPE             :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SizeType")); break;
-            case PROP_TABLE_COLUMN_SEPARATORS:   sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableColumnSeparators")); break;
-            case META_PROP_TABLE_STYLE_NAME  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableStyleName")); break;
-            case PROP_REDLINE_AUTHOR        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineAuthor")); break;
-            case PROP_REDLINE_DATE_TIME     :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineDateTime")); break;
-            case PROP_REDLINE_COMMENT       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineComment")); break;
-            case PROP_REDLINE_TYPE          :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineType")); break;
-            case PROP_REDLINE_SUCCESSOR_DATA:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineSuccessorData")); break;
-            case PROP_REDLINE_IDENTIFIER    :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RedlineIdentifier")); break;
-            case PROP_SIZE_PROTECTED        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SizeProtected")); break;
-            case PROP_POSITION_PROTECTED    :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionProtected")); break;
-            case PROP_OPAQUE                :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Opaque")); break;
-            case PROP_VERTICAL_MERGE   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VerticalMerge")); break;
-            case PROP_BULLET_CHAR      :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BulletChar")); break;
-            case PROP_BULLET_FONT_NAME :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BulletFontName")); break;
-            case PROP_PARA_BACK_COLOR  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaBackColor")); break;
-            case PROP_TABS_RELATIVE_TO_INDENT:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TabsRelativeToIndent")); break;
-            case PROP_PREFIX           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Prefix")); break;
-            case PROP_SUFFIX           :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Suffix")); break;
-            case PROP_CREATE_FROM_LEVEL_PARAGRAPH_STYLES:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CreateFromLevelParagraphStyles")); 
break;
-            case PROP_DROP_CAP_FORMAT  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DropCapFormat")); break;
-            case PROP_REFERENCE_FIELD_PART :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReferenceFieldPart")); break;
-            case PROP_SOURCE_NAME:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SourceName")); break;
-            case PROP_REFERENCE_FIELD_SOURCE :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReferenceFieldSource")); break;
-            case PROP_WIDTH_TYPE :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("WidthType")); break;
-            case  PROP_TEXT_RANGE:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TextRange")); break;
-            case PROP_SERVICE_CHAR_STYLE       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.style.CharacterStyle"));
 break;
-            case PROP_SERVICE_PARA_STYLE       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.style.ParagraphStyle"));
 break;
-            case PROP_CHARACTER_STYLES :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharacterStyles")); break;
-            case PROP_PARAGRAPH_STYLES :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParagraphStyles")); break;
-            case PROP_TABLE_BORDER_DISTANCES:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TableBorderDistances")); break;
-            case META_PROP_CELL_MAR_TOP    :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarTop")); break;
-            case META_PROP_CELL_MAR_BOTTOM :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarBottom")); break;
-            case META_PROP_CELL_MAR_LEFT   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarLeft")); break;
-            case META_PROP_CELL_MAR_RIGHT  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MetaPropCellMarRight")); break;
-            case PROP_START_AT :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StartAt")); break;
-            case PROP_ADD_PARA_TABLE_SPACING :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AddParaTableSpacing")); break;
-            case PROP_CHAR_PROP_HEIGHT        :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPropHeight")); break;
-            case PROP_CHAR_PROP_HEIGHT_ASIAN  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPropHeightAsian")); break;
-            case PROP_CHAR_PROP_HEIGHT_COMPLEX:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CharPropHeightComplex")); break;
-            case PROP_FORMAT   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Format")); break;
-            case PROP_INSERT   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Insert")); break;
-            case PROP_DELETE   :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Delete")); break;
-            case PROP_STREAM_NAME:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StreamName")); break;
-            case PROP_BITMAP :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Bitmap")); break;
-            case PROP_IS_DATE :   sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsDate")); break;
-            case PROP_TAB_STOP_DISTANCE :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TabStopDistance")); break;
-            case PROP_CNF_STYLE  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CnfStyle")); break;
-            case PROP_INDENT_AT :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IndentAt")); break;
-            case PROP_FIRST_LINE_INDENT :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstLineIndent")); break;
-            case PROP_NUMBERING_STYLE_NAME  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingStyleName")); break;
-            case PROP_OUTLINE_LEVEL  :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OutlineLevel")); break;
-            case PROP_LISTTAB_STOP_POSITION :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ListtabStopPosition")); break;
-            case PROP_POSITION_AND_SPACE_MODE :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionAndSpaceMode")); break;
-            case PROP_PARA_SPLIT:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSplit")); break;
-            case PROP_HELP:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Help")); break;
-            case PROP_HEADING_STYLE_NAME:    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeadingStyleName")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-//            case       :    sName = 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break;
-        }
-        ::std::pair<PropertyNameMap_t::iterator,bool> aInsertIt =
-                m_pImpl->aNameMap.insert( PropertyNameMap_t::value_type( eId, 
sName ));
-        if(aInsertIt.second)
-            aIt = aInsertIt.first;
-    }
+    PropertyNameMap_t::const_iterator aIt = m_pImpl->aNameMap.find(eId);
+
     return aIt->second;
 }
+
+PropertyIds PropertyNameSupplier::GetId(const ::rtl::OUString & rStr) const
+{
+    PropertyBackwardNameMap_t::const_iterator aIt= 
m_pImpl->aNameBackwardMap.find(rStr);
+
+    return aIt->second;
+}
+
 PropertyNameSupplier& PropertyNameSupplier::GetPropertyNameSupplier()
 {
     static PropertyNameSupplier aNameSupplier;
     return aNameSupplier;
 }
 
+PropertySequence::PropertySequence()
+    : m_rPropNameSupplier(PropertyNameSupplier::GetPropertyNameSupplier())
+{
+}
+
+PropertySequence::PropertySequence(const uno::Sequence<beans::PropertyValue> & 
rSeq)
+    : m_sequence(rSeq), 
m_rPropNameSupplier(PropertyNameSupplier::GetPropertyNameSupplier())
+{   
+    sal_Int32 nLength = rSeq.getLength();
+
+    for (sal_Int32 n = 0; n < nLength; n++)
+    {
+        PropertyIds aId = m_rPropNameSupplier.GetId(m_sequence[n].Name);
+        m_indexMap[aId] = n;
+    }
+}
+
+PropertySequence::~PropertySequence()
+{
+}
+
+uno::Any PropertySequence::get(PropertyIds aPropId)
+{
+    Map_t::const_iterator aIt = m_indexMap.find(aPropId);
+
+    if (aIt != m_indexMap.end())
+    {
+        return m_sequence[aIt->second].Value;
+    }
+
+    return uno::Any();
+}
+
+void PropertySequence::set(PropertyIds aPropId, const uno::Any & rValue)
+{
+    Map_t::const_iterator aIt = m_indexMap.find(aPropId);
+
+    sal_Int32 nIndex = 0;
+    if (aIt == m_indexMap.end())
+    {
+        sal_uInt32 nCount = m_sequence.getLength() + 1;
+        m_sequence.realloc(nCount);
+        m_indexMap[aPropId] = nCount;
+        nIndex = nCount - 1;
+    }
+    else
+    {
+        nIndex = aIt->second;
+    }
+    
+    m_sequence[nIndex].Name = m_rPropNameSupplier.GetName(aPropId);
+    m_sequence[nIndex].Value <<= rValue;
+}
+
+void PropertySequence::set(PropertyIds aPropId, sal_uInt32 nValue)
+{
+    uno::Any aAny;
+
+    aAny <<= nValue;
+    set(aPropId, aAny);
+}
+
+void PropertySequence::set(PropertyIds aPropId, sal_Int32 nValue)
+{
+    uno::Any aAny;
+
+    aAny <<= nValue;
+    set(aPropId, aAny);
+}
+
+void PropertySequence::set(PropertyIds aPropId, sal_uInt16 nValue)
+{
+    uno::Any aAny;
+
+    aAny <<= nValue;
+    set(aPropId, aAny);
+}
+
+void PropertySequence::set(PropertyIds aPropId, sal_Int16 nValue)
+{
+    uno::Any aAny;
+
+    aAny <<= nValue;
+    set(aPropId, aAny);
+}
+
+uno::Sequence<beans::PropertyValue> & PropertySequence::getSequence()
+{
+    return m_sequence;
+}
+
+#ifdef DEBUG
+::std::string PropertySequence::toString() const
+{
+    ::std::string sResult = "";
+
+    sal_Int32 nCount = m_sequence.getLength();
+    
+    for (sal_Int32 n = 0; n < nCount; n++)
+    {
+        if (n > 0)
+            sResult +=", ";
+
+        ::std::string sTmp = ::rtl::OUStringToOString(m_sequence[n].Name, 
RTL_TEXTENCODING_ASCII_US).getStr();
+
+        sResult += sTmp;
+    }
+
+    return sResult;
+}
+#endif
+
 } //namespace dmapper
 } //namespace writerfilter


Reply via email to