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