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 je...@apache.org on 2005/05/12 15:52:15 UTC
cvs commit: xml-fop/src/java/org/apache/fop/layoutmgr/table TableStepper.java TableContentLayoutManager.java
jeremias 2005/05/12 06:52:15
Modified: src/java/org/apache/fop/layoutmgr/table Tag:
Temp_KnuthStylePageBreaking TableStepper.java
TableContentLayoutManager.java
Log:
Fix for row spans ending early thus leaving empty grid units.
Adds a sanity check for the stepper.
Revision Changes Path
No revision
No revision
1.1.2.2 +9 -14 xml-fop/src/java/org/apache/fop/layoutmgr/table/Attic/TableStepper.java
Index: TableStepper.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Attic/TableStepper.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- TableStepper.java 11 May 2005 15:13:49 -0000 1.1.2.1
+++ TableStepper.java 12 May 2005 13:52:15 -0000 1.1.2.2
@@ -194,19 +194,12 @@
if (start[i] == 0 && end[i] == 0
&& elementLists[i].size() == 1
&& elementLists[i].get(0) instanceof KnuthBoxCellWithBPD) {
+ //Special case: Cell with fixed BPD
gridUnitParts.add(new GridUnitPart(pgu,
0, pgu.getElements().size() - 1));
} else {
gridUnitParts.add(new GridUnitPart(pgu, start[i], end[i]));
}
- } else {
- /*
- if ((end[i] >= 0)
- || (elementLists[i] != null && end[i] < 0)) {
- PrimaryGridUnit pgu = getActivePrimaryGridUnit(i);
- log.debug(">>>>>" + start[i] + "-" + end[i]);
- gridUnitParts.add(new GridUnitPart(pgu, 0, -1));
- }*/
}
}
//log.debug(">>> guPARTS: " + gridUnitParts);
@@ -278,7 +271,9 @@
log.debug("===> new row: " + activeRow);
initializeElementLists();
for (int i = 0; i < backupWidths.length; i++) {
- backupWidths[i] = 0;
+ if (end[i] < 0) {
+ backupWidths[i] = 0;
+ }
}
}
}
@@ -343,11 +338,11 @@
StringBuffer sb = new StringBuffer();
for (int i = 0; i < widths.length; i++) {
baseWidth[i] = 0;
+ for (int prevRow = 0; prevRow < startRow[i]; prevRow++) {
+ baseWidth[i] += rowGroup[prevRow].getHeight().opt;
+ }
+ baseWidth[i] += borderBefore[i] + borderAfter[i];
if (end[i] >= start[i]) {
- for (int prevRow = 0; prevRow < startRow[i]; prevRow++) {
- baseWidth[i] += rowGroup[prevRow].getHeight().opt;
- }
- baseWidth[i] += borderBefore[i] + borderAfter[i];
int len = baseWidth[i] + widths[i];
sb.append(len + " ");
minStep = Math.min(len, minStep);
1.1.2.12 +7 -2 xml-fop/src/java/org/apache/fop/layoutmgr/table/Attic/TableContentLayoutManager.java
Index: TableContentLayoutManager.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Attic/TableContentLayoutManager.java,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -r1.1.2.11 -r1.1.2.12
--- TableContentLayoutManager.java 11 May 2005 15:13:49 -0000 1.1.2.11
+++ TableContentLayoutManager.java 12 May 2005 13:52:15 -0000 1.1.2.12
@@ -651,6 +651,9 @@
start[colIndex] = gup.start;
end[colIndex] = gup.end;
} else {
+ if (gup.end < end[colIndex]) {
+ throw new IllegalStateException("Internal Error: stepper problem");
+ }
end[colIndex] = gup.end;
}
if (rowFO == null) {
@@ -703,8 +706,10 @@
//Add areas for row
//addRowBackgroundArea(rowFO, lastRowHeight, layoutContext.getRefIPD(), yoffset);
for (int i = 0; i < gridUnits.length; i++) {
+ GridUnit currentGU = (GridUnit)lastRow.getGridUnits().get(i);
if ((gridUnits[i] != null)
- && (forcedFlush || (end[i] == gridUnits[i].getElements().size() - 1))) {
+ && (forcedFlush || (end[i] == gridUnits[i].getElements().size() - 1))
+ && (currentGU.isLastGridUnitRowSpan())) {
if (log.isDebugEnabled()) {
log.debug((forcedFlush ? "FORCED " : "") + "flushing..." + i + " "
+ start[i] + "-" + end[i]);
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org