You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vh...@apache.org on 2007/12/13 19:28:57 UTC
svn commit: r603968 - in /xmlgraphics/fop/trunk:
src/java/org/apache/fop/fo/flow/table/ test/layoutengine/standard-testcases/
Author: vhennebert
Date: Thu Dec 13 10:28:56 2007
New Revision: 603968
URL: http://svn.apache.org/viewvc?rev=603968&view=rev
Log:
Fixed the handling of columns in the border resolution, especially in case of column-spanning cells
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/CollapsingBorderResolver.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/TableCell.java
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution.xml
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution_no-col.xml
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/CollapsingBorderResolver.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/CollapsingBorderResolver.java?rev=603968&r1=603967&r2=603968&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/CollapsingBorderResolver.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/CollapsingBorderResolver.java Thu Dec 13 10:28:56 2007
@@ -205,14 +205,22 @@
// Resolve start/end borders in the row
Iterator guIter = row.iterator();
GridUnit gu = (GridUnit) guIter.next();
+ Iterator colIter = table.getColumns().iterator();
+ TableColumn col = (TableColumn) colIter.next();
+ gu.integrateBorderSegment(CommonBorderPaddingBackground.START, col);
gu.integrateBorderSegment(CommonBorderPaddingBackground.START, container);
while (guIter.hasNext()) {
- GridUnit guEnd = (GridUnit) guIter.next();
+ GridUnit nextGU = (GridUnit) guIter.next();
+ TableColumn nextCol = (TableColumn) colIter.next();
if (gu.isLastGridUnitColSpan()) {
- gu.resolveBorder(guEnd, CommonBorderPaddingBackground.END);
+ gu.integrateBorderSegment(CommonBorderPaddingBackground.END, col);
+ nextGU.integrateBorderSegment(CommonBorderPaddingBackground.START, nextCol);
+ gu.resolveBorder(nextGU, CommonBorderPaddingBackground.END);
}
- gu = guEnd;
+ gu = nextGU;
+ col = nextCol;
}
+ gu.integrateBorderSegment(CommonBorderPaddingBackground.END, col);
gu.integrateBorderSegment(CommonBorderPaddingBackground.END, container);
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/TableCell.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/TableCell.java?rev=603968&r1=603967&r2=603968&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/TableCell.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/TableCell.java Thu Dec 13 10:28:56 2007
@@ -138,15 +138,8 @@
protected void setCollapsedBorders() {
createBorder(CommonBorderPaddingBackground.BEFORE);
createBorder(CommonBorderPaddingBackground.AFTER);
- Table table = getTable();
- if (table.hasExplicitColumns()) {
- TableColumn col = table.getColumn(getColumnNumber() - 1);
- createBorder(CommonBorderPaddingBackground.START, col);
- createBorder(CommonBorderPaddingBackground.END, col);
- } else {
- createBorder(CommonBorderPaddingBackground.START);
- createBorder(CommonBorderPaddingBackground.END);
- }
+ createBorder(CommonBorderPaddingBackground.START);
+ createBorder(CommonBorderPaddingBackground.END);
}
/** {@inheritDoc} */
Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution.xml?rev=603968&r1=603967&r2=603968&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution.xml Thu Dec 13 10:28:56 2007
@@ -166,6 +166,30 @@
</fo:table-body>
</fo:table>
+ <!-- table 3 -->
+ <fo:block space-before="10pt" space-after="10pt">Between tables</fo:block>
+ <fo:table table-layout="fixed" width="200pt" border-collapse="collapse">
+ <fo:table-column column-width="proportional-column-width(1)"
+ border="6pt solid blue"/>
+ <fo:table-column column-width="proportional-column-width(1)"
+ border="8pt solid red"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell number-columns-spanned="2" border="1pt solid black">
+ <fo:block>Cell 1.1</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell border="1pt solid black">
+ <fo:block>Cell 2.1</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border="1pt solid black">
+ <fo:block>Cell 2.2</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+
<fo:block>After the tables</fo:block>
</fo:flow>
</fo:page-sequence>
@@ -332,6 +356,27 @@
<eval expected="(solid,#ffff00,14000,collapse-outer)" xpath="//flow/block[4]/block[22]/@border-after"/>
<eval expected="(solid,#ffff00,1000,collapse-inner)" xpath="//flow/block[4]/block[22]/@border-start"/>
<eval expected="(solid,#000000,10000,collapse-outer)" xpath="//flow/block[4]/block[22]/@border-end"/>
+
+ <!-- table 3 -->
+ <!-- cell 1.1 -->
+ <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-before"/>
+ <eval expected="(solid,#000000,1000,collapse-inner)" xpath="//flow/block[6]/block[1]/@border-after"/>
+ <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-start"/>
+ <eval expected="" xpath="//flow/block[6]/block[1]/@border-end"/>
+ <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-before"/>
+ <eval expected="(solid,#000000,1000,collapse-inner)" xpath="//flow/block[6]/block[2]/@border-after"/>
+ <eval expected="" xpath="//flow/block[6]/block[2]/@border-start"/>
+ <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-end"/>
+ <!-- cell 2.1 -->
+ <eval expected="(solid,#000000,1000,collapse-inner)" xpath="//flow/block[6]/block[4]/@border-before"/>
+ <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[6]/block[4]/@border-after"/>
+ <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[6]/block[4]/@border-start"/>
+ <eval expected="(solid,#ff0000,8000,collapse-inner)" xpath="//flow/block[6]/block[4]/@border-end"/>
+ <!-- cell 2.2 -->
+ <eval expected="(solid,#000000,1000,collapse-inner)" xpath="//flow/block[6]/block[5]/@border-before"/>
+ <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[5]/@border-after"/>
+ <eval expected="(solid,#ff0000,8000,collapse-inner)" xpath="//flow/block[6]/block[5]/@border-start"/>
+ <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[5]/@border-end"/>
</checks>
</testcase>
Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution_no-col.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution_no-col.xml?rev=603968&r1=603967&r2=603968&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution_no-col.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table_border-collapse_collapse_resolution_no-col.xml Thu Dec 13 10:28:56 2007
@@ -20,7 +20,8 @@
<!--
NOTE: this test is a copy of table_border-collapse_collapse_resolution.xml, with all of the
fo:table-column elements removed. The checks for the borders in the second column of the first
- table have been changed accordingly (no more column which plays in the resolution).
+ table have been changed accordingly (no more column which plays in the resolution), and the third
+ table has been removed (not applicable when there are no columns).
-->
<testcase>
<info>
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org