bckfnn 2004/10/19 14:48:17
Modified: src/java/org/apache/fop/layoutmgr/table Body.java Cell.java
Column.java Row.java TableLayoutManager.java
Log:
Third phase of performance improvement.
- Use CommonBorderPaddingBackground.
PR: 31699
Revision Changes Path
1.10 +6 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Body.java
Index: Body.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Body.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Body.java 26 May 2004 04:22:40 -0000 1.9
+++ Body.java 19 Oct 2004 21:48:17 -0000 1.10
@@ -18,8 +18,7 @@
package org.apache.fop.layoutmgr.table;
-import org.apache.fop.fo.FObj;
-import org.apache.fop.fo.PropertyManager;
+import org.apache.fop.fo.flow.TableBody;
import org.apache.fop.layoutmgr.LayoutManager;
import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
import org.apache.fop.layoutmgr.LeafPosition;
@@ -32,8 +31,6 @@
import org.apache.fop.area.Area;
import org.apache.fop.area.Block;
import org.apache.fop.traits.MinOptMax;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
import java.util.ArrayList;
import java.util.List;
@@ -44,9 +41,8 @@
* Cells are organised into rows.
*/
public class Body extends BlockStackingLayoutManager {
- private CommonBorderAndPadding borderProps = null;
- private CommonBackground backgroundProps;
-
+ private TableBody fobj;
+
private boolean rows = true;
private List columns;
@@ -60,17 +56,9 @@
/**
* Create a new body layout manager.
*/
- public Body(FObj node) {
+ public Body(TableBody node) {
super(node);
- }
-
- /**
- * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties()
- */
- protected void initProperties() {
- PropertyManager pm = fobj.getPropertyManager();
- borderProps = pm.getBorderAndPadding();
- backgroundProps = pm.getBackgroundProps();
+ fobj = node;
}
/**
@@ -266,9 +254,7 @@
public Area createColumnArea() {
Area curBlockArea = new Block();
- if (backgroundProps != null) {
- TraitSetter.addBackground(curBlockArea, backgroundProps);
- }
+ TraitSetter.addBackground(curBlockArea,
fobj.getCommonBorderPaddingBackground());
return curBlockArea;
}
}
1.11 +9 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Cell.java
Index: Cell.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Cell.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Cell.java 22 Sep 2004 08:25:16 -0000 1.10
+++ Cell.java 19 Oct 2004 21:48:17 -0000 1.11
@@ -18,8 +18,7 @@
package org.apache.fop.layoutmgr.table;
-import org.apache.fop.fo.FObj;
-import org.apache.fop.fo.PropertyManager;
+import org.apache.fop.fo.flow.TableCell;
import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
import org.apache.fop.layoutmgr.LayoutManager;
import org.apache.fop.layoutmgr.LeafPosition;
@@ -32,8 +31,6 @@
import org.apache.fop.area.Area;
import org.apache.fop.area.Block;
import org.apache.fop.traits.MinOptMax;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
import java.util.ArrayList;
import java.util.List;
@@ -43,10 +40,8 @@
* A cell contains blocks. These blocks fill the cell.
*/
public class Cell extends BlockStackingLayoutManager {
-
- private CommonBorderAndPadding borderProps = null;
- private CommonBackground backgroundProps;
-
+ private TableCell fobj;
+
private Block curBlockArea;
private List childBreaks = new ArrayList();
@@ -59,17 +54,15 @@
/**
* Create a new Cell layout manager.
*/
- public Cell(FObj node) {
+ public Cell(TableCell node) {
super(node);
+ fobj = node;
}
/**
* @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties()
*/
protected void initProperties() {
- PropertyManager pm = fobj.getPropertyManager();
- borderProps = pm.getBorderAndPadding();
- backgroundProps = pm.getBackgroundProps();
}
/**
@@ -187,7 +180,7 @@
public void addAreas(PositionIterator parentIter,
LayoutContext layoutContext) {
getParentArea(null);
- addID();
+ addID(fobj.getId());
LayoutManager childLM;
int iStartPos = 0;
@@ -204,13 +197,9 @@
}
}
- if (borderProps != null) {
- TraitSetter.addBorders(curBlockArea, borderProps);
- }
- if (backgroundProps != null) {
- TraitSetter.addBackground(curBlockArea, backgroundProps);
- }
-
+ TraitSetter.addBorders(curBlockArea,
fobj.getCommonBorderPaddingBackground());
+ TraitSetter.addBackground(curBlockArea,
fobj.getCommonBorderPaddingBackground());
+
curBlockArea.setBPD(height);
flush();
1.7 +6 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Column.java
Index: Column.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Column.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Column.java 26 May 2004 04:22:40 -0000 1.6
+++ Column.java 19 Oct 2004 21:48:17 -0000 1.7
@@ -19,8 +19,6 @@
package org.apache.fop.layoutmgr.table;
import org.apache.fop.datatypes.Length;
-import org.apache.fop.fo.FObj;
-import org.apache.fop.fo.PropertyManager;
import org.apache.fop.layoutmgr.AbstractLayoutManager;
import org.apache.fop.layoutmgr.BreakPoss;
import org.apache.fop.layoutmgr.LayoutContext;
@@ -29,8 +27,6 @@
import org.apache.fop.fo.flow.TableColumn;
import org.apache.fop.area.Area;
import org.apache.fop.area.Block;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
/**
* LayoutManager for a table-column FO.
@@ -39,23 +35,15 @@
* column properties.
*/
public class Column extends AbstractLayoutManager {
- private CommonBorderAndPadding borderProps = null;
- private CommonBackground backgroundProps;
+ private TableColumn fobj;
+
/**
* Create a new column layout manager.
*/
- public Column(FObj node) {
+ public Column(TableColumn node) {
super(node);
- }
-
- /**
- * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties()
- */
- protected void initProperties() {
- PropertyManager pm = fobj.getPropertyManager();
- borderProps = pm.getBorderAndPadding();
- backgroundProps = pm.getBackgroundProps();
+ fobj = node;
}
/**
@@ -99,7 +87,7 @@
* @return the width of the column
*/
public Length getWidth() {
- return ((TableColumn)fobj).getColumnWidth();
+ return fobj.getColumnWidth();
}
/**
@@ -112,9 +100,7 @@
public Area createColumnArea() {
Area curBlockArea = new Block();
- if (backgroundProps != null) {
- TraitSetter.addBackground(curBlockArea, backgroundProps);
- }
+ TraitSetter.addBackground(curBlockArea,
fobj.getCommonBorderPaddingBackground());
return curBlockArea;
}
}
1.14 +6 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Row.java
Index: Row.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Row.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Row.java 12 Jun 2004 18:03:47 -0000 1.13
+++ Row.java 19 Oct 2004 21:48:17 -0000 1.14
@@ -18,8 +18,7 @@
package org.apache.fop.layoutmgr.table;
-import org.apache.fop.fo.FObj;
-import org.apache.fop.fo.PropertyManager;
+import org.apache.fop.fo.flow.TableRow;
import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
import org.apache.fop.layoutmgr.LayoutManager;
import org.apache.fop.layoutmgr.LeafPosition;
@@ -32,8 +31,6 @@
import org.apache.fop.area.Area;
import org.apache.fop.area.Block;
import org.apache.fop.traits.MinOptMax;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
import java.util.Iterator;
import java.util.ArrayList;
@@ -47,13 +44,12 @@
* but effect the occupied columns of future rows.
*/
public class Row extends BlockStackingLayoutManager {
-
+ private TableRow fobj;
+
private List cellList = null;
private List columns = null;
private int rowHeight;
private int yoffset;
- private CommonBorderAndPadding borderProps = null;
- private CommonBackground backgroundProps;
private class RowPosition extends LeafPosition {
protected List cellBreaks;
@@ -67,17 +63,9 @@
* Create a new row layout manager.
*
*/
- public Row(FObj node) {
+ public Row(TableRow node) {
super(node);
- }
-
- /**
- * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties()
- */
- protected void initProperties() {
- PropertyManager pm = fobj.getPropertyManager();
- borderProps = pm.getBorderAndPadding();
- backgroundProps = pm.getBackgroundProps();
+ fobj = node;
}
/**
@@ -376,9 +364,7 @@
*/
public Area getRowArea() {
Area block = new Block();
- if (backgroundProps != null) {
- TraitSetter.addBackground(block, backgroundProps);
- }
+ TraitSetter.addBackground(block, fobj.getCommonBorderPaddingBackground());
return block;
}
}
1.14 +8 -24
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.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- TableLayoutManager.java 22 Sep 2004 08:25:16 -0000 1.13
+++ TableLayoutManager.java 19 Oct 2004 21:48:17 -0000 1.14
@@ -20,8 +20,7 @@
import org.apache.fop.datatypes.Length;
import org.apache.fop.datatypes.PercentBase;
-import org.apache.fop.fo.FObj;
-import org.apache.fop.fo.PropertyManager;
+import org.apache.fop.fo.flow.Table;
import org.apache.fop.fo.properties.TableColLength;
import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
import org.apache.fop.layoutmgr.LayoutManager;
@@ -35,8 +34,6 @@
import org.apache.fop.area.Area;
import org.apache.fop.area.Block;
import org.apache.fop.traits.MinOptMax;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
import java.util.ArrayList;
import java.util.Iterator;
@@ -51,13 +48,12 @@
* the render background.
*/
public class TableLayoutManager extends BlockStackingLayoutManager {
+ private Table fobj;
+
private List columns = null;
private Body tableHeader = null;
private Body tableFooter = null;
- private CommonBorderAndPadding borderProps = null;
- private CommonBackground backgroundProps;
-
private Block curBlockArea;
private List bodyBreaks = new ArrayList();
@@ -76,17 +72,9 @@
* Create a new table layout manager.
*
*/
- public TableLayoutManager(FObj node) {
+ public TableLayoutManager(Table node) {
super(node);
- }
-
- /**
- * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties()
- */
- protected void initProperties() {
- PropertyManager pm = fobj.getPropertyManager();
- borderProps = pm.getBorderAndPadding();
- backgroundProps = pm.getBackgroundProps();
+ fobj = node;
}
/**
@@ -284,7 +272,7 @@
public void addAreas(PositionIterator parentIter,
LayoutContext layoutContext) {
getParentArea(null);
- addID();
+ addID(fobj.getId());
// add column, body then row areas
@@ -332,12 +320,8 @@
curBlockArea.setBPD(tableHeight);
- if (borderProps != null) {
- TraitSetter.addBorders(curBlockArea, borderProps);
- }
- if (backgroundProps != null) {
- TraitSetter.addBackground(curBlockArea, backgroundProps);
- }
+ TraitSetter.addBorders(curBlockArea,
fobj.getCommonBorderPaddingBackground());
+ TraitSetter.addBackground(curBlockArea,
fobj.getCommonBorderPaddingBackground());
flush();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]