[ooo-build-commit] .: patches/dev300
Katarina Machalkova
bubli at kemper.freedesktop.org
Mon May 3 04:47:00 PDT 2010
patches/dev300/xlsx-shared-border-types-dotted-dashed.diff | 4334 ----------
patches/dev300/xlsx-shared-calc-distributed-cell-text-sc.diff | 1903 ----
patches/dev300/xlsx-shared-calc-perf-xls-import-cellstyles.diff | 433
3 files changed, 6670 deletions(-)
New commits:
commit 579ee2bae3041e013ce0516fa69621d32b8ef8d1
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Mon Apr 26 11:40:35 2010 +0200
Removed some redundant patches
(identical to those without xlsx-shared- prefix)
* patches/dev300/xlsx-shared-border-types-dotted-dashed.diff:
* patches/dev300/xlsx-shared-calc-distributed-cell-text-sc.diff:
* patches/dev300/xlsx-shared-calc-perf-xls-import-cellstyles.diff:
diff --git a/patches/dev300/xlsx-shared-border-types-dotted-dashed.diff b/patches/dev300/xlsx-shared-border-types-dotted-dashed.diff
deleted file mode 100644
index b489f57..0000000
--- a/patches/dev300/xlsx-shared-border-types-dotted-dashed.diff
+++ /dev/null
@@ -1,4334 +0,0 @@
-diff --git drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
-index ddab5bb..cf12676 100644
---- drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
-+++ drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
-@@ -59,6 +59,7 @@ namespace drawinglayer
- double mfExtendOuterStart;
- double mfExtendOuterEnd;
- basegfx::BColor maRGBColor;
-+ short mnStyle;
-
- // bitfield
- unsigned mbCreateInside : 1;
-@@ -122,7 +123,8 @@ namespace drawinglayer
- double fExtendOuterEnd,
- bool bCreateInside,
- bool bCreateOutside,
-- const basegfx::BColor& rRGBColor);
-+ const basegfx::BColor& rRGBColor,
-+ const short nStyle );
-
- // get data
- const basegfx::B2DPoint& getStart() const { return maStart; }
-@@ -136,7 +138,8 @@ namespace drawinglayer
- double getExtendOuterEnd() const { return mfExtendOuterEnd; }
- bool getCreateInside() const { return mbCreateInside; }
- bool getCreateOutside() const { return mbCreateOutside; }
-- const basegfx::BColor& getRGBColor() const { return maRGBColor; }
-+ const basegfx::BColor& getRGBColor () const { return maRGBColor; }
-+ short getStyle () const { return mnStyle; }
-
- // compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-diff --git drawinglayer/source/primitive2d/borderlineprimitive2d.cxx drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
-index a2fda82..d605d68 100644
---- drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
-+++ drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
-@@ -41,6 +41,7 @@
- #include <basegfx/polygon/b2dpolygon.hxx>
- #include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
- #include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
-+#include <svtools/borderhelper.hxx>
- #include <numeric>
-
- //////////////////////////////////////////////////////////////////////////////
-@@ -165,14 +166,29 @@ namespace drawinglayer
- // create filled polygon primitive
- const basegfx::B2DVector aLineWidthOffset((getCorrectedLeftWidth() * 0.5) * aPerpendicular);
-
-- aPolygon.append(aTmpStart + aLineWidthOffset);
-- aPolygon.append(aTmpEnd + aLineWidthOffset);
-- aPolygon.append(aTmpEnd - aLineWidthOffset);
-- aPolygon.append(aTmpStart - aLineWidthOffset);
-- aPolygon.setClosed(true);
-+ aPolygon.append( aTmpStart );
-+ aPolygon.append( aTmpEnd );
-
-+ basegfx::B2DPolyPolygon aDashed = svtools::ApplyLineDashing(
-+ aPolygon, getStyle(), MAP_100TH_MM );
-+ for (sal_uInt32 i = 0; i < aDashed.count(); i++ )
-+ {
-+ basegfx::B2DPolygon aDash = aDashed.getB2DPolygon( i );
-+ basegfx::B2DPoint aDashStart = aDash.getB2DPoint( 0 );
-+ basegfx::B2DPoint aDashEnd = aDash.getB2DPoint( aDash.count() - 1 );
-+
-+ basegfx::B2DPolygon aDashPolygon;
-+ aDashPolygon.append( aDashStart + aLineWidthOffset );
-+ aDashPolygon.append( aDashEnd + aLineWidthOffset );
-+ aDashPolygon.append( aDashEnd - aLineWidthOffset );
-+ aDashPolygon.append( aDashStart - aLineWidthOffset );
-+ aDashPolygon.setClosed( true );
-+
-+ aDashed.setB2DPolygon( i, aDashPolygon );
-+ }
-+
- xRetval[0] = Primitive2DReference(new PolyPolygonColorPrimitive2D(
-- basegfx::B2DPolyPolygon(aPolygon), getRGBColor()));
-+ basegfx::B2DPolyPolygon( aDashed ), getRGBColor()));
- }
- }
- }
-@@ -193,7 +209,8 @@ namespace drawinglayer
- double fExtendOuterEnd,
- bool bCreateInside,
- bool bCreateOutside,
-- const basegfx::BColor& rRGBColor)
-+ const basegfx::BColor& rRGBColor,
-+ short nStyle)
- : BasePrimitive2D(),
- maStart(rStart),
- maEnd(rEnd),
-@@ -205,6 +222,7 @@ namespace drawinglayer
- mfExtendOuterStart(fExtendOuterStart),
- mfExtendOuterEnd(fExtendOuterEnd),
- maRGBColor(rRGBColor),
-+ mnStyle(nStyle),
- mbCreateInside(bCreateInside),
- mbCreateOutside(bCreateOutside)
- {
-@@ -227,7 +245,8 @@ namespace drawinglayer
- && getExtendOuterEnd() == rCompare.getExtendOuterEnd()
- && getCreateInside() == rCompare.getCreateInside()
- && getCreateOutside() == rCompare.getCreateOutside()
-- && getRGBColor() == rCompare.getRGBColor());
-+ && getRGBColor() == rCompare.getRGBColor()
-+ && getStyle() == rCompare.getStyle());
- }
-
- return false;
-diff --git filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
-index 1507305..606542c 100644
---- filter/source/xslt/export/uof/odf2uof_spreadsheet.xsl
-+++ 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 filter/source/xslt/export/uof/odf2uof_text.xsl filter/source/xslt/export/uof/odf2uof_text.xsl
-index cea93c8..08586d0 100644
---- filter/source/xslt/export/uof/odf2uof_text.xsl
-+++ 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 offapi/com/sun/star/table/BorderLine.idl offapi/com/sun/star/table/BorderLine.idl
-index 94c93c5..3484aa8 100644
---- offapi/com/sun/star/table/BorderLine.idl
-+++ offapi/com/sun/star/table/BorderLine.idl
-@@ -74,7 +74,6 @@ published struct BorderLine
- double line (in 1/100 mm).
- */
- short LineDistance;
--
- };
-
- //=============================================================================
-diff --git offapi/com/sun/star/table/BorderLine2.idl offapi/com/sun/star/table/BorderLine2.idl
-new file mode 100644
-index 0000000..d0fe233
---- /dev/null
-+++ offapi/com/sun/star/table/BorderLine2.idl
-@@ -0,0 +1,56 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: BorderLine.idl,v $
-+ * $Revision: 1.8 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __com_sun_star_table_BorderLine2_idl__
-+#define __com_sun_star_table_BorderLine2_idl__
-+
-+
-+#include <com/sun/star/table/BorderLine.idl>
-+#include <com/sun/star/table/BorderLineStyle.idl>
-+
-+//=============================================================================
-+
-+module com { module sun { module star { module table {
-+
-+//=============================================================================
-+
-+struct BorderLine2 : BorderLine
-+{
-+ /** Style of the border. @see BorderLineStyle
-+ */
-+ short LineStyle;
-+};
-+
-+//=============================================================================
-+
-+}; }; }; };
-+
-+#endif
-+
-diff --git offapi/com/sun/star/table/BorderLineStyle.idl offapi/com/sun/star/table/BorderLineStyle.idl
-new file mode 100644
-index 0000000..17f15ad
---- /dev/null
-+++ offapi/com/sun/star/table/BorderLineStyle.idl
-@@ -0,0 +1,63 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: TableSortFieldType.idl,v $
-+ * $Revision: 1.7 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+#ifndef __com_sun_star_table_BorderLineStyle_idl__
-+#define __com_sun_star_table_BorderLineStyle_idl__
-+
-+
-+//=============================================================================
-+
-+module com { module sun { module star { module table {
-+
-+//=============================================================================
-+
-+constants BorderLineStyle
-+{
-+ //-------------------------------------------------------------------------
-+ /** Solid border line.
-+ */
-+ const short SOLID = 0;
-+
-+ //-------------------------------------------------------------------------
-+ /** Dotted border line.
-+ */
-+ const short DOTTED = 1;
-+
-+ //-------------------------------------------------------------------------
-+ /** Dashed border line.
-+ */
-+ const short DASHED = 2;
-+
-+};
-+
-+//=============================================================================
-+
-+}; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/table/makefile.mk offapi/com/sun/star/table/makefile.mk
-index dbcb959..0f72fd6 100644
---- offapi/com/sun/star/table/makefile.mk
-+++ offapi/com/sun/star/table/makefile.mk
-@@ -45,6 +45,8 @@ IDLFILES=\
- AccessibleCellView.idl \
- AccessibleTableView.idl \
- BorderLine.idl\
-+ BorderLine2.idl\
-+ BorderLineStyle.idl\
- Cell.idl\
- CellAddress.idl\
- CellContentType.idl\
-diff --git oox/inc/oox/helper/helper.hxx oox/inc/oox/helper/helper.hxx
-index 2a8bd6f..6db2fe7 100644
---- oox/inc/oox/helper/helper.hxx
-+++ oox/inc/oox/helper/helper.hxx
-@@ -78,6 +78,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 oox/inc/oox/xls/stylesbuffer.hxx oox/inc/oox/xls/stylesbuffer.hxx
-index ead9f05..9be9938 100644
---- oox/inc/oox/xls/stylesbuffer.hxx
-+++ oox/inc/oox/xls/stylesbuffer.hxx
-@@ -36,7 +36,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/drawingml/color.hxx"
- #include "oox/xls/numberformatsbuffer.hxx"
-@@ -503,10 +503,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.
-@@ -559,7 +561,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 oox/source/drawingml/table/tablecell.cxx oox/source/drawingml/table/tablecell.cxx
-index 2f8dc14..aa9c7ec 100644
---- oox/source/drawingml/table/tablecell.cxx
-+++ oox/source/drawingml/table/tablecell.cxx
-@@ -40,7 +40,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>
-@@ -51,7 +51,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 {
-@@ -79,7 +79,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 oox/source/drawingml/table/tableproperties.cxx oox/source/drawingml/table/tableproperties.cxx
-index 9e1d288..4ed7ba3 100644
---- oox/source/drawingml/table/tableproperties.cxx
-+++ oox/source/drawingml/table/tableproperties.cxx
-@@ -35,7 +35,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 oox/source/drawingml/table/tablerow.cxx oox/source/drawingml/table/tablerow.cxx
-index f41513d..977ddc0 100644
---- oox/source/drawingml/table/tablerow.cxx
-+++ oox/source/drawingml/table/tablerow.cxx
-@@ -37,7 +37,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 oox/source/xls/stylesbuffer.cxx oox/source/xls/stylesbuffer.cxx
-index ac309b5..fd16a00 100644
---- oox/source/xls/stylesbuffer.cxx
-+++ oox/source/xls/stylesbuffer.cxx
-@@ -75,6 +75,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::text::XText;
- using ::com::sun::star::style::XStyle;
- using ::oox::core::FilterBase;
-@@ -1552,7 +1553,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;
-@@ -1690,21 +1691,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 );
-@@ -1715,7 +1705,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;
-@@ -1734,18 +1729,16 @@ bool lcl_isBorder(const ::com::sun::star::table::BorderLine& rBorder)
-
- 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;
-@@ -1764,15 +1757,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(), 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 sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xestyle.cxx
-index 2a35a31..e9a87d1 100644
---- sc/source/filter/excel/xestyle.cxx
-+++ sc/source/filter/excel/xestyle.cxx
-@@ -1572,9 +1572,26 @@ void lclGetBorderLine(
- else if( nOuterWidth > DEF_LINE_WIDTH_2 )
- rnXclLine = EXC_LINE_THICK;
- else if( nOuterWidth > DEF_LINE_WIDTH_1 )
-+ {
- rnXclLine = EXC_LINE_MEDIUM;
-- else if( nOuterWidth > DEF_LINE_WIDTH_0 )
-+ if ( pLine->GetStyle( ) == DASHED )
-+ rnXclLine = EXC_LINE_MEDIUMDASHED;
-+ }
-+ else if( nOuterWidth > DEF_LINE_WIDTH_0 )
-+ {
- rnXclLine = EXC_LINE_THIN;
-+ switch ( pLine->GetStyle( ) )
-+ {
-+ case DASHED:
-+ rnXclLine = EXC_LINE_DASHED;
-+ break;
-+ case DOTTED:
-+ rnXclLine = EXC_LINE_DOTTED;
-+ break;
-+ default:
-+ break;
-+ }
-+ }
- else if( nOuterWidth > 0 )
- rnXclLine = EXC_LINE_HAIR;
- else
-@@ -1740,6 +1757,9 @@ static const char* ToLineStyle( sal_uInt8 nLineStyle )
- case EXC_LINE_THICK: return "thick";
- case EXC_LINE_DOUBLE: return "double";
- case EXC_LINE_HAIR: return "hair";
-+ case EXC_LINE_DOTTED: return "dotted";
-+ case EXC_LINE_DASHED: return "dashed";
-+ case EXC_LINE_MEDIUMDASHED: return "mediumdashed";
- }
- return "*unknown*";
- }
-diff --git sc/source/filter/excel/xistyle.cxx sc/source/filter/excel/xistyle.cxx
-index 6e29ba0..f66c363 100644
---- sc/source/filter/excel/xistyle.cxx
-+++ sc/source/filter/excel/xistyle.cxx
-@@ -878,23 +878,23 @@ namespace {
- /** Converts the passed line style to a SvxBorderLine, or returns false, if style is "no line". */
- bool lclConvertBorderLine( SvxBorderLine& rLine, const XclImpPalette& rPalette, sal_uInt8 nXclLine, sal_uInt16 nXclColor )
- {
-- static const sal_uInt16 ppnLineParam[][ 3 ] =
-+ static const sal_uInt16 ppnLineParam[][ 4 ] =
- {
-- // outer width, inner width, distance
-- { 0, 0, 0 }, // 0 = none
-- { DEF_LINE_WIDTH_1, 0, 0 }, // 1 = thin
-- { DEF_LINE_WIDTH_2, 0, 0 }, // 2 = medium
-- { DEF_LINE_WIDTH_1, 0, 0 }, // 3 = dashed
-- { DEF_LINE_WIDTH_0, 0, 0 }, // 4 = dotted
-- { DEF_LINE_WIDTH_3, 0, 0 }, // 5 = thick
-- { DEF_LINE_WIDTH_1, DEF_LINE_WIDTH_1, DEF_LINE_WIDTH_1 }, // 6 = double
-- { DEF_LINE_WIDTH_0, 0, 0 }, // 7 = hair
-- { DEF_LINE_WIDTH_2, 0, 0 }, // 8 = med dash
-- { DEF_LINE_WIDTH_1, 0, 0 }, // 9 = thin dashdot
-- { DEF_LINE_WIDTH_2, 0, 0 }, // A = med dashdot
-- { DEF_LINE_WIDTH_1, 0, 0 }, // B = thin dashdotdot
-- { DEF_LINE_WIDTH_2, 0, 0 }, // C = med dashdotdot
-- { DEF_LINE_WIDTH_2, 0, 0 } // D = med slant dashdot
-+ // outer width, inner width, distance type
-+ { 0, 0, 0, SOLID }, // 0 = none
-+ { DEF_LINE_WIDTH_1, 0, 0, SOLID }, // 1 = thin
-+ { DEF_LINE_WIDTH_2, 0, 0, SOLID }, // 2 = medium
-+ { DEF_LINE_WIDTH_1, 0, 0, DASHED }, // 3 = dashed
-+ { DEF_LINE_WIDTH_1, 0, 0, DOTTED }, // 4 = dotted
-+ { DEF_LINE_WIDTH_3, 0, 0, SOLID }, // 5 = thick
-+ { DEF_LINE_WIDTH_1, DEF_LINE_WIDTH_1, DEF_LINE_WIDTH_1 }, // 6 = double
-+ { DEF_LINE_WIDTH_0, 0, 0, SOLID }, // 7 = hair
-+ { DEF_LINE_WIDTH_2, 0, 0, DASHED }, // 8 = med dash
-+ { DEF_LINE_WIDTH_1, 0, 0, SOLID }, // 9 = thin dashdot
-+ { DEF_LINE_WIDTH_2, 0, 0, SOLID }, // A = med dashdot
-+ { DEF_LINE_WIDTH_1, 0, 0, SOLID }, // B = thin dashdotdot
-+ { DEF_LINE_WIDTH_2, 0, 0, SOLID }, // C = med dashdotdot
-+ { DEF_LINE_WIDTH_2, 0, 0, SOLID } // D = med slant dashdot
- };
-
- if( nXclLine == EXC_LINE_NONE )
-@@ -906,6 +906,7 @@ bool lclConvertBorderLine( SvxBorderLine& rLine, const XclImpPalette& rPalette,
- rLine.SetOutWidth( ppnLineParam[ nXclLine ][ 0 ] );
- rLine.SetInWidth( ppnLineParam[ nXclLine ][ 1 ] );
- rLine.SetDistance( ppnLineParam[ nXclLine ][ 2 ] );
-+ rLine.SetStyle( (SvxBorderStyle)ppnLineParam[ nXclLine ][ 3 ] );
- return true;
- }
-
-diff --git sc/source/filter/html/htmlexp.cxx sc/source/filter/html/htmlexp.cxx
-index 9698b9d..70f39ba 100644
---- sc/source/filter/html/htmlexp.cxx
-+++ sc/source/filter/html/htmlexp.cxx
-@@ -558,7 +558,14 @@ void ScHTMLExport::BorderToStyle( ByteString& rOut, const char* pBorderName,
- // thickness
- int nWidth = pLine->GetOutWidth();
- int nPxWidth = ( nWidth > 0 )? std::max( int( nWidth / TWIPS_PER_PIXEL ), 1 ): 0;
-- (rOut += ByteString::CreateFromInt32( nPxWidth )) += "px solid #";
-+ (rOut += ByteString::CreateFromInt32( nPxWidth )) += "px ";
-+ switch ( pLine->GetStyle() )
-+ {
-+ case DOTTED: rOut += "dotted"; break;
-+ case DASHED: rOut += "dashed"; break;
-+ default: rOut += "solid";
-+ }
-+ rOut += " #";
-
- // color
- char hex[7];
-diff --git sc/source/filter/inc/xlstyle.hxx sc/source/filter/inc/xlstyle.hxx
-index e18f48b..373d701 100644
---- sc/source/filter/inc/xlstyle.hxx
-+++ sc/source/filter/inc/xlstyle.hxx
-@@ -51,9 +51,12 @@ class XclRoot;
- const sal_uInt8 EXC_LINE_NONE = 0x00;
- const sal_uInt8 EXC_LINE_THIN = 0x01;
- const sal_uInt8 EXC_LINE_MEDIUM = 0x02;
-+const sal_uInt8 EXC_LINE_DASHED = 0x03;
-+const sal_uInt8 EXC_LINE_DOTTED = 0x04;
- const sal_uInt8 EXC_LINE_THICK = 0x05;
- const sal_uInt8 EXC_LINE_DOUBLE = 0x06;
- const sal_uInt8 EXC_LINE_HAIR = 0x07;
-+const sal_uInt8 EXC_LINE_MEDIUMDASHED = 0x08;
-
- // Background patterns --------------------------------------------------------
-
-#diff --git sc/source/filter/xlsx/xlsx-xestyle.cxx sc/source/filter/xlsx/xlsx-xestyle.cxx
-#index d882080..f60c37f 100644
-#--- sc/source/filter/xlsx/xlsx-xestyle.cxx
-#+++ sc/source/filter/xlsx/xlsx-xestyle.cxx
-#@@ -1557,9 +1557,26 @@ void lclGetBorderLine(
-# else if( nOuterWidth > DEF_LINE_WIDTH_2 )
-# rnXclLine = EXC_LINE_THICK;
-# else if( nOuterWidth > DEF_LINE_WIDTH_1 )
-#+ {
-# rnXclLine = EXC_LINE_MEDIUM;
-#+ if ( pLine->GetStyle( ) == EXC_LINE_DASHED )
-#+ rnXclLine = EXC_LINE_MEDIUMDASHED;
-#+ }
-# else if( nOuterWidth > DEF_LINE_WIDTH_0 )
-#+ {
-# rnXclLine = EXC_LINE_THIN;
-#+ switch ( pLine->GetStyle( ) )
-#+ {
-#+ case DOTTED:
-#+ rnXclLine = EXC_LINE_DOTTED;
-#+ break;
-#+ case DASHED:
-#+ rnXclLine = EXC_LINE_DASHED;
-#+ break;
-#+ default:
-#+ break;
-#+ }
-#+ }
-# else if( nOuterWidth > 0 )
-# rnXclLine = EXC_LINE_HAIR;
-# else
-#@@ -1725,6 +1742,9 @@ static const char* ToLineStyle( sal_uInt8 nLineStyle )
-# case EXC_LINE_THICK: return "thick";
-# case EXC_LINE_DOUBLE: return "double";
-# case EXC_LINE_HAIR: return "hair";
-#+ case EXC_LINE_DOTTED: return "dotted";
-#+ case EXC_LINE_DASHED: return "dashed";
-#+ case EXC_LINE_MEDIUMDASHED: return "mediumdashed";
-# }
-# return "*unknown*";
-# }
-diff --git sc/source/ui/unoobj/cellsuno.cxx sc/source/ui/unoobj/cellsuno.cxx
-index 11ecd43..1b1c8a0 100644
---- sc/source/ui/unoobj/cellsuno.cxx
-+++ sc/source/ui/unoobj/cellsuno.cxx
-@@ -62,6 +62,7 @@
- #include <com/sun/star/table/CellVertJustify2.hpp>
- #include <com/sun/star/table/ShadowFormat.hpp>
- #include <com/sun/star/table/TableBorder.hpp>
-+#include <com/sun/star/table/BorderLine2.hpp>
- #include <com/sun/star/sheet/CellFlags.hpp>
- #include <com/sun/star/sheet/FormulaResult.hpp>
- #include <com/sun/star/beans/PropertyAttribute.hpp>
-@@ -162,7 +163,7 @@ const SfxItemPropertySet* lcl_GetCellsPropertySet()
- {
- {MAP_CHAR_LEN(SC_UNONAME_ABSNAME), SC_WID_UNO_ABSNAME, &getCppuType((rtl::OUString*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLBACK), ATTR_BACKGROUND, &getCppuType((sal_Int32*)0), 0, MID_BACK_COLOR },
- {MAP_CHAR_LEN(SC_UNONAME_CELLPRO), ATTR_PROTECTION, &getCppuType((util::CellProtection*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL), SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0), 0, 0 },
-@@ -213,13 +214,13 @@ const SfxItemPropertySet* lcl_GetCellsPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_CONDFMT), SC_WID_UNO_CONDFMT, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDLOC), SC_WID_UNO_CONDLOC, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDXML), SC_WID_UNO_CONDXML, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS), ATTR_HOR_JUSTIFY, &getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN), ATTR_BACKGROUND, &getBooleanCppuType(), 0, MID_GRAPHIC_TRANSPARENT },
- {MAP_CHAR_LEN(SC_UNONAME_WRAP), ATTR_LINEBREAK, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_NUMFMT), ATTR_VALUE_FORMAT, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_NUMRULES), SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLORI), ATTR_STACKED, &getCppuType((table::CellOrientation*)0), 0, 0 },
-@@ -234,13 +235,13 @@ const SfxItemPropertySet* lcl_GetCellsPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_PLMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_L_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_R_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_ROTANG), ATTR_ROTATE_VALUE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ROTREF), ATTR_ROTATE_MODE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SHADOW), ATTR_SHADOW, &getCppuType((table::ShadowFormat*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_TBLBORD), SC_WID_UNO_TBLBORD, &getCppuType((table::TableBorder*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_USERDEF), ATTR_USERDEF, &getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALIDAT), SC_WID_UNO_VALIDAT, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALILOC), SC_WID_UNO_VALILOC, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -263,7 +264,7 @@ const SfxItemPropertySet* lcl_GetRangePropertySet()
- {
- {MAP_CHAR_LEN(SC_UNONAME_ABSNAME), SC_WID_UNO_ABSNAME, &getCppuType((rtl::OUString*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLBACK), ATTR_BACKGROUND, &getCppuType((sal_Int32*)0), 0, MID_BACK_COLOR },
- {MAP_CHAR_LEN(SC_UNONAME_CELLPRO), ATTR_PROTECTION, &getCppuType((util::CellProtection*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL), SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0), 0, 0 },
-@@ -314,13 +315,13 @@ const SfxItemPropertySet* lcl_GetRangePropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_CONDFMT), SC_WID_UNO_CONDFMT, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDLOC), SC_WID_UNO_CONDLOC, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDXML), SC_WID_UNO_CONDXML, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS), ATTR_HOR_JUSTIFY, &getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN), ATTR_BACKGROUND, &getBooleanCppuType(), 0, MID_GRAPHIC_TRANSPARENT },
- {MAP_CHAR_LEN(SC_UNONAME_WRAP), ATTR_LINEBREAK, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_NUMFMT), ATTR_VALUE_FORMAT, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_NUMRULES), SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLORI), ATTR_STACKED, &getCppuType((table::CellOrientation*)0), 0, 0 },
-@@ -336,14 +337,14 @@ const SfxItemPropertySet* lcl_GetRangePropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_R_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_POS), SC_WID_UNO_POS, &getCppuType((awt::Point*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_ROTANG), ATTR_ROTATE_VALUE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ROTREF), ATTR_ROTATE_MODE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SHADOW), ATTR_SHADOW, &getCppuType((table::ShadowFormat*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SIZE), SC_WID_UNO_SIZE, &getCppuType((awt::Size*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_TBLBORD), SC_WID_UNO_TBLBORD, &getCppuType((table::TableBorder*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_USERDEF), ATTR_USERDEF, &getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALIDAT), SC_WID_UNO_VALIDAT, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALILOC), SC_WID_UNO_VALILOC, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -366,7 +367,7 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
- {
- {MAP_CHAR_LEN(SC_UNONAME_ABSNAME), SC_WID_UNO_ABSNAME, &getCppuType((rtl::OUString*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLBACK), ATTR_BACKGROUND, &getCppuType((sal_Int32*)0), 0, MID_BACK_COLOR },
- {MAP_CHAR_LEN(SC_UNONAME_CELLPRO), ATTR_PROTECTION, &getCppuType((util::CellProtection*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL), SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0), 0, 0 },
-@@ -417,15 +418,15 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_CONDFMT), SC_WID_UNO_CONDFMT, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDLOC), SC_WID_UNO_CONDLOC, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDXML), SC_WID_UNO_CONDXML, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_FORMLOC), SC_WID_UNO_FORMLOC, &getCppuType((rtl::OUString*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_FORMRT), SC_WID_UNO_FORMRT, &getCppuType((table::CellContentType*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS), ATTR_HOR_JUSTIFY, &getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN), ATTR_BACKGROUND, &getBooleanCppuType(), 0, MID_GRAPHIC_TRANSPARENT },
- {MAP_CHAR_LEN(SC_UNONAME_WRAP), ATTR_LINEBREAK, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_NUMFMT), ATTR_VALUE_FORMAT, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_NUMRULES), SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLORI), ATTR_STACKED, &getCppuType((table::CellOrientation*)0), 0, 0 },
-@@ -441,14 +442,14 @@ const SfxItemPropertySet* lcl_GetCellPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_R_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_POS), SC_WID_UNO_POS, &getCppuType((awt::Point*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_ROTANG), ATTR_ROTATE_VALUE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ROTREF), ATTR_ROTATE_MODE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SHADOW), ATTR_SHADOW, &getCppuType((table::ShadowFormat*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SIZE), SC_WID_UNO_SIZE, &getCppuType((awt::Size*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_TBLBORD), SC_WID_UNO_TBLBORD, &getCppuType((table::TableBorder*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_USERDEF), ATTR_USERDEF, &getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALIDAT), SC_WID_UNO_VALIDAT, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALILOC), SC_WID_UNO_VALILOC, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -471,7 +472,7 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
- {
- {MAP_CHAR_LEN(SC_UNONAME_ABSNAME), SC_WID_UNO_ABSNAME, &getCppuType((rtl::OUString*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLBACK), ATTR_BACKGROUND, &getCppuType((sal_Int32*)0), 0, MID_BACK_COLOR },
- {MAP_CHAR_LEN(SC_UNONAME_CELLPRO), ATTR_PROTECTION, &getCppuType((util::CellProtection*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL), SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0), 0, 0 },
-@@ -522,8 +523,8 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_CONDFMT), SC_WID_UNO_CONDFMT, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDLOC), SC_WID_UNO_CONDLOC, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDXML), SC_WID_UNO_CONDXML, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS), ATTR_HOR_JUSTIFY, &getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN), ATTR_BACKGROUND, &getBooleanCppuType(), 0, MID_GRAPHIC_TRANSPARENT },
-@@ -532,7 +533,7 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_NEWPAGE), SC_WID_UNO_NEWPAGE, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_WRAP), ATTR_LINEBREAK, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLVIS), SC_WID_UNO_CELLVIS, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_NUMFMT), ATTR_VALUE_FORMAT, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_NUMRULES), SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_OWIDTH), SC_WID_UNO_OWIDTH, &getBooleanCppuType(), 0, 0 },
-@@ -549,14 +550,14 @@ const SfxItemPropertySet* lcl_GetColumnPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_R_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_POS), SC_WID_UNO_POS, &getCppuType((awt::Point*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_ROTANG), ATTR_ROTATE_VALUE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ROTREF), ATTR_ROTATE_MODE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SHADOW), ATTR_SHADOW, &getCppuType((table::ShadowFormat*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SIZE), SC_WID_UNO_SIZE, &getCppuType((awt::Size*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_TBLBORD), SC_WID_UNO_TBLBORD, &getCppuType((table::TableBorder*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_USERDEF), ATTR_USERDEF, &getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALIDAT), SC_WID_UNO_VALIDAT, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALILOC), SC_WID_UNO_VALILOC, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -577,7 +578,7 @@ const SfxItemPropertySet* lcl_GetRowPropertySet()
- {
- {MAP_CHAR_LEN(SC_UNONAME_ABSNAME), SC_WID_UNO_ABSNAME, &getCppuType((rtl::OUString*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLBACK), ATTR_BACKGROUND, &getCppuType((sal_Int32*)0), 0, MID_BACK_COLOR },
- {MAP_CHAR_LEN(SC_UNONAME_CELLPRO), ATTR_PROTECTION, &getCppuType((util::CellProtection*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL), SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0), 0, 0 },
-@@ -628,8 +629,8 @@ const SfxItemPropertySet* lcl_GetRowPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_CONDFMT), SC_WID_UNO_CONDFMT, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDLOC), SC_WID_UNO_CONDLOC, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CONDXML), SC_WID_UNO_CONDXML, &getCppuType((uno::Reference<sheet::XSheetConditionalEntries>*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHGT), SC_WID_UNO_CELLHGT, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS), ATTR_HOR_JUSTIFY, &getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
-@@ -639,7 +640,7 @@ const SfxItemPropertySet* lcl_GetRowPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_NEWPAGE), SC_WID_UNO_NEWPAGE, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_WRAP), ATTR_LINEBREAK, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLVIS), SC_WID_UNO_CELLVIS, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_NUMFMT), ATTR_VALUE_FORMAT, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_NUMRULES), SC_WID_UNO_NUMRULES,&getCppuType((const uno::Reference<container::XIndexReplace>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_OHEIGHT), SC_WID_UNO_OHEIGHT, &getBooleanCppuType(), 0, 0 },
-@@ -656,14 +657,14 @@ const SfxItemPropertySet* lcl_GetRowPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_PRMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_R_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_PTMARGIN), ATTR_MARGIN, &getCppuType((sal_Int32*)0), 0, MID_MARGIN_UP_MARGIN | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_POS), SC_WID_UNO_POS, &getCppuType((awt::Point*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_ROTANG), ATTR_ROTATE_VALUE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ROTREF), ATTR_ROTATE_MODE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SHADOW), ATTR_SHADOW, &getCppuType((table::ShadowFormat*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_SHRINK_TO_FIT), ATTR_SHRINKTOFIT, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SIZE), SC_WID_UNO_SIZE, &getCppuType((awt::Size*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_TBLBORD), SC_WID_UNO_TBLBORD, &getCppuType((table::TableBorder*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_USERDEF), ATTR_USERDEF, &getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALIDAT), SC_WID_UNO_VALIDAT, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALILOC), SC_WID_UNO_VALILOC, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-@@ -685,7 +686,7 @@ const SfxItemPropertySet* lcl_GetSheetPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_ASIANVERT),ATTR_VERTICAL_ASIAN,&getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_AUTOPRINT),SC_WID_UNO_AUTOPRINT,&getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_BORDCOL), SC_WID_UNO_BORDCOL, &getCppuType((sal_Int32*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_BOTTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, BOTTOM_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLBACK), ATTR_BACKGROUND, &getCppuType((sal_Int32*)0), 0, MID_BACK_COLOR },
- {MAP_CHAR_LEN(SC_UNONAME_CELLPRO), ATTR_PROTECTION, &getCppuType((util::CellProtection*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLSTYL), SC_WID_UNO_CELLSTYL,&getCppuType((rtl::OUString*)0), 0, 0 },
-@@ -739,15 +740,15 @@ const SfxItemPropertySet* lcl_GetSheetPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_COPYBACK), SC_WID_UNO_COPYBACK,&getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_COPYFORM), SC_WID_UNO_COPYFORM,&getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_COPYSTYL), SC_WID_UNO_COPYSTYL,&getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-- {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_BLTR), ATTR_BORDER_BLTR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_DIAGONAL_TLBR), ATTR_BORDER_TLBR, &::getCppuType((const table::BorderLine2*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS), ATTR_HOR_JUSTIFY, &getCppuType((table::CellHoriJustify*)0), 0, MID_HORJUST_HORJUST },
- {MAP_CHAR_LEN(SC_UNONAME_CELLHJUS_METHOD), ATTR_HOR_JUSTIFY_METHOD, &::getCppuType((const sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ISACTIVE), SC_WID_UNO_ISACTIVE,&getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLTRAN), ATTR_BACKGROUND, &getBooleanCppuType(), 0, MID_GRAPHIC_TRANSPARENT },
- {MAP_CHAR_LEN(SC_UNONAME_WRAP), ATTR_LINEBREAK, &getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_CELLVIS), SC_WID_UNO_CELLVIS, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_LEFTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, LEFT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNO_LINKDISPBIT), SC_WID_UNO_LINKDISPBIT,&getCppuType((uno::Reference<awt::XBitmap>*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNO_LINKDISPNAME), SC_WID_UNO_LINKDISPNAME,&getCppuType((rtl::OUString*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_NUMFMT), ATTR_VALUE_FORMAT, &getCppuType((sal_Int32*)0), 0, 0 },
-@@ -768,7 +769,7 @@ const SfxItemPropertySet* lcl_GetSheetPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_POS), SC_WID_UNO_POS, &getCppuType((awt::Point*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_PRINTBORD),SC_WID_UNO_PRINTBORD,&getBooleanCppuType(), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_PROTECT), SC_WID_UNO_PROTECT, &getBooleanCppuType(), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_RIGHTBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, RIGHT_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_ROTANG), ATTR_ROTATE_VALUE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_ROTREF), ATTR_ROTATE_MODE, &getCppuType((sal_Int32*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_SHADOW), ATTR_SHADOW, &getCppuType((table::ShadowFormat*)0), 0, 0 | CONVERT_TWIPS },
-@@ -777,7 +778,7 @@ const SfxItemPropertySet* lcl_GetSheetPropertySet()
- {MAP_CHAR_LEN(SC_UNONAME_SIZE), SC_WID_UNO_SIZE, &getCppuType((awt::Size*)0), 0 | beans::PropertyAttribute::READONLY, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_TBLBORD), SC_WID_UNO_TBLBORD, &getCppuType((table::TableBorder*)0), 0, 0 | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_TABLAYOUT),SC_WID_UNO_TABLAYOUT,&getCppuType((sal_Int16*)0), 0, 0 },
-- {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine*)0), 0, TOP_BORDER | CONVERT_TWIPS },
-+ {MAP_CHAR_LEN(SC_UNONAME_TOPBORDER),ATTR_BORDER, &::getCppuType((const table::BorderLine2*)0), 0, TOP_BORDER | CONVERT_TWIPS },
- {MAP_CHAR_LEN(SC_UNONAME_USERDEF), ATTR_USERDEF, &getCppuType((uno::Reference<container::XNameContainer>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALIDAT), SC_WID_UNO_VALIDAT, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
- {MAP_CHAR_LEN(SC_UNONAME_VALILOC), SC_WID_UNO_VALILOC, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 },
-diff --git sc/source/ui/view/formatsh.cxx sc/source/ui/view/formatsh.cxx
-index fb9f77d..ef619e4 100644
---- sc/source/ui/view/formatsh.cxx
-+++ sc/source/ui/view/formatsh.cxx
-@@ -1536,6 +1536,7 @@ void ScFormatShell::ExecuteAttr( SfxRequest& rReq )
- pDefLine->SetOutWidth( pLine->GetOutWidth() );
- pDefLine->SetInWidth ( pLine->GetInWidth() );
- pDefLine->SetDistance( pLine->GetDistance() );
-+ pDefLine->SetStyle( pLine->GetStyle( ) );
- pTabViewShell->SetSelectionFrameLines( pDefLine, FALSE );
- }
- else
-diff --git sc/source/ui/view/viewfun2.cxx sc/source/ui/view/viewfun2.cxx
-index e2255e0..9c0f929 100644
---- sc/source/ui/view/viewfun2.cxx
-+++ sc/source/ui/view/viewfun2.cxx
-@@ -3002,6 +3002,7 @@ void ScViewFunc::UpdateLineAttrs( SvxBorderLine& rLine,
- rLine.SetOutWidth ( pDestLine->GetOutWidth() );
- rLine.SetInWidth ( pDestLine->GetInWidth() );
- rLine.SetDistance ( pDestLine->GetDistance() );
-+ rLine.SetStyle ( pDestLine->GetStyle() );
- }
- else
- {
-@@ -3009,6 +3010,7 @@ void ScViewFunc::UpdateLineAttrs( SvxBorderLine& rLine,
- rLine.SetOutWidth ( pSrcLine->GetOutWidth() );
- rLine.SetInWidth ( pSrcLine->GetInWidth() );
- rLine.SetDistance ( pSrcLine->GetDistance() );
-+ rLine.SetStyle ( pSrcLine->GetStyle() );
- }
- }
- }
-diff --git svtools/inc/borderhelper.hxx svtools/inc/borderhelper.hxx
-new file mode 100644
-index 0000000..a3c5cb0
---- /dev/null
-+++ svtools/inc/borderhelper.hxx
-@@ -0,0 +1,49 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: ctrlbox.hxx,v $
-+ * $Revision: 1.15 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef _BORDERHELPER_HXX
-+#define _BORDERHELPER_HXX
-+
-+#include "svtools/svtdllapi.h"
-+
-+#include <basegfx/polygon/b2dpolypolygon.hxx>
-+#include <basegfx/polygon/b2dpolygon.hxx>
-+#include <vcl/outdev.hxx>
-+
-+namespace svtools
-+{
-+ SVT_DLLPUBLIC basegfx::B2DPolyPolygon ApplyLineDashing( const basegfx::B2DPolygon& rPolygon,
-+ USHORT nDashing, MapUnit eUnit );
-+
-+ SVT_DLLPUBLIC void DrawLine( OutputDevice& rDev, const Point& rBeg,
-+ const Point& rEnd, sal_uInt32 nWidth, USHORT nDashing );
-+}
-+
-+#endif
-diff --git svtools/inc/ctrlbox.hxx svtools/inc/ctrlbox.hxx
-index 1feb2df..a4d7dc8 100644
---- svtools/inc/ctrlbox.hxx
-+++ svtools/inc/ctrlbox.hxx
-@@ -57,6 +57,10 @@ class ImpColorList;
- class ImpLineList;
- class FontList;
-
-+#define STYLE_SOLID ( ( USHORT ) 0 )
-+#define STYLE_DOTTED ( ( USHORT ) 1 )
-+#define STYLE_DASHED ( ( USHORT ) 2 )
-+
- /*************************************************************************
-
- Beschreibung
-@@ -258,7 +262,8 @@ class SVT_DLLPUBLIC LineListBox : public ListBox
- FieldUnit eUnit;
- FieldUnit eSourceUnit;
-
-- SVT_DLLPRIVATE void ImpGetLine( long nLine1, long nLine2, long nDistance, Bitmap& rBmp, XubString& rStr );
-+ SVT_DLLPRIVATE void ImpGetLine( long nLine1, long nLine2, long nDistance,
-+ USHORT nStyle, Bitmap& rBmp, XubString& rStr );
- using Window::ImplInit;
- SVT_DLLPRIVATE void ImplInit();
- void UpdateLineColors( void );
-@@ -273,24 +278,30 @@ public:
-
- using ListBox::InsertEntry;
- virtual USHORT InsertEntry( const XubString& rStr, USHORT nPos = LISTBOX_APPEND );
-- virtual USHORT InsertEntry( long nLine1, long nLine2 = 0, long nDistance = 0, USHORT nPos = LISTBOX_APPEND );
-+ virtual USHORT InsertEntry( long nLine1, long nLine2 = 0, long nDistance = 0,
-+ USHORT nStyle = STYLE_SOLID, USHORT nPos = LISTBOX_APPEND );
- using ListBox::RemoveEntry;
- virtual void RemoveEntry( USHORT nPos );
- virtual void Clear();
-
- using ListBox::GetEntryPos;
-- USHORT GetEntryPos( long nLine1, long nLine2 = 0, long nDistance = 0 ) const;
-+ USHORT GetEntryPos( long nLine1, long nLine2 = 0, long nDistance = 0,
-+ USHORT nStyle = STYLE_SOLID ) const;
- long GetEntryLine1( USHORT nPos ) const;
- long GetEntryLine2( USHORT nPos ) const;
- long GetEntryDistance( USHORT nPos ) const;
-+ USHORT GetEntryStyle( USHORT nPos ) const;
-
- inline void SelectEntry( const XubString& rStr, BOOL bSelect = TRUE ) { ListBox::SelectEntry( rStr, bSelect ); }
-- void SelectEntry( long nLine1, long nLine2 = 0, long nDistance = 0, BOOL bSelect = TRUE );
-+ void SelectEntry( long nLine1, long nLine2 = 0, long nDistance = 0,
-+ USHORT nStyle = STYLE_SOLID, BOOL bSelect = TRUE );
- long GetSelectEntryLine1( USHORT nSelIndex = 0 ) const;
- long GetSelectEntryLine2( USHORT nSelIndex = 0 ) const;
- long GetSelectEntryDistance( USHORT nSelIndex = 0 ) const;
-+ USHORT GetSelectEntryStyle( USHORT nSelIndex = 0 ) const;
- inline BOOL IsEntrySelected( const XubString& rStr ) const { return ListBox::IsEntrySelected( rStr ); }
-- BOOL IsEntrySelected( long nLine1, long nLine2 = 0, long nDistance = 0 ) const;
-+ BOOL IsEntrySelected( long nLine1, long nLine2 = 0, long nDistance = 0,
-+ USHORT nStyle1 = STYLE_SOLID ) const;
-
- inline void SetUnit( FieldUnit eNewUnit ) { eUnit = eNewUnit; }
- inline FieldUnit GetUnit() const { return eUnit; }
-@@ -308,9 +319,9 @@ private:
- void* GetEntryData( USHORT nPos ) const;
- };
-
--inline void LineListBox::SelectEntry( long nLine1, long nLine2, long nDistance, BOOL bSelect )
-+inline void LineListBox::SelectEntry( long nLine1, long nLine2, long nDistance, USHORT nStyle, BOOL bSelect )
- {
-- USHORT nPos = GetEntryPos( nLine1, nLine2, nDistance );
-+ USHORT nPos = GetEntryPos( nLine1, nLine2, nDistance, nStyle );
- if ( nPos != LISTBOX_ENTRY_NOTFOUND )
- ListBox::SelectEntryPos( nPos, bSelect );
- }
-@@ -342,9 +353,19 @@ inline long LineListBox::GetSelectEntryDistance( USHORT nSelIndex ) const
- return 0;
- }
-
--inline BOOL LineListBox::IsEntrySelected( long nLine1, long nLine2, long nDistance ) const
-+inline USHORT LineListBox::GetSelectEntryStyle( USHORT nSelIndex ) const
-+{
-+ USHORT nStyle = STYLE_SOLID;
-+ USHORT nPos = GetSelectEntryPos( nSelIndex );
-+ if ( nPos != LISTBOX_ENTRY_NOTFOUND )
-+ nStyle = GetEntryStyle( nPos );
-+
-+ return nStyle;
-+}
-+
-+inline BOOL LineListBox::IsEntrySelected( long nLine1, long nLine2, long nDistance, USHORT nStyle ) const
- {
-- USHORT nPos = GetEntryPos( nLine1, nLine2, nDistance );
-+ USHORT nPos = GetEntryPos( nLine1, nLine2, nDistance, nStyle );
- if ( nPos != LISTBOX_ENTRY_NOTFOUND )
- return IsEntryPosSelected( nPos );
- else
-diff --git svtools/prj/d.lst svtools/prj/d.lst
-index 684c3a1..2e8b5b9 100644
---- svtools/prj/d.lst
-+++ svtools/prj/d.lst
-@@ -43,6 +43,7 @@ mkdir: %_DEST%\inc%_EXT%\svtools
- ..\inc\cntnrsrt.hxx %_DEST%\inc%_EXT%\svtools\cntnrsrt.hxx
- ..\inc\svtools\colrdlg.hxx %_DEST%\inc%_EXT%\svtools\colrdlg.hxx
- ..\inc\svtools\colctrl.hxx %_DEST%\inc%_EXT%\svtools\colctrl.hxx
-+..\inc\borderhelper.hxx %_DEST%\inc%_EXT%\svtools\borderhelper.hxx
- ..\inc\ctrlbox.hxx %_DEST%\inc%_EXT%\svtools\ctrlbox.hxx
- ..\inc\ctrltool.hxx %_DEST%\inc%_EXT%\svtools\ctrltool.hxx
- ..\inc\collatorres.hxx %_DEST%\inc%_EXT%\svtools\collatorres.hxx
-diff --git svtools/source/control/ctrlbox.cxx svtools/source/control/ctrlbox.cxx
-index 01cd788..951c296 100644
---- svtools/source/control/ctrlbox.cxx
-+++ svtools/source/control/ctrlbox.cxx
-@@ -46,8 +46,11 @@
- #include <svtools/svtools.hrc>
- #include <ctrlbox.hxx>
- #include <ctrltool.hxx>
-+#include <borderhelper.hxx>
-
- #include <vcl/i18nhelp.hxx>
-+#include <basegfx/polygon/b2dpolygon.hxx>
-+#include <basegfx/polygon/b2dpolygontools.hxx>
-
- #define IMGTEXTSPACE 2
- #define EXTRAFONTSIZE 5
-@@ -255,6 +258,7 @@ struct ImpLineListData
- long nLine1;
- long nLine2;
- long nDistance;
-+ USHORT nStyle;
- };
-
- DECLARE_LIST( ImpLineList, ImpLineListData* )
-@@ -268,8 +272,107 @@ inline const Color& LineListBox::GetPaintColor( void ) const
-
- // -----------------------------------------------------------------------
-
-+
-+inline void lclDrawPolygon( OutputDevice& rDev, const basegfx::B2DPolygon& rPolygon, long nWidth, USHORT nDashing )
-+{
-+ USHORT nOldAA = rDev.GetAntialiasing();
-+ rDev.SetAntialiasing( nOldAA & !ANTIALIASING_ENABLE_B2DDRAW );
-+
-+ Color aOldColor = rDev.GetFillColor( );
-+ rDev.SetFillColor( rDev.GetLineColor( ) );
-+
-+ basegfx::B2DPolyPolygon aPolygons = svtools::ApplyLineDashing( rPolygon, nDashing, rDev.GetMapMode().GetMapUnit() );
-+ for ( sal_uInt32 i = 0; i < aPolygons.count( ); i++ )
-+ {
-+ basegfx::B2DPolygon aDash = aPolygons.getB2DPolygon( i );
-+ basegfx::B2DPoint aStart = aDash.getB2DPoint( 0 );
-+ basegfx::B2DPoint aEnd = aDash.getB2DPoint( aDash.count() - 1 );
-+
-+ basegfx::B2DVector aVector( aEnd - aStart );
-+ aVector.normalize( );
-+ const basegfx::B2DVector aPerpendicular(basegfx::getPerpendicular(aVector));
-+
-+ const basegfx::B2DVector aWidthOffset( nWidth / 2 * aPerpendicular);
-+ basegfx::B2DPolygon aDashPolygon;
-+ aDashPolygon.append( aStart + aWidthOffset );
-+ aDashPolygon.append( aEnd + aWidthOffset );
-+ aDashPolygon.append( aEnd - aWidthOffset );
-+ aDashPolygon.append( aStart - aWidthOffset );
-+ aDashPolygon.setClosed( true );
-+
-+ rDev.DrawPolygon( aDashPolygon );
-+ }
-+
-+ rDev.SetFillColor( aOldColor );
-+ rDev.SetAntialiasing( nOldAA );
-+}
-+
-+namespace svtools
-+{
-+ basegfx::B2DPolyPolygon ApplyLineDashing( const basegfx::B2DPolygon& rPolygon, USHORT nDashing, MapUnit eUnit )
-+ {
-+ ::std::vector < double >aPattern;
-+ switch ( nDashing )
-+ {
-+ case STYLE_DOTTED:
-+ if ( eUnit == MAP_TWIP )
-+ {
-+ aPattern.push_back( 30.0 );
-+ aPattern.push_back( 110.0 );
-+ }
-+ else if ( eUnit == MAP_100TH_MM )
-+ {
-+ aPattern.push_back( 50 );
-+ aPattern.push_back( 200 );
-+ }
-+ else if ( eUnit == MAP_PIXEL )
-+ {
-+ aPattern.push_back( 1.0 );
-+ aPattern.push_back( 3.0 );
-+ }
-+ break;
-+ case STYLE_DASHED:
-+ if ( eUnit == MAP_TWIP )
-+ {
-+ aPattern.push_back( 110 );
-+ aPattern.push_back( 110 );
-+ }
-+ else if ( eUnit == MAP_100TH_MM )
-+ {
-+ aPattern.push_back( 200 );
-+ aPattern.push_back( 200 );
-+ }
-+ else if ( eUnit == MAP_PIXEL )
-+ {
-+ aPattern.push_back( 10 );
-+ aPattern.push_back( 20 );
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ basegfx::B2DPolyPolygon aPolygons;
-+ if ( ! aPattern.empty() )
-+ basegfx::tools::applyLineDashing( rPolygon, aPattern, &aPolygons );
-+ else
-+ aPolygons.append( rPolygon );
-+
-+ return aPolygons;
-+ }
-+
-+ void DrawLine( OutputDevice& rDev, const Point& rP1, const Point& rP2,
-+ sal_uInt32 nWidth, USHORT nDashing )
-+ {
-+ basegfx::B2DPolygon aPolygon;
-+ aPolygon.append( basegfx::B2DPoint( rP1.X(), rP1.Y() ) );
-+ aPolygon.append( basegfx::B2DPoint( rP2.X(), rP2.Y() ) );
-+ lclDrawPolygon( rDev, aPolygon, nWidth, nDashing );
-+ }
-+}
-+
- void LineListBox::ImpGetLine( long nLine1, long nLine2, long nDistance,
-- Bitmap& rBmp, XubString& rStr )
-+ USHORT nStyle, Bitmap& rBmp, XubString& rStr )
- {
- Size aSize = GetOutputSizePixel();
- aSize.Width() -= 20;
-@@ -296,8 +399,8 @@ void LineListBox::ImpGetLine( long nLine1, long nLine2, long nDistance,
- // Linien malen
- aSize = aVirDev.PixelToLogic( aSize );
- long nPix = aVirDev.PixelToLogic( Size( 0, 1 ) ).Height();
-- long n1 = nLine1 / 100;
-- long n2 = nLine2 / 100;
-+ sal_uInt32 n1 = nLine1 / 100;
-+ sal_uInt32 n2 = nLine2 / 100;
- long nDist = nDistance / 100;
- n1 += nPix-1;
- n1 -= n1%nPix;
-@@ -320,13 +423,18 @@ void LineListBox::ImpGetLine( long nLine1, long nLine2, long nDistance,
- aVirDev.SetFillColor( GetSettings().GetStyleSettings().GetFieldColor() );
- aVirDev.DrawRect( Rectangle( Point(), aSize ) );
-
-- aVirDev.SetFillColor( GetPaintColor() );
-- aVirDev.DrawRect( Rectangle( 0, 0, aSize.Width(), n1-nPix ) );
-+ Color oldColor = aVirDev.GetLineColor( );
-+ aVirDev.SetLineColor( GetPaintColor( ) );
-+
-+ double y1 = n1 / 2;
-+ svtools::DrawLine( aVirDev, Point( 0, y1 ), Point( aSize.Width( ), y1 ), n1, nStyle );
-+
- if ( n2 )
- {
-- aVirDev.DrawRect( Rectangle( 0, n1+nDist,
-- aSize.Width(), n1+nDist+n2-nPix ) );
-+ double y2 = n1 + nDist + n2 / 2;
-+ svtools::DrawLine( aVirDev, Point( 0, y2 ), Point( aSize.Width(), y2 ), n2, STYLE_SOLID );
- }
-+ aVirDev.SetLineColor( oldColor );
- rBmp = aVirDev.GetBitmap( Point(), Size( aSize.Width(), n1+nDist+n2 ) );
- }
- // Twips nach Unit
-@@ -417,11 +525,11 @@ USHORT LineListBox::InsertEntry( const XubString& rStr, USHORT nPos )
- // -----------------------------------------------------------------------
-
- USHORT LineListBox::InsertEntry( long nLine1, long nLine2, long nDistance,
-- USHORT nPos )
-+ USHORT nStyle, USHORT nPos )
- {
- XubString aStr;
- Bitmap aBmp;
-- ImpGetLine( nLine1, nLine2, nDistance, aBmp, aStr );
-+ ImpGetLine( nLine1, nLine2, nDistance, nStyle, aBmp, aStr );
- nPos = ListBox::InsertEntry( aStr, aBmp, nPos );
- if ( nPos != LISTBOX_ERROR )
- {
-@@ -429,6 +537,7 @@ USHORT LineListBox::InsertEntry( long nLine1, long nLine2, long nDistance,
- pData->nLine1 = nLine1;
- pData->nLine2 = nLine2;
- pData->nDistance = nDistance;
-+ pData->nStyle = nStyle;
- pLineList->Insert( pData, nPos );
- }
-
-@@ -466,7 +575,7 @@ void LineListBox::Clear()
- // -----------------------------------------------------------------------
-
- USHORT LineListBox::GetEntryPos( long nLine1, long nLine2,
-- long nDistance ) const
-+ long nDistance, USHORT nStyle ) const
- {
- ULONG n = 0;
- ULONG nCount = pLineList->Count();
-@@ -477,7 +586,8 @@ USHORT LineListBox::GetEntryPos( long nLine1, long nLine2,
- {
- if ( (pData->nLine1 == nLine1) &&
- (pData->nLine2 == nLine2) &&
-- (pData->nDistance == nDistance) )
-+ (pData->nDistance == nDistance) &&
-+ (pData->nStyle == nStyle) )
- return (USHORT)n;
- }
-
-@@ -522,6 +632,18 @@ long LineListBox::GetEntryDistance( USHORT nPos ) const
-
- // -----------------------------------------------------------------------
-
-+USHORT LineListBox::GetEntryStyle( USHORT nPos ) const
-+{
-+ USHORT nStyle = STYLE_SOLID;
-+ ImpLineListData* pData = pLineList->GetObject( nPos );
-+ if ( pData )
-+ nStyle = pData->nStyle;
-+
-+ return nStyle;
-+}
-+
-+// -----------------------------------------------------------------------
-+
- void LineListBox::UpdateLineColors( void )
- {
- if( UpdatePaintLineColor() )
-@@ -544,7 +666,8 @@ void LineListBox::UpdateLineColors( void )
- {
- // exchange listbox data
- ListBox::RemoveEntry( USHORT( n ) );
-- ImpGetLine( pData->nLine1, pData->nLine2, pData->nDistance, aBmp, aStr );
-+ ImpGetLine( pData->nLine1, pData->nLine2, pData->nDistance,
-+ pData->nStyle, aBmp, aStr );
- ListBox::InsertEntry( aStr, aBmp, USHORT( n ) );
- }
- }
-diff --git svtools/source/svrtf/rtfkeywd.hxx svtools/source/svrtf/rtfkeywd.hxx
-index 87258b5..13e1f8c 100644
---- svtools/source/svrtf/rtfkeywd.hxx
-+++ svtools/source/svrtf/rtfkeywd.hxx
-@@ -72,6 +72,8 @@
- #define OOO_STRING_SVTOOLS_RTF_BRDRCF "\\brdrcf"
- #define OOO_STRING_SVTOOLS_RTF_BRDRDB "\\brdrdb"
- #define OOO_STRING_SVTOOLS_RTF_BRDRDOT "\\brdrdot"
-+#define OOO_STRING_SVTOOLS_RTF_BRDRDASH "\\brdrdash"
-+#define OOO_STRING_SVTOOLS_RTF_BRDRDASHSM "\\brdrdashsm"
- #define OOO_STRING_SVTOOLS_RTF_BRDRHAIR "\\brdrhair"
- #define OOO_STRING_SVTOOLS_RTF_BRDRL "\\brdrl"
- #define OOO_STRING_SVTOOLS_RTF_BRDRR "\\brdrr"
-diff --git svtools/util/makefile.mk svtools/util/makefile.mk
-index e95c557..15ea4de 100644
---- svtools/util/makefile.mk
-+++ svtools/util/makefile.mk
-@@ -152,7 +152,8 @@ SHL1STDLIBS+= \
- $(VOSLIB) \
- $(SALLIB) \
- $(ICUUCLIB) \
-- $(JVMFWKLIB)
-+ $(JVMFWKLIB) \
-+ $(BASEGFXLIB)
-
- .IF "$(OS)"=="MACOSX"
- # static libraries go at end
-diff --git svx/inc/svx/borderline.hxx svx/inc/svx/borderline.hxx
-index 2337c66..5e4be3b 100644
---- svx/inc/svx/borderline.hxx
-+++ svx/inc/svx/borderline.hxx
-@@ -93,6 +93,13 @@
-
- // ============================================================================
-
-+enum SvxBorderStyle
-+{
-+ SOLID,
-+ DOTTED,
-+ DASHED
-+};
-+
- class SVX_DLLPUBLIC SvxBorderLine
- {
- protected:
-@@ -100,9 +107,11 @@ protected:
- USHORT nOutWidth;
- USHORT nInWidth;
- USHORT nDistance;
-+ SvxBorderStyle m_nStyle;
-
- public:
-- SvxBorderLine( const Color *pCol = 0, USHORT nOut = 0, USHORT nIn = 0, USHORT nDist = 0 );
-+ SvxBorderLine( const Color *pCol = 0, USHORT nOut = 0, USHORT nIn = 0, USHORT nDist = 0,
-+ SvxBorderStyle nStyle = SOLID );
- SvxBorderLine( const SvxBorderLine& r );
-
- SvxBorderLine& operator=( const SvxBorderLine& r );
-@@ -112,10 +121,13 @@ public:
- USHORT GetInWidth() const { return nInWidth; }
- USHORT GetDistance() const { return nDistance; }
-
-+ SvxBorderStyle GetStyle() const { return m_nStyle; }
-+
- void SetColor( const Color &rColor ) { aColor = rColor; }
- void SetOutWidth( USHORT nNew ) { nOutWidth = nNew; }
- void SetInWidth( USHORT nNew ) { nInWidth = nNew; }
- void SetDistance( USHORT nNew ) { nDistance = nNew; }
-+ void SetStyle( SvxBorderStyle nNew ) { m_nStyle = nNew; }
- void ScaleMetrics( long nMult, long nDiv );
-
- BOOL operator==( const SvxBorderLine &rCmp ) const;
-diff --git svx/inc/svx/framelink.hxx svx/inc/svx/framelink.hxx
-index 2bf5138..8309326 100644
---- svx/inc/svx/framelink.hxx
-+++ svx/inc/svx/framelink.hxx
-@@ -36,9 +36,10 @@
- #include <tools/gen.hxx>
- #include <tools/color.hxx>
- #include "svx/svxdllapi.h"
-+#include "svx/borderline.hxx"
-+#include <vcl/outdev.hxx>
-
- class OutputDevice;
--class SvxBorderLine;
-
- namespace svx {
- namespace frame {
-@@ -115,20 +116,20 @@ class SVX_DLLPUBLIC Style
- {
- public:
- /** Constructs an invisible frame style. */
-- inline explicit Style() : meRefMode( REFMODE_CENTERED ), mnPrim( 0 ), mnDist( 0 ), mnSecn( 0 ), mbDotted( false ) {}
-+ inline explicit Style() : meRefMode( REFMODE_CENTERED ), mnPrim( 0 ), mnDist( 0 ), mnSecn( 0 ), mnDashing( SOLID ) {}
- /** Constructs a frame style with passed line widths. */
- inline explicit Style( sal_uInt16 nP, sal_uInt16 nD, sal_uInt16 nS ) :
-- meRefMode( REFMODE_CENTERED ), mbDotted( false )
-+ meRefMode( REFMODE_CENTERED ), mnDashing( SOLID )
- { Set( nP, nD, nS ); }
- /** Constructs a frame style with passed color and line widths. */
-- inline explicit Style( const Color& rColor, sal_uInt16 nP, sal_uInt16 nD, sal_uInt16 nS ) :
-- meRefMode( REFMODE_CENTERED ), mbDotted( false )
-+ inline explicit Style( const Color& rColor, sal_uInt16 nP, sal_uInt16 nD, sal_uInt16 nS, SvxBorderStyle nDashing = SOLID ) :
-+ meRefMode( REFMODE_CENTERED ), mnDashing( nDashing )
- { Set( rColor, nP, nD, nS ); }
- /** Constructs a frame style from the passed SvxBorderLine struct. */
-- inline explicit Style( const SvxBorderLine& rBorder, double fScale = 1.0, sal_uInt16 nMaxWidth = SAL_MAX_UINT16, bool /*bUseDots*/ = false ) :
-+ inline explicit Style( const SvxBorderLine& rBorder, double fScale = 1.0, sal_uInt16 nMaxWidth = SAL_MAX_UINT16 ) :
- meRefMode( REFMODE_CENTERED ) { Set( rBorder, fScale, nMaxWidth ); }
... etc. - the rest is truncated
More information about the ooo-build-commit
mailing list