Author: adelmelle
Date: Sat Feb 5 00:40:35 2011
New Revision: 1067360
URL: http://svn.apache.org/viewvc?rev=1067360&view=rev
Log:
Decommission AreaAdditionUtil.StackingIter + minor fixups
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java?rev=1067360&r1=1067359&r2=1067360&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java
(original)
+++
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/AreaAdditionUtil.java
Sat Feb 5 00:40:35 2011
@@ -19,7 +19,6 @@
package org.apache.fop.layoutmgr;
-import java.util.Iterator;
import java.util.LinkedList;
import org.apache.fop.layoutmgr.SpaceResolver.SpaceHandlingBreakPosition;
@@ -32,20 +31,6 @@ public final class AreaAdditionUtil {
private AreaAdditionUtil() {
}
- private static class StackingIter extends PositionIterator {
- StackingIter(Iterator parentIter) {
- super(parentIter);
- }
-
- protected LayoutManager getLM(Object nextObj) {
- return ((Position) nextObj).getLM();
- }
-
- protected Position getPos(Object nextObj) {
- return ((Position) nextObj);
- }
- }
-
/**
* Creates the child areas for the given layout manager.
* @param bslm the BlockStackingLayoutManager instance for which
"addAreas" is performed.
@@ -54,19 +39,23 @@ public final class AreaAdditionUtil {
*/
public static void addAreas(BlockStackingLayoutManager bslm,
PositionIterator parentIter, LayoutContext layoutContext) {
- LayoutManager childLM = null;
+ LayoutManager childLM;
LayoutContext lc = new LayoutContext(0);
LayoutManager firstLM = null;
LayoutManager lastLM = null;
Position firstPos = null;
Position lastPos = null;
+ if (bslm != null) {
+ bslm.addId();
+ }
+
// "unwrap" the NonLeafPositions stored in parentIter
// and put them in a new list;
- LinkedList positionList = new LinkedList();
+ LinkedList<Position> positionList = new LinkedList<Position>();
Position pos;
while (parentIter.hasNext()) {
- pos = (Position)parentIter.next();
+ pos = parentIter.next();
if (pos == null) {
continue;
}
@@ -78,8 +67,8 @@ public final class AreaAdditionUtil {
}
if (pos instanceof NonLeafPosition) {
// pos was created by a child of this FlowLM
- positionList.add(((NonLeafPosition) pos).getPosition());
- lastLM = ((NonLeafPosition) pos).getPosition().getLM();
+ positionList.add(pos.getPosition());
+ lastLM = (pos.getPosition().getLM());
if (firstLM == null) {
firstLM = lastLM;
}
@@ -104,7 +93,7 @@ public final class AreaAdditionUtil {
bslm.isLast(lastPos));
}
- StackingIter childPosIter = new
StackingIter(positionList.listIterator());
+ PositionIterator childPosIter = new
PositionIterator(positionList.listIterator());
while ((childLM = childPosIter.getNextChildLM()) != null) {
// TODO vh: the test above might be problematic in some cases. See
comment in
@@ -129,6 +118,7 @@ public final class AreaAdditionUtil {
false,
bslm.isFirst(firstPos),
bslm.isLast(lastPos));
+ bslm.checkEndOfLayout(lastPos);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]