aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/fo
diff options
context:
space:
mode:
authorKeiron Liddle <keiron@apache.org>2000-11-28 07:09:29 +0000
committerKeiron Liddle <keiron@apache.org>2000-11-28 07:09:29 +0000
commit42d88d788f7706872c34e56a7af65db3e82100c7 (patch)
tree5a3b2f2dfeaefac46cbbf42a042f33314c3c91b3 /src/org/apache/fop/fo
parente636b00ca25beabb705740925e8f9e5b73045ce9 (diff)
downloadxmlgraphics-fop-42d88d788f7706872c34e56a7af65db3e82100c7.tar.gz
xmlgraphics-fop-42d88d788f7706872c34e56a7af65db3e82100c7.zip
this handles the situation where the first row of a table
cannot fit on the current page, so the table must begin from the next page. This makes sure that no part of the table remains on the page and also no border will show up Code changes sponsored by Dresdner Bank, Germany git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193843 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/fo')
-rw-r--r--src/org/apache/fop/fo/flow/Table.java8
-rw-r--r--src/org/apache/fop/fo/flow/TableBody.java4
-rw-r--r--src/org/apache/fop/fo/flow/TableRow.java8
3 files changed, 15 insertions, 5 deletions
diff --git a/src/org/apache/fop/fo/flow/Table.java b/src/org/apache/fop/fo/flow/Table.java
index 89595d02f..03272fcec 100644
--- a/src/org/apache/fop/fo/flow/Table.java
+++ b/src/org/apache/fop/fo/flow/Table.java
@@ -218,9 +218,11 @@ public class Table extends FObj {
status = new Status(Status.AREA_FULL_SOME);
}
//areaContainer.end();
- area.addChild(areaContainer);
- area.increaseHeight(areaContainer.getHeight());
- area.setAbsoluteHeight(areaContainer.getAbsoluteHeight());
+ if(!(/*(i == 0) && */(areaContainer.getContentHeight() <= 0))) {
+ area.addChild(areaContainer);
+ area.increaseHeight(areaContainer.getHeight());
+ area.setAbsoluteHeight(areaContainer.getAbsoluteHeight());
+ }
return status;
}
}
diff --git a/src/org/apache/fop/fo/flow/TableBody.java b/src/org/apache/fop/fo/flow/TableBody.java
index d5139c948..c7b04986f 100644
--- a/src/org/apache/fop/fo/flow/TableBody.java
+++ b/src/org/apache/fop/fo/flow/TableBody.java
@@ -164,11 +164,13 @@ public class TableBody extends FObj {
if ((i != 0) && (status.getCode() == Status.AREA_FULL_NONE)) {
status = new Status(Status.AREA_FULL_SOME);
}
+ if(!((i == 0) && (areaContainer.getContentHeight() <= 0))) {
area.addChild(areaContainer);
//areaContainer.end();
- area.increaseHeight(areaContainer.getHeight());
+ area.increaseHeight(areaContainer.getHeight());
area.setAbsoluteHeight(areaContainer.getAbsoluteHeight());
+ }
return status;
}
}
diff --git a/src/org/apache/fop/fo/flow/TableRow.java b/src/org/apache/fop/fo/flow/TableRow.java
index af4d03176..28c02f242 100644
--- a/src/org/apache/fop/fo/flow/TableRow.java
+++ b/src/org/apache/fop/fo/flow/TableRow.java
@@ -104,6 +104,7 @@ public class TableRow extends FObj {
Vector columns;
AreaContainer areaContainer;
+ DisplaySpace spacer = null;
public TableRow(FObj parent, PropertyList propertyList) {
super(parent, propertyList);
@@ -211,7 +212,8 @@ public class TableRow extends FObj {
}
if ((spaceBefore != 0) && (this.marker ==0)) {
- area.addDisplaySpace(spaceBefore);
+ spacer = new DisplaySpace(spaceBefore);
+ area.increaseHeight(spaceBefore);
}
if ( marker==0 ) {
@@ -267,6 +269,8 @@ public class TableRow extends FObj {
status = new Status(Status.AREA_FULL_SOME);
}
+ if(spacer != null)
+ area.removeChild(spacer);
area.removeChild(areaContainer);
this.resetMarker();
this.removeID(area.getIDReferences());
@@ -284,6 +288,8 @@ public class TableRow extends FObj {
cell.setHeight(largestCellHeight);
}
+ if(spacer != null)
+ area.addChild(spacer);
area.addChild(areaContainer);
areaContainer.end();
area.addDisplaySpace(largestCellHeight