diff options
author | Daniel Vogelheim <dvo@openoffice.org> | 2002-06-20 14:13:05 +0000 |
---|---|---|
committer | Daniel Vogelheim <dvo@openoffice.org> | 2002-06-20 14:13:05 +0000 |
commit | 4a51c4f17a7c1beba98efe8c6cba19ca3cf83856 (patch) | |
tree | bafd9fe8eb73356c6a5c9d7224826f37684b9bb4 /xmloff/source/style/prhdlfac.cxx | |
parent | 77f7fbd6ebeab675be6bd1108d89fdbcacdb453b (diff) |
#98281# added CreatePropertyHandler method to allow import of table writing-mode property
Diffstat (limited to 'xmloff/source/style/prhdlfac.cxx')
-rw-r--r-- | xmloff/source/style/prhdlfac.cxx | 441 |
1 files changed, 225 insertions, 216 deletions
diff --git a/xmloff/source/style/prhdlfac.cxx b/xmloff/source/style/prhdlfac.cxx index af4eba6ab1af..5e0fbc309355 100644 --- a/xmloff/source/style/prhdlfac.cxx +++ b/xmloff/source/style/prhdlfac.cxx @@ -2,9 +2,9 @@ * * $RCSfile: prhdlfac.cxx,v $ * - * $Revision: 1.19 $ + * $Revision: 1.20 $ * - * last change: $Author: dvo $ $Date: 2002-03-13 11:12:35 $ + * last change: $Author: dvo $ $Date: 2002-06-20 15:13:05 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -253,223 +253,11 @@ void XMLPropertyHandlerFactory::PutHdlCache( sal_Int32 nType, const XMLPropertyH const XMLPropertyHandler* XMLPropertyHandlerFactory::GetBasicHandler( sal_Int32 nType ) const { - XMLPropertyHandler* pPropHdl = GetHdlCache( nType ); + const XMLPropertyHandler* pPropHdl = GetHdlCache( nType ); if( !pPropHdl ) { - switch( nType ) - { - case XML_TYPE_BOOL : - pPropHdl = new XMLBoolPropHdl; - break; - case XML_TYPE_MEASURE : - pPropHdl = new XMLMeasurePropHdl( 4 ); - break; - case XML_TYPE_MEASURE8 : - pPropHdl = new XMLMeasurePropHdl( 1 ); - break; - case XML_TYPE_MEASURE16: - pPropHdl = new XMLMeasurePropHdl( 2 ); - break; - case XML_TYPE_PERCENT : - pPropHdl = new XMLPercentPropHdl( 4 ); - break; - case XML_TYPE_PERCENT8 : - pPropHdl = new XMLPercentPropHdl( 1 ); - break; - case XML_TYPE_PERCENT16 : - pPropHdl = new XMLPercentPropHdl( 2 ); - break; - case XML_TYPE_MEASURE_PX : - pPropHdl = new XMLMeasurePxPropHdl( 4 ); - break; - case XML_TYPE_STRING : - pPropHdl = new XMLStringPropHdl; - break; - case XML_TYPE_COLOR : - pPropHdl = new XMLColorPropHdl; - break; - case XML_TYPE_NUMBER : - pPropHdl = new XMLNumberPropHdl( 4 ); - break; - case XML_TYPE_NUMBER8 : - pPropHdl = new XMLNumberPropHdl( 1 ); - break; - case XML_TYPE_NUMBER16: - pPropHdl = new XMLNumberPropHdl( 2 ); - break; - case XML_TYPE_NUMBER_NONE : - pPropHdl = new XMLNumberNonePropHdl; - break; - case XML_TYPE_NUMBER8_NONE : - pPropHdl = new XMLNumberNonePropHdl( 1 ); - break; - case XML_TYPE_NUMBER16_NONE : - pPropHdl = new XMLNumberNonePropHdl( 2 ); - break; - case XML_TYPE_DOUBLE : - pPropHdl = new XMLDoublePropHdl; - break; - case XML_TYPE_NBOOL : - pPropHdl = new XMLNBoolPropHdl; - break; - case XML_TYPE_COLORTRANSPARENT : - pPropHdl = new XMLColorTransparentPropHdl; - break; - case XML_TYPE_ISTRANSPARENT : - pPropHdl = new XMLIsTransparentPropHdl; - break; - case XML_TYPE_COLORAUTO : - pPropHdl = new XMLColorAutoPropHdl; - break; - case XML_TYPE_ISAUTOCOLOR : - pPropHdl = new XMLIsAutoColorPropHdl; - break; - case XML_TYPE_BUILDIN_CMP_ONLY : - pPropHdl = new XMLCompareOnlyPropHdl; - break; - - case XML_TYPE_RECTANGLE_LEFT : - case XML_TYPE_RECTANGLE_TOP : - case XML_TYPE_RECTANGLE_WIDTH : - case XML_TYPE_RECTANGLE_HEIGHT : - pPropHdl = new XMLRectangleMembersHdl( nType ); - break; - - case XML_TYPE_TEXT_CROSSEDOUT: - pPropHdl = new XMLCrossedOutPropHdl ; - break; - case XML_TYPE_TEXT_BOOLCROSSEDOUT: - pPropHdl = new XMLNamedBoolPropertyHdl( - GetXMLToken(XML_CROSSEDOUT_SINGLE), - GetXMLToken(XML_CROSSEDOUT_NONE) ); - break; - case XML_TYPE_TEXT_ESCAPEMENT: - pPropHdl = new XMLEscapementPropHdl; - break; - case XML_TYPE_TEXT_ESCAPEMENT_HEIGHT: - pPropHdl = new XMLEscapementHeightPropHdl; - break; - case XML_TYPE_TEXT_CASEMAP: - pPropHdl = new XMLCaseMapPropHdl; - break; - case XML_TYPE_TEXT_CASEMAP_VAR: - pPropHdl = new XMLCaseMapVariantHdl; - break; - case XML_TYPE_TEXT_FONTFAMILYNAME: - pPropHdl = new XMLFontFamilyNamePropHdl; - break; - case XML_TYPE_TEXT_FONTFAMILY: - pPropHdl = new XMLFontFamilyPropHdl; - break; - case XML_TYPE_TEXT_FONTENCODING: - pPropHdl = new XMLFontEncodingPropHdl; - break; - case XML_TYPE_TEXT_FONTPITCH: - pPropHdl = new XMLFontPitchPropHdl; - break; - case XML_TYPE_TEXT_KERNING: - pPropHdl = new XMLKerningPropHdl; - break; - case XML_TYPE_TEXT_POSTURE: - pPropHdl = new XMLPosturePropHdl; - break; - case XML_TYPE_TEXT_SHADOWED: - pPropHdl = new XMLShadowedPropHdl; - break; - case XML_TYPE_TEXT_UNDERLINE: - pPropHdl = new XMLUnderlinePropHdl; - break; - case XML_TYPE_TEXT_UNDERLINE_COLOR: - pPropHdl = new XMLColorTransparentPropHdl( XML_FONT_COLOR ); - break; - case XML_TYPE_TEXT_UNDERLINE_HASCOLOR: - pPropHdl = new XMLIsTransparentPropHdl( XML_FONT_COLOR, - sal_False ); - break; - case XML_TYPE_TEXT_WEIGHT: - pPropHdl = new XMLFontWeightPropHdl; - break; - case XML_TYPE_TEXT_SPLIT: - pPropHdl = new XMLFmtSplitPropHdl; - break; - case XML_TYPE_TEXT_BREAKBEFORE: - pPropHdl = new XMLFmtBreakBeforePropHdl; - break; - case XML_TYPE_TEXT_BREAKAFTER: - pPropHdl = new XMLFmtBreakAfterPropHdl; - break; - case XML_TYPE_TEXT_SHADOW: - pPropHdl = new XMLShadowPropHdl; - break; - case XML_TYPE_TEXT_ADJUST: - pPropHdl = new XMLParaAdjustPropHdl; - break; - case XML_TYPE_TEXT_ADJUSTLAST: - pPropHdl = new XMLLastLineAdjustPropHdl; - break; - case XML_TYPE_CHAR_HEIGHT: - pPropHdl = new XMLCharHeightHdl; - break; - case XML_TYPE_CHAR_HEIGHT_PROP: - pPropHdl = new XMLCharHeightPropHdl; - break; - case XML_TYPE_CHAR_HEIGHT_DIFF: - pPropHdl = new XMLCharHeightDiffHdl; - break; - case XML_TYPE_CHAR_LANGUAGE: - pPropHdl = new XMLCharLanguageHdl; - break; - case XML_TYPE_CHAR_COUNTRY: - pPropHdl = new XMLCharCountryHdl; - break; - case XML_TYPE_LINE_SPACE_FIXED: - pPropHdl = new XMLLineHeightHdl; - break; - case XML_TYPE_LINE_SPACE_MINIMUM: - pPropHdl = new XMLLineHeightAtLeastHdl; - break; - case XML_TYPE_LINE_SPACE_DISTANCE: - pPropHdl = new XMLLineSpacingHdl; - break; - case XML_TYPE_BORDER_WIDTH: - pPropHdl = new XMLBorderWidthHdl; - break; - case XML_TYPE_BORDER: - pPropHdl = new XMLBorderHdl; - break; - case XML_TYPE_TEXT_TABSTOP: - pPropHdl = new XMLTabStopPropHdl; - break; - case XML_TYPE_ATTRIBUTE_CONTAINER: - pPropHdl = new XMLAttributeContainerHandler; - break; - case XML_TYPE_COLOR_MODE: - pPropHdl = new XMLEnumPropertyHdl( aXML_ColorMode_EnumMap, - ::getCppuType((const drawing::ColorMode*)0) ); - break; - case XML_TYPE_DURATION16_MS: - pPropHdl = new XMLDurationMS16PropHdl_Impl; - break; - case XML_TYPE_TEXT_HORIZONTAL_ADJUST: - pPropHdl = new XMLEnumPropertyHdl( - aXML_HorizontalAdjust_Enum, - ::getCppuType((const text::HorizontalAdjust*)0) ); - break; - case XML_TYPE_TEXT_DRAW_ASPECT: - pPropHdl = new DrawAspectHdl; - break; - case XML_TYPE_TEXT_WRITING_MODE: - pPropHdl = new XMLConstantsPropertyHandler( - &(aXML_WritingDirection_Enum[1]), - XML_LR_TB); - break; - case XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT: - pPropHdl = new XMLConstantsPropertyHandler( - aXML_WritingDirection_Enum, - XML_PAGE); - break; - } + pPropHdl = CreatePropertyHandler( nType ); if( pPropHdl ) PutHdlCache( nType, pPropHdl ); @@ -477,3 +265,224 @@ const XMLPropertyHandler* XMLPropertyHandlerFactory::GetBasicHandler( sal_Int32 return pPropHdl; } + +const XMLPropertyHandler* XMLPropertyHandlerFactory::CreatePropertyHandler( sal_Int32 nType ) +{ + XMLPropertyHandler* pPropHdl = NULL; + + switch( nType ) + { + case XML_TYPE_BOOL : + pPropHdl = new XMLBoolPropHdl; + break; + case XML_TYPE_MEASURE : + pPropHdl = new XMLMeasurePropHdl( 4 ); + break; + case XML_TYPE_MEASURE8 : + pPropHdl = new XMLMeasurePropHdl( 1 ); + break; + case XML_TYPE_MEASURE16: + pPropHdl = new XMLMeasurePropHdl( 2 ); + break; + case XML_TYPE_PERCENT : + pPropHdl = new XMLPercentPropHdl( 4 ); + break; + case XML_TYPE_PERCENT8 : + pPropHdl = new XMLPercentPropHdl( 1 ); + break; + case XML_TYPE_PERCENT16 : + pPropHdl = new XMLPercentPropHdl( 2 ); + break; + case XML_TYPE_MEASURE_PX : + pPropHdl = new XMLMeasurePxPropHdl( 4 ); + break; + case XML_TYPE_STRING : + pPropHdl = new XMLStringPropHdl; + break; + case XML_TYPE_COLOR : + pPropHdl = new XMLColorPropHdl; + break; + case XML_TYPE_NUMBER : + pPropHdl = new XMLNumberPropHdl( 4 ); + break; + case XML_TYPE_NUMBER8 : + pPropHdl = new XMLNumberPropHdl( 1 ); + break; + case XML_TYPE_NUMBER16: + pPropHdl = new XMLNumberPropHdl( 2 ); + break; + case XML_TYPE_NUMBER_NONE : + pPropHdl = new XMLNumberNonePropHdl; + break; + case XML_TYPE_NUMBER8_NONE : + pPropHdl = new XMLNumberNonePropHdl( 1 ); + break; + case XML_TYPE_NUMBER16_NONE : + pPropHdl = new XMLNumberNonePropHdl( 2 ); + break; + case XML_TYPE_DOUBLE : + pPropHdl = new XMLDoublePropHdl; + break; + case XML_TYPE_NBOOL : + pPropHdl = new XMLNBoolPropHdl; + break; + case XML_TYPE_COLORTRANSPARENT : + pPropHdl = new XMLColorTransparentPropHdl; + break; + case XML_TYPE_ISTRANSPARENT : + pPropHdl = new XMLIsTransparentPropHdl; + break; + case XML_TYPE_COLORAUTO : + pPropHdl = new XMLColorAutoPropHdl; + break; + case XML_TYPE_ISAUTOCOLOR : + pPropHdl = new XMLIsAutoColorPropHdl; + break; + case XML_TYPE_BUILDIN_CMP_ONLY : + pPropHdl = new XMLCompareOnlyPropHdl; + break; + + case XML_TYPE_RECTANGLE_LEFT : + case XML_TYPE_RECTANGLE_TOP : + case XML_TYPE_RECTANGLE_WIDTH : + case XML_TYPE_RECTANGLE_HEIGHT : + pPropHdl = new XMLRectangleMembersHdl( nType ); + break; + + case XML_TYPE_TEXT_CROSSEDOUT: + pPropHdl = new XMLCrossedOutPropHdl ; + break; + case XML_TYPE_TEXT_BOOLCROSSEDOUT: + pPropHdl = new XMLNamedBoolPropertyHdl( + GetXMLToken(XML_CROSSEDOUT_SINGLE), + GetXMLToken(XML_CROSSEDOUT_NONE) ); + break; + case XML_TYPE_TEXT_ESCAPEMENT: + pPropHdl = new XMLEscapementPropHdl; + break; + case XML_TYPE_TEXT_ESCAPEMENT_HEIGHT: + pPropHdl = new XMLEscapementHeightPropHdl; + break; + case XML_TYPE_TEXT_CASEMAP: + pPropHdl = new XMLCaseMapPropHdl; + break; + case XML_TYPE_TEXT_CASEMAP_VAR: + pPropHdl = new XMLCaseMapVariantHdl; + break; + case XML_TYPE_TEXT_FONTFAMILYNAME: + pPropHdl = new XMLFontFamilyNamePropHdl; + break; + case XML_TYPE_TEXT_FONTFAMILY: + pPropHdl = new XMLFontFamilyPropHdl; + break; + case XML_TYPE_TEXT_FONTENCODING: + pPropHdl = new XMLFontEncodingPropHdl; + break; + case XML_TYPE_TEXT_FONTPITCH: + pPropHdl = new XMLFontPitchPropHdl; + break; + case XML_TYPE_TEXT_KERNING: + pPropHdl = new XMLKerningPropHdl; + break; + case XML_TYPE_TEXT_POSTURE: + pPropHdl = new XMLPosturePropHdl; + break; + case XML_TYPE_TEXT_SHADOWED: + pPropHdl = new XMLShadowedPropHdl; + break; + case XML_TYPE_TEXT_UNDERLINE: + pPropHdl = new XMLUnderlinePropHdl; + break; + case XML_TYPE_TEXT_UNDERLINE_COLOR: + pPropHdl = new XMLColorTransparentPropHdl( XML_FONT_COLOR ); + break; + case XML_TYPE_TEXT_UNDERLINE_HASCOLOR: + pPropHdl = new XMLIsTransparentPropHdl( XML_FONT_COLOR, + sal_False ); + break; + case XML_TYPE_TEXT_WEIGHT: + pPropHdl = new XMLFontWeightPropHdl; + break; + case XML_TYPE_TEXT_SPLIT: + pPropHdl = new XMLFmtSplitPropHdl; + break; + case XML_TYPE_TEXT_BREAKBEFORE: + pPropHdl = new XMLFmtBreakBeforePropHdl; + break; + case XML_TYPE_TEXT_BREAKAFTER: + pPropHdl = new XMLFmtBreakAfterPropHdl; + break; + case XML_TYPE_TEXT_SHADOW: + pPropHdl = new XMLShadowPropHdl; + break; + case XML_TYPE_TEXT_ADJUST: + pPropHdl = new XMLParaAdjustPropHdl; + break; + case XML_TYPE_TEXT_ADJUSTLAST: + pPropHdl = new XMLLastLineAdjustPropHdl; + break; + case XML_TYPE_CHAR_HEIGHT: + pPropHdl = new XMLCharHeightHdl; + break; + case XML_TYPE_CHAR_HEIGHT_PROP: + pPropHdl = new XMLCharHeightPropHdl; + break; + case XML_TYPE_CHAR_HEIGHT_DIFF: + pPropHdl = new XMLCharHeightDiffHdl; + break; + case XML_TYPE_CHAR_LANGUAGE: + pPropHdl = new XMLCharLanguageHdl; + break; + case XML_TYPE_CHAR_COUNTRY: + pPropHdl = new XMLCharCountryHdl; + break; + case XML_TYPE_LINE_SPACE_FIXED: + pPropHdl = new XMLLineHeightHdl; + break; + case XML_TYPE_LINE_SPACE_MINIMUM: + pPropHdl = new XMLLineHeightAtLeastHdl; + break; + case XML_TYPE_LINE_SPACE_DISTANCE: + pPropHdl = new XMLLineSpacingHdl; + break; + case XML_TYPE_BORDER_WIDTH: + pPropHdl = new XMLBorderWidthHdl; + break; + case XML_TYPE_BORDER: + pPropHdl = new XMLBorderHdl; + break; + case XML_TYPE_TEXT_TABSTOP: + pPropHdl = new XMLTabStopPropHdl; + break; + case XML_TYPE_ATTRIBUTE_CONTAINER: + pPropHdl = new XMLAttributeContainerHandler; + break; + case XML_TYPE_COLOR_MODE: + pPropHdl = new XMLEnumPropertyHdl( aXML_ColorMode_EnumMap, + ::getCppuType((const drawing::ColorMode*)0) ); + break; + case XML_TYPE_DURATION16_MS: + pPropHdl = new XMLDurationMS16PropHdl_Impl; + break; + case XML_TYPE_TEXT_HORIZONTAL_ADJUST: + pPropHdl = new XMLEnumPropertyHdl( + aXML_HorizontalAdjust_Enum, + ::getCppuType((const text::HorizontalAdjust*)0) ); + break; + case XML_TYPE_TEXT_DRAW_ASPECT: + pPropHdl = new DrawAspectHdl; + break; + case XML_TYPE_TEXT_WRITING_MODE: + pPropHdl = new XMLConstantsPropertyHandler( + &(aXML_WritingDirection_Enum[1]), + XML_LR_TB); + break; + case XML_TYPE_TEXT_WRITING_MODE_WITH_DEFAULT: + pPropHdl = new XMLConstantsPropertyHandler( + aXML_WritingDirection_Enum, + XML_PAGE); + break; + } + + return pPropHdl; +} |