summaryrefslogtreecommitdiff
path: root/xmloff/source/style/prhdlfac.cxx
diff options
context:
space:
mode:
authorDaniel Vogelheim <dvo@openoffice.org>2002-06-20 14:13:05 +0000
committerDaniel Vogelheim <dvo@openoffice.org>2002-06-20 14:13:05 +0000
commit4a51c4f17a7c1beba98efe8c6cba19ca3cf83856 (patch)
treebafd9fe8eb73356c6a5c9d7224826f37684b9bb4 /xmloff/source/style/prhdlfac.cxx
parent77f7fbd6ebeab675be6bd1108d89fdbcacdb453b (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.cxx441
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;
+}