summaryrefslogtreecommitdiff
path: root/xmloff/source/text/XMLTextColumnsContext.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff/source/text/XMLTextColumnsContext.cxx')
-rw-r--r--xmloff/source/text/XMLTextColumnsContext.cxx38
1 files changed, 35 insertions, 3 deletions
diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx
index 48175ae33e4f..a1bfa163711a 100644
--- a/xmloff/source/text/XMLTextColumnsContext.cxx
+++ b/xmloff/source/text/XMLTextColumnsContext.cxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67,10 +68,11 @@ enum SvXMLSepTokenMapAttrs
XML_TOK_COLUMN_SEP_HEIGHT,
XML_TOK_COLUMN_SEP_COLOR,
XML_TOK_COLUMN_SEP_ALIGN,
+ XML_TOK_COLUMN_SEP_STYLE,
XML_TOK_COLUMN_SEP_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aColAttrTokenMap[] =
+static SvXMLTokenMapEntry aColAttrTokenMap[] =
{
{ XML_NAMESPACE_STYLE, XML_REL_WIDTH, XML_TOK_COLUMN_WIDTH },
{ XML_NAMESPACE_FO, XML_START_INDENT, XML_TOK_COLUMN_MARGIN_LEFT },
@@ -78,16 +80,26 @@ static __FAR_DATA SvXMLTokenMapEntry aColAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-static __FAR_DATA SvXMLTokenMapEntry aColSepAttrTokenMap[] =
+static SvXMLTokenMapEntry aColSepAttrTokenMap[] =
{
{ XML_NAMESPACE_STYLE, XML_WIDTH, XML_TOK_COLUMN_SEP_WIDTH },
{ XML_NAMESPACE_STYLE, XML_COLOR, XML_TOK_COLUMN_SEP_COLOR },
{ XML_NAMESPACE_STYLE, XML_HEIGHT, XML_TOK_COLUMN_SEP_HEIGHT },
{ XML_NAMESPACE_STYLE, XML_VERTICAL_ALIGN, XML_TOK_COLUMN_SEP_ALIGN },
+ { XML_NAMESPACE_STYLE, XML_STYLE, XML_TOK_COLUMN_SEP_STYLE },
XML_TOKEN_MAP_END
};
-SvXMLEnumMapEntry __READONLY_DATA pXML_Sep_Align_Enum[] =
+SvXMLEnumMapEntry const pXML_Sep_Style_Enum[] =
+{
+ { XML_NONE, 0 },
+ { XML_SOLID, 1 },
+ { XML_DOTTED, 2 },
+ { XML_DASHED, 3 },
+ { XML_TOKEN_INVALID, 0 }
+};
+
+SvXMLEnumMapEntry const pXML_Sep_Align_Enum[] =
{
{ XML_TOP, VerticalAlignment_TOP },
{ XML_MIDDLE, VerticalAlignment_MIDDLE },
@@ -180,6 +192,7 @@ class XMLTextColumnSepContext_Impl: public SvXMLImportContext
sal_Int32 nWidth;
sal_Int32 nColor;
sal_Int8 nHeight;
+ sal_Int8 nStyle;
VerticalAlignment eVertAlign;
@@ -197,6 +210,7 @@ public:
sal_Int32 GetWidth() const { return nWidth; }
sal_Int32 GetColor() const { return nColor; }
sal_Int8 GetHeight() const { return nHeight; }
+ sal_Int8 GetStyle() const { return nStyle; }
VerticalAlignment GetVertAlign() const { return eVertAlign; }
};
@@ -213,6 +227,7 @@ XMLTextColumnSepContext_Impl::XMLTextColumnSepContext_Impl(
nWidth( 2 ),
nColor( 0 ),
nHeight( 100 ),
+ nStyle( 1 ),
eVertAlign( VerticalAlignment_TOP )
{
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
@@ -256,6 +271,15 @@ XMLTextColumnSepContext_Impl::XMLTextColumnSepContext_Impl(
eVertAlign = (VerticalAlignment)nAlign;
}
break;
+ case XML_TOK_COLUMN_SEP_STYLE:
+ {
+ sal_uInt16 nStyleVal;
+ if( GetImport().GetMM100UnitConverter().
+ convertEnum( nStyleVal, rValue,
+ pXML_Sep_Style_Enum ) )
+ nStyle = (sal_Int8)nStyleVal;
+ }
+ break;
}
}
}
@@ -286,6 +310,7 @@ XMLTextColumnsContext::XMLTextColumnsContext(
, sSeparatorLineVerticalAlignment(RTL_CONSTASCII_USTRINGPARAM("SeparatorLineVerticalAlignment"))
, sIsAutomatic(RTL_CONSTASCII_USTRINGPARAM("IsAutomatic"))
, sAutomaticDistance(RTL_CONSTASCII_USTRINGPARAM("AutomaticDistance"))
+, sSeparatorLineStyle(RTL_CONSTASCII_USTRINGPARAM("SeparatorLineStyle"))
, pColumns( 0 )
, pColumnSep( 0 )
, pColumnAttrTokenMap( new SvXMLTokenMap(aColAttrTokenMap) )
@@ -477,6 +502,11 @@ void XMLTextColumnsContext::EndElement( )
xPropSet->setPropertyValue( sSeparatorLineRelativeHeight,
aAny );
}
+ if ( pColumnSep->GetStyle() )
+ {
+ aAny <<= pColumnSep->GetStyle();
+ xPropSet->setPropertyValue( sSeparatorLineStyle, aAny );
+ }
aAny <<= pColumnSep->GetColor();
@@ -501,3 +531,5 @@ void XMLTextColumnsContext::EndElement( )
XMLElementPropertyContext::EndElement();
}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */