]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Fixing X-placement of cells when there's start-indent on the table.
authorJeremias Maerki <jeremias@apache.org>
Wed, 6 Apr 2005 09:26:58 +0000 (09:26 +0000)
committerJeremias Maerki <jeremias@apache.org>
Wed, 6 Apr 2005 09:26:58 +0000 (09:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_KnuthStylePageBreaking@198568 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java

index 2dbb7e847cbba63f91c0b46c7446162f24f17d09..fb6f8969c340f540e422e34154b7608bc85ce6e8 100644 (file)
@@ -52,6 +52,7 @@ public class TableContentLayoutManager {
     private TableLayoutManager tableLM;
     private TableRowIterator trIter;
 
+    private int startXOffset;
     private int usedBPD;
     
     public TableContentLayoutManager(TableLayoutManager parent) {
@@ -308,7 +309,7 @@ public class TableContentLayoutManager {
     
     protected int getXOffsetOfGridUnit(GridUnit gu) {
         int col = gu.getStartCol();
-        return getTableLM().getColumns().getXOffset(col + 1);
+        return startXOffset + getTableLM().getColumns().getXOffset(col + 1);
     }
     
     public void addAreas(PositionIterator parentIter, LayoutContext layoutContext) {
@@ -430,6 +431,14 @@ public class TableContentLayoutManager {
                 start, end + 1), layoutContext);
     }
     
+    /**
+     * Sets the overall starting x-offset. Used for proper placement of cells.
+     * @param startXOffset starting x-offset (table's start-indent)
+     */
+    public void setStartXOffset(int startXOffset) {
+        this.startXOffset = startXOffset;
+    }
+
     public int getUsedBPD() {
         return this.usedBPD;
     }
index ffd1973bc895914b0022e8d8fa784dd6efbff0fd..39e06216bd270ddcf01e60a7638aa72a3605bf43 100644 (file)
@@ -671,6 +671,7 @@ public class TableLayoutManager extends BlockStackingLayoutManager
             }
         }
 
+        contentLM.setStartXOffset(startXOffset);
         contentLM.addAreas(parentIter, layoutContext);
         tableHeight += contentLM.getUsedBPD();