[ooo-build-commit] .: filter/inc filter/source oox/inc oox/source writerfilter/source

Cédric Bosdonnat cbosdo at kemper.freedesktop.org
Wed Oct 6 15:01:31 PDT 2010


 filter/inc/filter/msfilter/msdffimp.hxx                  |    1 
 filter/source/msfilter/msdffimp.cxx                      |    6 +
 filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl    |    8 -
 filter/source/xslt/export/uof/odf2uof_text.xsl           |    8 -
 oox/inc/oox/helper/helper.hxx                            |    4 
 oox/inc/oox/xls/stylesbuffer.hxx                         |   12 +-
 oox/source/drawingml/table/tablecell.cxx                 |    6 -
 oox/source/drawingml/table/tableproperties.cxx           |    2 
 oox/source/drawingml/table/tablerow.cxx                  |    2 
 oox/source/xls/stylesbuffer.cxx                          |   87 ++++++++-------
 writerfilter/source/dmapper/BorderHandler.cxx            |    6 -
 writerfilter/source/dmapper/BorderHandler.hxx            |    6 -
 writerfilter/source/dmapper/CellColorHandler.hxx         |    2 
 writerfilter/source/dmapper/ConversionHelper.cxx         |   61 ++++++----
 writerfilter/source/dmapper/ConversionHelper.hxx         |    7 -
 writerfilter/source/dmapper/DomainMapper.cxx             |   10 -
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx |    3 
 writerfilter/source/dmapper/DomainMapper_Impl.cxx        |    4 
 writerfilter/source/dmapper/GraphicImport.cxx            |    4 
 writerfilter/source/dmapper/PageBordersHandler.hxx       |    4 
 writerfilter/source/dmapper/PropertyMap.cxx              |    6 -
 writerfilter/source/dmapper/PropertyMap.hxx              |    6 -
 writerfilter/source/dmapper/TDefTableHandler.cxx         |    4 
 writerfilter/source/dmapper/TDefTableHandler.hxx         |   19 +--
 24 files changed, 155 insertions(+), 123 deletions(-)

New commits:
commit 1ffaff31091be231c665e1f7c014b5c6d7c4ebdc
Author: Cédric Bosdonnat <cedricbosdo at openoffice.org>
Date:   Wed Oct 6 23:54:46 2010 +0200

    fate#307731, fate#307730: Adds dotted and dashed border lines

diff --git a/filter/inc/filter/msfilter/msdffimp.hxx b/filter/inc/filter/msfilter/msdffimp.hxx
index 31ac69f..f06a35b 100644
--- a/filter/inc/filter/msfilter/msdffimp.hxx
+++ b/filter/inc/filter/msfilter/msdffimp.hxx
@@ -289,6 +289,7 @@ struct MSFILTER_DLLPUBLIC SvxMSDffImportRec
     ULONG		nShapeId;
     MSO_SPT		eShapeType;
     MSO_LineStyle eLineStyle;	// Umrandungs-Arten
+    MSO_LineDashing eLineDashing;
     BOOL		bDrawHell		:1;
     BOOL		bHidden			:1;
     BOOL		bReplaceByFly	:1;
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 410cfae..7fd599d 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -6020,6 +6020,10 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt,
                             : (MSO_LineStyle)USHRT_MAX;
         pTextImpRec->eLineStyle = pImpRec->eLineStyle;
 
+        pImpRec->eLineDashing = (MSO_LineDashing)GetPropertyValue(
+                DFF_Prop_lineDashing, mso_lineSolid );
+        pTextImpRec->eLineDashing = pImpRec->eLineDashing;
+
         if( pImpRec->nShapeId )
         {
             // Import-Record-Liste ergaenzen
@@ -8028,6 +8032,7 @@ SvxMSDffImportRec::SvxMSDffImportRec()
       eShapeType( mso_sptNil )
 {
       eLineStyle      = mso_lineSimple; // GPF-Bug #66227#
+      eLineDashing    = mso_lineSolid;
       bDrawHell       = FALSE;
       bHidden         = FALSE;
       bReplaceByFly   = FALSE;
@@ -8074,6 +8079,7 @@ SvxMSDffImportRec::SvxMSDffImportRec(const SvxMSDffImportRec& rCopy)
        *pYRelTo = *(rCopy.pYRelTo);
     }
     eLineStyle       = rCopy.eLineStyle; // GPF-Bug #66227#
+    eLineDashing     = rCopy.eLineDashing;
     bDrawHell        = rCopy.bDrawHell;
     bHidden          = rCopy.bHidden;
     bReplaceByFly    = rCopy.bReplaceByFly;
diff --git a/filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl b/filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
index 1507305..78a37f9 100644
--- a/filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
+++ b/filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
@@ -4262,7 +4262,7 @@
 				<xsl:element name="uof:å·¦">
 					<xsl:attribute name="uof:locID">u0057</xsl:attribute>
 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 					<xsl:if test="$border!='none'">
 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
@@ -4274,7 +4274,7 @@
 				<xsl:element name="uof:上">
 					<xsl:attribute name="uof:locID">u0058</xsl:attribute>
 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 					<xsl:if test="$border!='none'">
 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
@@ -4286,7 +4286,7 @@
 				<xsl:element name="uof:右">
 					<xsl:attribute name="uof:locID">u0059</xsl:attribute>
 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 					<xsl:if test="$border!='none'">
 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
@@ -4298,7 +4298,7 @@
 				<xsl:element name="uof:下">
 					<xsl:attribute name="uof:locID">u0060</xsl:attribute>
 					<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-					<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+                    <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 					<xsl:if test="$border!='none'">
 						<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),$uofUnit)"/></xsl:attribute>
 						<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
diff --git a/filter/source/xslt/export/uof/odf2uof_text.xsl b/filter/source/xslt/export/uof/odf2uof_text.xsl
index 0586c17..b02108e 100644
--- a/filter/source/xslt/export/uof/odf2uof_text.xsl
+++ b/filter/source/xslt/export/uof/odf2uof_text.xsl
@@ -3248,7 +3248,7 @@
 		<xsl:element name="uof:å·¦">
 			<xsl:attribute name="uof:locID">u0057</xsl:attribute>
 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 			<xsl:if test="$border!='none'">
 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
