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
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;
}
}
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;
}
}
Vector columns;
AreaContainer areaContainer;
+ DisplaySpace spacer = null;
public TableRow(FObj parent, PropertyList propertyList) {
super(parent, propertyList);
}
if ((spaceBefore != 0) && (this.marker ==0)) {
- area.addDisplaySpace(spaceBefore);
+ spacer = new DisplaySpace(spaceBefore);
+ area.increaseHeight(spaceBefore);
}
if ( marker==0 ) {
status = new Status(Status.AREA_FULL_SOME);
}
+ if(spacer != null)
+ area.removeChild(spacer);
area.removeChild(areaContainer);
this.resetMarker();
this.removeID(area.getIDReferences());
cell.setHeight(largestCellHeight);
}
+ if(spacer != null)
+ area.addChild(spacer);
area.addChild(areaContainer);
areaContainer.end();
area.addDisplaySpace(largestCellHeight
this.children.removeElement(area);
}
+ public void removeChild(DisplaySpace spacer) {
+ this.currentHeight -= spacer.getSize();
+ this.absoluteHeight -= spacer.getSize();
+ this.children.removeElement(spacer);
+ }
+
public void remove() {
this.parent.removeChild(this);
}