jeremias 2005/02/11 02:45:24
Modified: src/java/org/apache/fop/layoutmgr/table
TableLayoutManager.java
src/java/org/apache/fop/fo/flow Table.java
Log:
Implemented table-omit-header-at-break. The same for footers comes later when
page breaking is revisited.
Revision Changes Path
1.18 +11 -5
xml-fop/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
Index: TableLayoutManager.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- TableLayoutManager.java 10 Feb 2005 19:40:46 -0000 1.17
+++ TableLayoutManager.java 11 Feb 2005 10:45:24 -0000 1.18
@@ -57,6 +57,7 @@
private List bodyBreaks = new java.util.ArrayList();
private BreakPoss headerBreak;
private BreakPoss footerBreak;
+ private boolean firstRowHandled = false;
private int referenceIPD;
private boolean autoLayout = true;
@@ -185,13 +186,17 @@
//Calculate the headers and footers only when needed
MinOptMax headerSize = null;
if (getTable().getTableHeader() != null) {
- Body tableHeader = new Body(getTable().getTableHeader());
- tableHeader.setParent(this);
- headerBreak = getHeight(tableHeader, context);
- headerSize = headerBreak.getStackingSize();
- stackSize.add(headerSize);
+ if (!getTable().omitHeaderAtBreak() || !firstRowHandled)
{
+ Body tableHeader = new
Body(getTable().getTableHeader());
+ tableHeader.setParent(this);
+ headerBreak = getHeight(tableHeader, context);
+ headerSize = headerBreak.getStackingSize();
+ stackSize.add(headerSize);
+ }
}
+ //TODO Implement table-omit-footer-at-break once the page
breaking
+ //is improved, so we don't have to do this twice
MinOptMax footerSize = null;
if (getTable().getTableFooter() != null) {
Body tableFooter = new Body(getTable().getTableFooter());
@@ -244,6 +249,7 @@
stackSize.add(bp.getStackingSize());
lastPos = bp;
bodyBreaks.add(bp);
+ firstRowHandled = true;
if (bp.nextBreakOverflows()) {
over = true;
1.48 +10 -0 xml-fop/src/java/org/apache/fop/fo/flow/Table.java
Index: Table.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Table.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- Table.java 9 Feb 2005 15:38:15 -0000 1.47
+++ Table.java 11 Feb 2005 10:45:24 -0000 1.48
@@ -179,6 +179,16 @@
public TableBody getTableFooter() {
return tableFooter;
}
+
+ /** @return true if the table-header should be omitted at breaks */
+ public boolean omitHeaderAtBreak() {
+ return (this.tableOmitHeaderAtBreak == EN_TRUE);
+ }
+
+ /** @return true if the table-footer should be omitted at breaks */
+ public boolean omitFooterAtBreak() {
+ return (this.tableOmitFooterAtBreak == EN_TRUE);
+ }
/**
* @return the "inline-progression-dimension" property.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]