@@ -3266,7 +3266,7 @@
 		<xsl:element name="uof:上">
 			<xsl:attribute name="uof:locID">u0058</xsl:attribute>
 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 			<xsl:if test="$border!='none'">
 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
@@ -3284,7 +3284,7 @@
 		<xsl:element name="uof:右">
 			<xsl:attribute name="uof:locID">u0059</xsl:attribute>
 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 			<xsl:if test="$border!='none'">
 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
@@ -3302,7 +3302,7 @@
 		<xsl:element name="uof:下">
 			<xsl:attribute name="uof:locID">u0060</xsl:attribute>
 			<xsl:attribute name="uof:attrList">类型 宽度 边距 颜色 阴影</xsl:attribute>
-			<xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
+            <xsl:attribute name="uof:类型"><xsl:choose><xsl:when test="$border!='none'"><xsl:choose><xsl:when test="substring-before(substring-after($border,' '),' ')='solid'">single</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='double'">double</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dashed'">dash</xsl:when><xsl:when test="substring-before(substring-after($border,' '),' ')='dotted'">dotted</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
 			<xsl:if test="$border!='none'">
 				<xsl:attribute name="uof:宽度"><xsl:value-of select="substring-before(substring-before($border,' '),substring($ooUnit,1,2))"/></xsl:attribute>
 				<xsl:attribute name="uof:颜色"><xsl:value-of select="substring-after(substring-after($border,' '),' ')"/></xsl:attribute>
diff --git a/oox/inc/oox/helper/helper.hxx b/oox/inc/oox/helper/helper.hxx
index 67a5f16..4206cf9 100644
--- a/oox/inc/oox/helper/helper.hxx
+++ b/oox/inc/oox/helper/helper.hxx
@@ -97,6 +97,10 @@ const sal_Int32 API_RGB_TRANSPARENT         = -1;       /// Transparent color fo
 const sal_Int32 API_RGB_BLACK               = 0x000000;  /// Black color for API calls.
 const sal_Int32 API_RGB_WHITE               = 0xFFFFFF;  /// White color for API calls.
 
+const sal_Int16 API_LINE_SOLID              = 0;
+const sal_Int16 API_LINE_DOTTED             = 1;
+const sal_Int16 API_LINE_DASHED             = 2;
+
 const sal_Int16 API_LINE_NONE               = 0;
 const sal_Int16 API_LINE_HAIR               = 2;
 const sal_Int16 API_LINE_THIN               = 35;
diff --git a/oox/inc/oox/xls/stylesbuffer.hxx b/oox/inc/oox/xls/stylesbuffer.hxx
index 3a5efc7..ea134c5 100644
--- a/oox/inc/oox/xls/stylesbuffer.hxx
+++ b/oox/inc/oox/xls/stylesbuffer.hxx
@@ -33,7 +33,7 @@
 #include <com/sun/star/table/CellHoriJustify.hpp>
 #include <com/sun/star/table/CellOrientation.hpp>
 #include <com/sun/star/table/CellVertJustify.hpp>
-#include <com/sun/star/table/TableBorder.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include "oox/helper/containerhelper.hxx"
 #include "oox/helper/graphichelper.hxx"
 #include "oox/drawingml/color.hxx"
@@ -517,10 +517,12 @@ struct BorderModel
 /** Contains API attributes of a complete cell border. */
 struct ApiBorderData
 {
-    typedef ::com::sun::star::table::TableBorder    ApiTableBorder;
-    typedef ::com::sun::star::table::BorderLine     ApiBorderLine;
+    typedef ::com::sun::star::table::BorderLine2     ApiBorderLine;
 
-    ApiTableBorder      maBorder;           /// Left/right/top/bottom line format.
+    ApiBorderLine       maLeft;             /// Left line format
+    ApiBorderLine       maRight;            /// Right line format
+    ApiBorderLine       maTop;              /// Top line format
+    ApiBorderLine       maBottom;           /// Bottom line format
     ApiBorderLine       maTLtoBR;           /// Diagonal top-left to bottom-right line format.
     ApiBorderLine       maBLtoTR;           /// Diagonal bottom-left to top-right line format.
     bool                mbBorderUsed;       /// True = left/right/top/bottom line format used.
@@ -583,7 +585,7 @@ private:
 
     /** Converts border line data to an API struct, returns true, if the line is marked as used. */
     bool                convertBorderLine(
-                            ::com::sun::star::table::BorderLine& rBorderLine,
+                            ::com::sun::star::table::BorderLine2& rBorderLine,
                             const BorderLineModel& rModel );
 
 private:
diff --git a/oox/source/drawingml/table/tablecell.cxx b/oox/source/drawingml/table/tablecell.cxx
index bb3287c..6decf3a 100644
--- a/oox/source/drawingml/table/tablecell.cxx
+++ b/oox/source/drawingml/table/tablecell.cxx
@@ -37,7 +37,7 @@
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
 #include <com/sun/star/table/XTable.hpp>
 #include <com/sun/star/table/XMergeableCellRange.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/drawing/LineStyle.hpp>
 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
 #include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
@@ -48,7 +48,7 @@ using namespace ::oox::core;
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
-using ::com::sun::star::table::BorderLine;
+using ::com::sun::star::table::BorderLine2;
 using ::com::sun::star::drawing::LineStyle;
 
 namespace oox { namespace drawingml { namespace table {
@@ -76,7 +76,7 @@ void applyLineAttributes( const ::oox::core::XmlFilterBase& rFilterBase,
         Reference< XPropertySet >& rxPropSet, oox::drawingml::LineProperties& rLineProperties,
         sal_Int32 nPropId )
 {
-    BorderLine aBorderLine( 0, 0, 0, 0 );
+    BorderLine2 aBorderLine( 0, 0, 0, 0, API_LINE_SOLID );
     if( rLineProperties.maLineFill.moFillType.differsFrom( XML_noFill ) )
     {
         Color aColor = rLineProperties.maLineFill.getBestSolidColor();
diff --git a/oox/source/drawingml/table/tableproperties.cxx b/oox/source/drawingml/table/tableproperties.cxx
index 5c0af81..9357c9f 100644
--- a/oox/source/drawingml/table/tableproperties.cxx
+++ b/oox/source/drawingml/table/tableproperties.cxx
@@ -32,7 +32,7 @@
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/table/XMergeableCellRange.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include "oox/core/namespaces.hxx"
 #include "oox/core/xmlfilterbase.hxx"
 #include "oox/helper/propertyset.hxx"
diff --git a/oox/source/drawingml/table/tablerow.cxx b/oox/source/drawingml/table/tablerow.cxx
index af53830..0184a7e 100644
--- a/oox/source/drawingml/table/tablerow.cxx
+++ b/oox/source/drawingml/table/tablerow.cxx
@@ -34,7 +34,7 @@
 #include "oox/helper/propertyset.hxx"
 #include <com/sun/star/table/XTable.hpp>
 #include <com/sun/star/table/XMergeableCellRange.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 
 using rtl::OUString;
 using namespace ::oox::core;
diff --git a/oox/source/xls/stylesbuffer.cxx b/oox/source/xls/stylesbuffer.cxx
index f9e78c0..d623524 100644
--- a/oox/source/xls/stylesbuffer.cxx
+++ b/oox/source/xls/stylesbuffer.cxx
@@ -43,6 +43,7 @@
 #include <com/sun/star/text/XText.hpp>
 #include <com/sun/star/table/CellVertJustify2.hpp>
 #include <com/sun/star/table/CellJustifyMethod.hpp>
+#include <com/sun/star/table/TableBorder.hpp>
 #include <rtl/tencinfo.h>
 #include <rtl/ustrbuf.hxx>
 #include "properties.hxx"
@@ -71,6 +72,7 @@ using ::com::sun::star::awt::FontDescriptor;
 using ::com::sun::star::awt::XDevice;
 using ::com::sun::star::awt::XFont2;
 using ::com::sun::star::table::BorderLine;
+using ::com::sun::star::table::BorderLine2;
 using ::com::sun::star::table::TableBorder;
 using ::com::sun::star::text::XText;
 using ::com::sun::star::style::XStyle;
@@ -1504,6 +1506,15 @@ void Protection::writeToPropertyMap( PropertyMap& rPropMap ) const
 
 // ============================================================================
 
+namespace {
+
+bool lcl_isBorder(const ::com::sun::star::table::BorderLine& rBorder)
+{
+    return (rBorder.InnerLineWidth > 0) || (rBorder.OuterLineWidth > 0);
+}
+
+}
+
 BorderLineModel::BorderLineModel( bool bDxf ) :
     mnStyle( XML_none ),
     mbUsed( !bDxf )
@@ -1551,10 +1562,10 @@ ApiBorderData::ApiBorderData() :
 bool ApiBorderData::hasAnyOuterBorder() const
 {
     return
-        (maBorder.IsTopLineValid    && (maBorder.TopLine.OuterLineWidth > 0)) ||
-        (maBorder.IsBottomLineValid && (maBorder.BottomLine.OuterLineWidth > 0)) ||
-        (maBorder.IsLeftLineValid   && (maBorder.LeftLine.OuterLineWidth > 0)) ||
-        (maBorder.IsRightLineValid  && (maBorder.RightLine.OuterLineWidth > 0));
+        ( ( lcl_isBorder( maTop ) &&  maTop.OuterLineWidth > 0 ) ) ||
+        ( ( lcl_isBorder( maBottom ) && maBottom.OuterLineWidth > 0 ) ) ||
+        ( ( lcl_isBorder( maLeft ) && maLeft.OuterLineWidth > 0 ) ) ||
+        ( ( lcl_isBorder( maRight ) && maRight.OuterLineWidth > 0 ) );
 }
 
 namespace {
@@ -1592,7 +1603,10 @@ bool operator==( const TableBorder& rLeft, const TableBorder& rRight )
 bool operator==( const ApiBorderData& rLeft, const ApiBorderData& rRight )
 {
     return
-        (rLeft.maBorder     == rRight.maBorder) &&
+        (rLeft.maLeft       == rRight.maLeft)   &&
+        (rLeft.maRight      == rRight.maRight)  &&
+        (rLeft.maTop        == rRight.maTop)    &&
+        (rLeft.maBottom     == rRight.maBottom) &&
         (rLeft.maTLtoBR     == rRight.maTLtoBR) &&
         (rLeft.maBLtoTR     == rRight.maBLtoTR) &&
         (rLeft.mbBorderUsed == rRight.mbBorderUsed) &&
@@ -1616,7 +1630,7 @@ inline sal_Int32 lclGetBorderLineWidth( const BorderLine& rBorderLine )
     return rBorderLine.OuterLineWidth + rBorderLine.LineDistance + rBorderLine.InnerLineWidth;
 }
 
-const BorderLine* lclGetThickerLine( const BorderLine& rBorderLine1, sal_Bool bValid1, const BorderLine& rBorderLine2, sal_Bool bValid2 )
+const BorderLine2* lclGetThickerLine( const BorderLine2& rBorderLine1, sal_Bool bValid1, const BorderLine2& rBorderLine2, sal_Bool bValid2 )
 {
     if( bValid1 && bValid2 )
         return (lclGetBorderLineWidth( rBorderLine1 ) < lclGetBorderLineWidth( rBorderLine2 )) ? &rBorderLine2 : &rBorderLine1;
@@ -1754,21 +1768,10 @@ void Border::finalizeImport()
     maApiData.mbBorderUsed = maModel.maLeft.mbUsed || maModel.maRight.mbUsed || maModel.maTop.mbUsed || maModel.maBottom.mbUsed;
     maApiData.mbDiagUsed   = maModel.maDiagonal.mbUsed;
 
-    maApiData.maBorder.IsLeftLineValid   = convertBorderLine( maApiData.maBorder.LeftLine,   maModel.maLeft );
-    maApiData.maBorder.IsRightLineValid  = convertBorderLine( maApiData.maBorder.RightLine,  maModel.maRight );
-    maApiData.maBorder.IsTopLineValid    = convertBorderLine( maApiData.maBorder.TopLine,    maModel.maTop );
-    maApiData.maBorder.IsBottomLineValid = convertBorderLine( maApiData.maBorder.BottomLine, maModel.maBottom );
-
-    if( !mbDxf )
-    {
-        maApiData.maBorder.IsVerticalLineValid = maApiData.maBorder.IsLeftLineValid || maApiData.maBorder.IsRightLineValid;
-        if( const BorderLine* pVertLine = lclGetThickerLine( maApiData.maBorder.LeftLine, maApiData.maBorder.IsLeftLineValid, maApiData.maBorder.RightLine, maApiData.maBorder.IsRightLineValid ) )
-            maApiData.maBorder.VerticalLine = *pVertLine;
-
-        maApiData.maBorder.IsHorizontalLineValid = maApiData.maBorder.IsTopLineValid || maApiData.maBorder.IsBottomLineValid;
-        if( const BorderLine* pHorLine = lclGetThickerLine( maApiData.maBorder.TopLine, maApiData.maBorder.IsTopLineValid, maApiData.maBorder.BottomLine, maApiData.maBorder.IsBottomLineValid ) )
-            maApiData.maBorder.HorizontalLine = *pHorLine;
-    }
+    convertBorderLine( maApiData.maLeft,   maModel.maLeft );
+    convertBorderLine( maApiData.maRight,  maModel.maRight );
+    convertBorderLine( maApiData.maTop,    maModel.maTop );
+    convertBorderLine( maApiData.maBottom, maModel.maBottom );
 
     if( maModel.mbDiagTLtoBR )
         convertBorderLine( maApiData.maTLtoBR, maModel.maDiagonal );
@@ -1779,7 +1782,12 @@ void Border::finalizeImport()
 void Border::writeToPropertyMap( PropertyMap& rPropMap ) const
 {
     if( maApiData.mbBorderUsed )
-        rPropMap[ PROP_TableBorder ] <<= maApiData.maBorder;
+    {
+        rPropMap[ PROP_LeftBorder ]   <<= maApiData.maLeft;
+        rPropMap[ PROP_RightBorder ]  <<= maApiData.maRight;
+        rPropMap[ PROP_TopBorder ]    <<= maApiData.maTop;
+        rPropMap[ PROP_BottomBorder ] <<= maApiData.maBottom;
+    }
     if( maApiData.mbDiagUsed )
     {
         rPropMap[ PROP_DiagonalTLBR ] <<= maApiData.maTLtoBR;
@@ -1787,29 +1795,18 @@ void Border::writeToPropertyMap( PropertyMap& rPropMap ) const
     }
 }
 
-namespace {
-
-bool lcl_isBorder(const ::com::sun::star::table::BorderLine& rBorder)
-{
-    return (rBorder.InnerLineWidth > 0) || (rBorder.OuterLineWidth > 0);
-}
-
-}
-
 bool Border::hasBorder() const
 {
-    const ApiBorderData::ApiTableBorder& rTabBorder = maApiData.maBorder;
-
-    if (rTabBorder.IsBottomLineValid && lcl_isBorder(rTabBorder.BottomLine))
+    if (lcl_isBorder(maApiData.maBottom))
         return true;
 
-    if (rTabBorder.IsTopLineValid && lcl_isBorder(rTabBorder.TopLine))
+    if (lcl_isBorder(maApiData.maTop))
         return true;
 
-    if (rTabBorder.IsLeftLineValid && lcl_isBorder(rTabBorder.LeftLine))
+    if (lcl_isBorder(maApiData.maLeft))
         return true;
 
-    if (rTabBorder.IsRightLineValid && lcl_isBorder(rTabBorder.RightLine))
+    if (lcl_isBorder(maApiData.maRight))
         return true;
 
     return false;
@@ -1828,15 +1825,25 @@ BorderLineModel* Border::getBorderLine( sal_Int32 nElement )
     return 0;
 }
 
-bool Border::convertBorderLine( BorderLine& rBorderLine, const BorderLineModel& rModel )
+bool Border::convertBorderLine( BorderLine2& rBorderLine, const BorderLineModel& rModel )
 {
     rBorderLine.Color = rModel.maColor.getColor( getBaseFilter().getGraphicHelper(), API_RGB_BLACK );
     switch( rModel.mnStyle )
     {
         case XML_dashDot:           lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
         case XML_dashDotDot:        lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
-        case XML_dashed:            lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
-        case XML_dotted:            lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );    break;
+        case XML_dashed:
+        {
+                                    lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );
+                                    rBorderLine.LineStyle = API_LINE_DASHED;
+                                    break;
+        }
+        case XML_dotted:
+        {
+                                    lclSetBorderLineWidth( rBorderLine, API_LINE_THIN );
+                                    rBorderLine.LineStyle = API_LINE_DOTTED;
+                                    break;
+        }
         case XML_double:            lclSetBorderLineWidth( rBorderLine, API_LINE_THIN, API_LINE_THIN, API_LINE_THIN ); break;
         case XML_hair:              lclSetBorderLineWidth( rBorderLine, API_LINE_HAIR );    break;
         case XML_medium:            lclSetBorderLineWidth( rBorderLine, API_LINE_MEDIUM );  break;
diff --git a/writerfilter/source/dmapper/BorderHandler.cxx b/writerfilter/source/dmapper/BorderHandler.cxx
index 9e034fe..497b918 100644
--- a/writerfilter/source/dmapper/BorderHandler.cxx
+++ b/writerfilter/source/dmapper/BorderHandler.cxx
@@ -29,7 +29,7 @@
 #include <resourcemodel/QNameToString.hxx>
 #include <doctok/resourceids.hxx>
 #include <ConversionHelper.hxx>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <ooxml/resourceids.hxx>
 #include <dmapperLoggers.hxx>
 
@@ -190,9 +190,9 @@ PropertyMapPtr  BorderHandler::getProperties()
 /*-- 14.11.2007 12:42:52---------------------------------------------------
     used only in OOXML import
   -----------------------------------------------------------------------*/
-table::BorderLine BorderHandler::getBorderLine()
+table::BorderLine2 BorderHandler::getBorderLine()
 {
-    table::BorderLine aBorderLine;
+    table::BorderLine2 aBorderLine;
     ConversionHelper::MakeBorderLine( m_nLineWidth, m_nLineType, m_nLineColor, aBorderLine, m_bOOXML );
     return aBorderLine;
 }
diff --git a/writerfilter/source/dmapper/BorderHandler.hxx b/writerfilter/source/dmapper/BorderHandler.hxx
index 6502361..343fd41 100644
--- a/writerfilter/source/dmapper/BorderHandler.hxx
+++ b/writerfilter/source/dmapper/BorderHandler.hxx
@@ -30,7 +30,7 @@
 #include <WriterFilterDllApi.hxx>
 #include <resourcemodel/WW8ResourceModel.hxx>
 #include <boost/shared_ptr.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 
 namespace writerfilter {
 namespace dmapper
@@ -61,7 +61,7 @@ private:
     bool            m_bOOXML;
 
     bool                                        m_aFilledLines[BORDER_COUNT];
-    ::com::sun::star::table::BorderLine         m_aBorderLines[BORDER_COUNT];
+    ::com::sun::star::table::BorderLine2        m_aBorderLines[BORDER_COUNT];
 
 public:
     BorderHandler( bool bOOXML );
@@ -72,7 +72,7 @@ public:
     virtual void sprm(Sprm & sprm);
 
     ::boost::shared_ptr<PropertyMap>            getProperties();
-    ::com::sun::star::table::BorderLine         getBorderLine();
+    ::com::sun::star::table::BorderLine2        getBorderLine();
     sal_Int32                                   getLineDistance() const { return m_nLineDistance;}
 };
 typedef boost::shared_ptr< BorderHandler >          BorderHandlerPtr;
diff --git a/writerfilter/source/dmapper/CellColorHandler.hxx b/writerfilter/source/dmapper/CellColorHandler.hxx
index ebbf4ac..9ee25eb 100644
--- a/writerfilter/source/dmapper/CellColorHandler.hxx
+++ b/writerfilter/source/dmapper/CellColorHandler.hxx
@@ -30,8 +30,6 @@
 #include <WriterFilterDllApi.hxx>
 #include <resourcemodel/WW8ResourceModel.hxx>
 #include <boost/shared_ptr.hpp>
-//#include <com/sun/star/table/TableBorder.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
 
 namespace writerfilter {
 namespace dmapper
diff --git a/writerfilter/source/dmapper/ConversionHelper.cxx b/writerfilter/source/dmapper/ConversionHelper.cxx
index 85fc040..e101fd2 100644
--- a/writerfilter/source/dmapper/ConversionHelper.cxx
+++ b/writerfilter/source/dmapper/ConversionHelper.cxx
@@ -25,7 +25,7 @@
  *
  ************************************************************************/
 #include <ConversionHelper.hxx>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/lang/Locale.hpp>
 #include <com/sun/star/text/HoriOrientation.hpp>
 #include <com/sun/star/style/NumberingType.hpp>
@@ -41,6 +41,10 @@ namespace writerfilter {
 namespace dmapper{
 namespace ConversionHelper{
 
+const sal_Int16  API_LINE_SOLID    = 0;
+const sal_Int16  API_LINE_DOTTED   = 1;
+const sal_Int16  API_LINE_DASHED   = 2;
+
 #define TWIP_TO_MM100(TWIP)     ((TWIP) >= 0 ? (((TWIP)*127L+36L)/72L) : (((TWIP)*127L-36L)/72L))
 
 //line definitions in 1/100 mm
@@ -95,7 +99,7 @@ namespace ConversionHelper{
 #define DOUBLE_LINE10_IN    LINE_WIDTH_0
 #define DOUBLE_LINE10_DIST  LINE_WIDTH_2
 
-sal_Int32 MakeBorderLine( sal_Int32 nSprmValue, table::BorderLine& rToFill )
+sal_Int32 MakeBorderLine( sal_Int32 nSprmValue, table::BorderLine2& rToFill )
 {
     //TODO: Lines are always solid
     //Border
@@ -120,7 +124,7 @@ sal_Int32 MakeBorderLine( sal_Int32 nSprmValue, table::BorderLine& rToFill )
 }
 void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
                                             sal_Int32 nLineColor,
-                                            table::BorderLine& rToFill, bool bIsOOXML )
+                                            table::BorderLine2& rToFill, bool bIsOOXML )
 {
     static const sal_Int32 aBorderDefColor[] =
     {
@@ -141,7 +145,7 @@ void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
         single0, single1, single2, single3, single4, single5,
         double0, double1, double2, double3, double4, double5, double6,
         double7, double8, double9, double10,
-        none
+        none, dashed, dotted
     } eCodeIdx = none;
 
     // Map to our border types, we should use of one equal line
@@ -154,9 +158,14 @@ void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
         case  1: break;
         case  2:
         case  5:
-        // and the unsupported special cases which we map to a single line
+        // Dotted and dashed lines
         case  6:
+                 eCodeIdx = dotted;
+                 break;
         case  7:
+                 eCodeIdx = dashed;
+                 break;
+        // and the unsupported special cases which we map to a single line
         case  8:
         case  9:
         case 22:
@@ -284,29 +293,32 @@ void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
         sal_Int16 nOut;
         sal_Int16 nIn;
         sal_Int16 nDist;
+        sal_Int16 eStyle;
     };
 
 
     static const BorderDefinition aLineTab[] =
     {
-        /* 0*/  { LINE_WIDTH_0, 0, 0 },
-        /* 1*/  { LINE_WIDTH_1, 0, 0 },
-        /* 2*/  { LINE_WIDTH_2, 0, 0 },
-        /* 3*/  { LINE_WIDTH_3, 0, 0 },
-        /* 4*/  { LINE_WIDTH_4, 0, 0 },
-        /* 5*/  { LINE_WIDTH_5, 0, 0 },
-        /* 6*/  { DOUBLE_LINE0_OUT, DOUBLE_LINE0_IN, DOUBLE_LINE0_DIST },
-        /* 7*/  { DOUBLE_LINE1_OUT, DOUBLE_LINE1_IN, DOUBLE_LINE1_DIST },
-        /* 8*/  { DOUBLE_LINE2_OUT, DOUBLE_LINE2_IN, DOUBLE_LINE2_DIST },
-        /* 9*/  { DOUBLE_LINE3_OUT, DOUBLE_LINE3_IN, DOUBLE_LINE3_DIST },
-        /*10*/  { DOUBLE_LINE4_OUT, DOUBLE_LINE4_IN, DOUBLE_LINE4_DIST },
-        /*11*/  { DOUBLE_LINE5_OUT, DOUBLE_LINE5_IN, DOUBLE_LINE5_DIST },
-        /*12*/  { DOUBLE_LINE6_OUT, DOUBLE_LINE6_IN, DOUBLE_LINE6_DIST },
-        /*13*/  { DOUBLE_LINE7_OUT, DOUBLE_LINE7_IN, DOUBLE_LINE7_DIST },
-        /*14*/  { DOUBLE_LINE8_OUT, DOUBLE_LINE8_IN, DOUBLE_LINE8_DIST },
-        /*15*/  { DOUBLE_LINE9_OUT, DOUBLE_LINE9_IN, DOUBLE_LINE9_DIST },
-        /*16*/  { DOUBLE_LINE10_OUT,DOUBLE_LINE10_IN,DOUBLE_LINE10_DIST},
-        /*17*/  { 0, 0, 0 }
+        /* 0*/  { LINE_WIDTH_0, 0, 0, API_LINE_SOLID },
+        /* 1*/  { LINE_WIDTH_1, 0, 0, API_LINE_SOLID },
+        /* 2*/  { LINE_WIDTH_2, 0, 0, API_LINE_SOLID },
+        /* 3*/  { LINE_WIDTH_3, 0, 0, API_LINE_SOLID },
+        /* 4*/  { LINE_WIDTH_4, 0, 0, API_LINE_SOLID },
+        /* 5*/  { LINE_WIDTH_5, 0, 0, API_LINE_SOLID },
+        /* 6*/  { DOUBLE_LINE0_OUT, DOUBLE_LINE0_IN, DOUBLE_LINE0_DIST, API_LINE_SOLID },
+        /* 7*/  { DOUBLE_LINE1_OUT, DOUBLE_LINE1_IN, DOUBLE_LINE1_DIST, API_LINE_SOLID },
+        /* 8*/  { DOUBLE_LINE2_OUT, DOUBLE_LINE2_IN, DOUBLE_LINE2_DIST, API_LINE_SOLID },
+        /* 9*/  { DOUBLE_LINE3_OUT, DOUBLE_LINE3_IN, DOUBLE_LINE3_DIST, API_LINE_SOLID },
+        /*10*/  { DOUBLE_LINE4_OUT, DOUBLE_LINE4_IN, DOUBLE_LINE4_DIST, API_LINE_SOLID },
+        /*11*/  { DOUBLE_LINE5_OUT, DOUBLE_LINE5_IN, DOUBLE_LINE5_DIST, API_LINE_SOLID },
+        /*12*/  { DOUBLE_LINE6_OUT, DOUBLE_LINE6_IN, DOUBLE_LINE6_DIST, API_LINE_SOLID },
+        /*13*/  { DOUBLE_LINE7_OUT, DOUBLE_LINE7_IN, DOUBLE_LINE7_DIST, API_LINE_SOLID },
+        /*14*/  { DOUBLE_LINE8_OUT, DOUBLE_LINE8_IN, DOUBLE_LINE8_DIST, API_LINE_SOLID },
+        /*15*/  { DOUBLE_LINE9_OUT, DOUBLE_LINE9_IN, DOUBLE_LINE9_DIST, API_LINE_SOLID },
+        /*16*/  { DOUBLE_LINE10_OUT,DOUBLE_LINE10_IN,DOUBLE_LINE10_DIST, API_LINE_SOLID},
+        /*17*/  { 0, 0, 0, API_LINE_SOLID },
+        /*18*/  { LINE_WIDTH_5, 0, 0, API_LINE_DASHED },
+        /*19*/  { LINE_WIDTH_5, 0, 0, API_LINE_DOTTED }
     };
 
     rToFill.Color = nLineColor;
@@ -315,13 +327,14 @@ void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
         rToFill.InnerLineWidth = 0;
         rToFill.OuterLineWidth = sal_Int16(nLineThickness);
         rToFill.LineDistance = 0;
-
+        rToFill.LineStyle = API_LINE_SOLID;
     }
     else
     {
         rToFill.InnerLineWidth = aLineTab[eCodeIdx].nIn;
         rToFill.OuterLineWidth = aLineTab[eCodeIdx].nOut;
         rToFill.LineDistance = aLineTab[eCodeIdx].nDist;
+        rToFill.LineStyle = aLineTab[eCodeIdx].eStyle;
     }
 }
 
diff --git a/writerfilter/source/dmapper/ConversionHelper.hxx b/writerfilter/source/dmapper/ConversionHelper.hxx
index d635a6e..e1747e8 100644
--- a/writerfilter/source/dmapper/ConversionHelper.hxx
+++ b/writerfilter/source/dmapper/ConversionHelper.hxx
@@ -30,12 +30,13 @@
 #include <sal/types.h>
 #include <rtl/ustring.hxx>
 #include <com/sun/star/util/DateTime.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 namespace com{ namespace sun{ namespace star{
     namespace lang{
         struct Locale;
     }
     namespace table{
-        struct BorderLine;
+        struct BorderLine2;
 }}}}
 
 namespace writerfilter {
@@ -43,10 +44,10 @@ namespace dmapper{
 namespace ConversionHelper{
 
     // create a border line and return the distance value
-    sal_Int32 MakeBorderLine( sal_Int32 nSprmValue, ::com::sun::star::table::BorderLine& rToFill );
+    sal_Int32 MakeBorderLine( sal_Int32 nSprmValue, ::com::sun::star::table::BorderLine2& rToFill );
     void MakeBorderLine( sal_Int32 nLineThickness,   sal_Int32 nLineType,
                               sal_Int32 nLineColor,
-                              ::com::sun::star::table::BorderLine& rToFill, bool bIsOOXML );
+                              ::com::sun::star::table::BorderLine2& rToFill, bool bIsOOXML );
     //convert the number format string form MS format to SO format
     ::rtl::OUString ConvertMSFormatStringToSO(
             const ::rtl::OUString& rFormat, ::com::sun::star::lang::Locale& rLocale, bool bHijri);
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 5a089ba..8959fd7 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1,4 +1,4 @@
-/*************************************************************************
+#/*************************************************************************
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  * 
@@ -66,7 +66,7 @@
 #include <com/sun/star/style/CaseMap.hpp>
 #include <com/sun/star/style/LineSpacing.hpp>
 #include <com/sun/star/style/LineSpacingMode.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/text/TextGridMode.hpp>
 #include <com/sun/star/text/XDocumentIndexesSupplier.hpp>
 #include <com/sun/star/text/WritingMode.hpp>
@@ -1273,7 +1273,7 @@ void DomainMapper::attribute(Id nName, Value & val)
         case NS_rtf::LN_BRCRIGHT:
             /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */
         {
-            table::BorderLine aBorderLine;
+            table::BorderLine2 aBorderLine;
             sal_Int32 nLineDistance = ConversionHelper::MakeBorderLine( nIntValue, aBorderLine );
             (void)nLineDistance;
             PropertyIds eBorderId = PROP_LEFT_BORDER;
@@ -2528,7 +2528,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp
             }
             else
             {
-                table::BorderLine aBorderLine;
+                table::BorderLine2 aBorderLine;
                 sal_Int32 nLineDistance = ConversionHelper::MakeBorderLine( nIntValue, aBorderLine );
                 PropertyIds eBorderId = PROP_LEFT_BORDER;
                 PropertyIds eBorderDistId = PROP_LEFT_BORDER_DISTANCE  ;
@@ -3535,7 +3535,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp
     case NS_sprm::LN_SBrcRight:  // sprmSBrcRight
         /* WRITERFILTERSTATUS: Sectiondone: 100, planned: 0.5, spent: 0 */
         {
-            table::BorderLine aBorderLine;
+            table::BorderLine2 aBorderLine;
             sal_Int32 nLineDistance = ConversionHelper::MakeBorderLine( nIntValue, aBorderLine );
             OSL_ENSURE(pSectionContext, "SectionContext unavailable!");
             if(pSectionContext)
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index e48abe5..b98e753 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -29,6 +29,7 @@
 #include <StyleSheetTable.hxx>
 #include <com/sun/star/table/TableBorderDistances.hpp>
 #include <com/sun/star/table/TableBorder.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/text/HoriOrientation.hpp>
 #include <dmapperLoggers.hxx>
 
@@ -65,7 +66,7 @@ static void  lcl_printProperties( PropertyMapPtr pProps )
             rtl::OString aOStr(aOUStr.getStr(), aOUStr.getLength(),  RTL_TEXTENCODING_ASCII_US );
             clog << aOStr.getStr();
 
-            table::BorderLine aLine;
+            table::BorderLine2 aLine;
             sal_Int32 nColor; 
             if ( aMapIter->second >>= aLine )
             {
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 48fb1f5..4771786 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -40,7 +40,7 @@
 #include <com/sun/star/style/LineNumberPosition.hpp>
 #include <com/sun/star/style/NumberingType.hpp>
 #include <com/sun/star/drawing/XShape.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/text/ChapterFormat.hpp>
 #include <com/sun/star/text/FilenameDisplayFormat.hpp>
 #include <com/sun/star/text/UserDataPart.hpp>
@@ -574,7 +574,7 @@ void lcl_MoveBorderPropertiesToFrame(uno::Sequence<beans::PropertyValue>& rFrame
             pFrameProperties[nStart].Name = sPropertyName;
             pFrameProperties[nStart].Value = xTextRangeProperties->getPropertyValue(sPropertyName);
             if( nProperty < 4 )
-                xTextRangeProperties->setPropertyValue( sPropertyName, uno::makeAny(table::BorderLine()));
+                xTextRangeProperties->setPropertyValue( sPropertyName, uno::makeAny(table::BorderLine2()));
             ++nStart;
         }
         rFrameProperties.realloc(nStart);
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 41eb96b..7af95bf 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -43,7 +43,7 @@
 #include <com/sun/star/graphic/XGraphicProvider.hpp>
 #include <com/sun/star/graphic/XGraphic.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/text/GraphicCrop.hpp>
 #include <com/sun/star/text/XTextContent.hpp>
 #include <com/sun/star/text/TextContentAnchorType.hpp>
@@ -1532,7 +1532,7 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b
             xGraphicObject = uno::Reference< text::XTextContent >( xGraphicObjectProperties, uno::UNO_QUERY_THROW );
 
             //shapes have only one border, PICF might have four
-            table::BorderLine aBorderLine;
+            table::BorderLine2 aBorderLine;
             for( sal_Int32 nBorder = 0; nBorder < 4; ++nBorder )
             {
                 if( m_pImpl->eGraphicImportType == IMPORT_AS_GRAPHIC || !nBorder )
diff --git a/writerfilter/source/dmapper/PageBordersHandler.hxx b/writerfilter/source/dmapper/PageBordersHandler.hxx
index 88d8370..196c8b8 100644
--- a/writerfilter/source/dmapper/PageBordersHandler.hxx
+++ b/writerfilter/source/dmapper/PageBordersHandler.hxx
@@ -8,7 +8,7 @@
 #include <resourcemodel/WW8ResourceModel.hxx>
 #include <boost/shared_ptr.hpp>
 
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 
 #include <vector>
 
@@ -19,7 +19,7 @@ namespace dmapper {
 class _PgBorder
 {
 public:
-    com::sun::star::table::BorderLine m_rLine;
+    com::sun::star::table::BorderLine2 m_rLine;
     sal_Int32   m_nDistance;
     BorderPosition m_ePos;
 
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx
index d5c0962..db9fc17 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -31,7 +31,7 @@
 #include <i18npool/paper.hxx>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/container/XEnumeration.hpp>
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include <com/sun/star/container/XNameContainer.hpp>
@@ -407,10 +407,10 @@ uno::Reference< beans::XPropertySet > SectionPropertyMap::GetPageStyle(
 /*-- 28.07.2006 10:56:26---------------------------------------------------
 
   -----------------------------------------------------------------------*/
-void SectionPropertyMap::SetBorder( BorderPosition ePos, sal_Int32 nLineDistance, const table::BorderLine& rBorderLine )
+void SectionPropertyMap::SetBorder( BorderPosition ePos, sal_Int32 nLineDistance, const table::BorderLine2& rBorderLine )
 {
     delete m_pBorderLines[ePos];
-    m_pBorderLines[ePos] = new table::BorderLine( rBorderLine );
+    m_pBorderLines[ePos] = new table::BorderLine2( rBorderLine );
     m_nBorderDistances[ePos] = nLineDistance;
 }
 /*-- 28.07.2006 10:56:27---------------------------------------------------
diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx
index d11d297..ef8c372 100644
--- a/writerfilter/source/dmapper/PropertyMap.hxx
+++ b/writerfilter/source/dmapper/PropertyMap.hxx
@@ -58,7 +58,7 @@ namespace com{namespace sun{namespace star{
         class XFootnote;
     }
     namespace table{
-        struct BorderLine;
+        struct BorderLine2;
     }
 }}}
 
@@ -160,7 +160,7 @@ class SectionPropertyMap : public PropertyMap
     ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >   m_aFirstPageStyle;
     ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >   m_aFollowPageStyle;
 
-    ::com::sun::star::table::BorderLine*    m_pBorderLines[4];
+    ::com::sun::star::table::BorderLine2*   m_pBorderLines[4];
     sal_Int32                               m_nBorderDistances[4];
     sal_Int32                               m_nBorderParams;
 
@@ -236,7 +236,7 @@ public:
             const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory >& xTextFactory,
             bool bFirst );
 
-    void SetBorder( BorderPosition ePos, sal_Int32 nLineDistance, const ::com::sun::star::table::BorderLine& rBorderLine );
+    void SetBorder( BorderPosition ePos, sal_Int32 nLineDistance, const ::com::sun::star::table::BorderLine2& rBorderLine );
     void SetBorderParams( sal_Int32 nSet ) { m_nBorderParams = nSet; }
 
     void SetColumnCount( sal_Int16 nCount ) { m_nColumnCount = nCount; }
diff --git a/writerfilter/source/dmapper/TDefTableHandler.cxx b/writerfilter/source/dmapper/TDefTableHandler.cxx
index 1df312c..51af738 100644
--- a/writerfilter/source/dmapper/TDefTableHandler.cxx
+++ b/writerfilter/source/dmapper/TDefTableHandler.cxx
@@ -29,7 +29,7 @@
 #include <ConversionHelper.hxx>
 #include <ooxml/resourceids.hxx>
 #include <doctok/resourceids.hxx>
-#include <com/sun/star/table/BorderLine.hpp>
+#include <com/sun/star/table/BorderLine2.hpp>
 #include <com/sun/star/text/TableColumnSeparator.hpp>
 #include <com/sun/star/text/VertOrientation.hpp>
 
@@ -170,7 +170,7 @@ void TDefTableHandler::localResolve(Id rName, writerfilter::Reference<Properties
     {
         m_nLineWidth = m_nLineType = m_nLineColor = m_nLineDistance = 0;
         pProperties->resolve( *this );
-        table::BorderLine aBorderLine;
+        table::BorderLine2 aBorderLine;
         ConversionHelper::MakeBorderLine( m_nLineWidth,   m_nLineType, m_nLineColor,  
                                                                         aBorderLine, m_bOOXML );
                 
diff --git a/writerfilter/source/dmapper/TDefTableHandler.hxx b/writerfilter/source/dmapper/TDefTableHandler.hxx
index 3857418..aa4a2a1 100644
--- a/writerfilter/source/dmapper/TDefTableHandler.hxx
+++ b/writerfilter/source/dmapper/TDefTableHandler.hxx
@@ -30,10 +30,9 @@
 #include <WriterFilterDllApi.hxx>
 #include <resourcemodel/WW8ResourceModel.hxx>
 #include <boost/shared_ptr.hpp>
-#include <com/sun/star/table/BorderLine.hpp>
 #include <vector>
 namespace com{ namespace sun{ namespace star{namespace table {
-    struct BorderLine;
+    struct BorderLine2;
 }}}}
 
 namespace writerfilter {
@@ -49,14 +48,14 @@ private:
     ::std::vector<sal_Int32>                                m_aCellBorderPositions;
     ::std::vector<sal_Int32>                                m_aCellVertAlign;
     
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aLeftBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aRightBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aTopBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aBottomBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aInsideHBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aInsideVBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aTl2brBorderLines;
-    ::std::vector< ::com::sun::star::table::BorderLine >    m_aTr2blBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aLeftBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aRightBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aTopBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aBottomBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aInsideHBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aInsideVBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aTl2brBorderLines;
+    ::std::vector< ::com::sun::star::table::BorderLine2 >    m_aTr2blBorderLines;
 
     //values of the current border
     sal_Int32                                           m_nLineWidth;


More information about the ooo-build-commit mailing list