aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/fo/flow
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/org/apache/fop/fo/flow')
-rw-r--r--src/java/org/apache/fop/fo/flow/BasicLink.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/BidiOverride.java30
-rw-r--r--src/java/org/apache/fop/fo/flow/Block.java18
-rw-r--r--src/java/org/apache/fop/fo/flow/BlockContainer.java15
-rw-r--r--src/java/org/apache/fop/fo/flow/Character.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/ExternalGraphic.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/Footnote.java19
-rw-r--r--src/java/org/apache/fop/fo/flow/Inline.java4
-rw-r--r--src/java/org/apache/fop/fo/flow/InlineContainer.java18
-rw-r--r--src/java/org/apache/fop/fo/flow/InstreamForeignObject.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/Leader.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/ListBlock.java16
-rw-r--r--src/java/org/apache/fop/fo/flow/ListItem.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/PageNumber.java4
-rw-r--r--src/java/org/apache/fop/fo/flow/PageNumberCitation.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/RetrieveMarker.java4
-rw-r--r--src/java/org/apache/fop/fo/flow/Table.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/TableBody.java4
-rw-r--r--src/java/org/apache/fop/fo/flow/TableCell.java18
-rw-r--r--src/java/org/apache/fop/fo/flow/TableFooter.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/TableHeader.java3
-rw-r--r--src/java/org/apache/fop/fo/flow/TableRow.java16
-rw-r--r--src/java/org/apache/fop/fo/flow/Wrapper.java3
23 files changed, 131 insertions, 68 deletions
diff --git a/src/java/org/apache/fop/fo/flow/BasicLink.java b/src/java/org/apache/fop/fo/flow/BasicLink.java
index 89fbc7e0b..4b24bd6c7 100644
--- a/src/java/org/apache/fop/fo/flow/BasicLink.java
+++ b/src/java/org/apache/fop/fo/flow/BasicLink.java
@@ -33,13 +33,14 @@ import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonBackground;
import org.apache.fop.fo.properties.CommonMarginInline;
import org.apache.fop.fo.properties.CommonRelativePosition;
+import org.apache.fop.fo.LMVisited;
/**
* The basic link.
* This sets the basic link trait on the inline parent areas
* that are created by the fo element.
*/
-public class BasicLink extends Inline {
+public class BasicLink extends Inline implements LMVisited {
private String link = null;
private boolean external = false;
diff --git a/src/java/org/apache/fop/fo/flow/BidiOverride.java b/src/java/org/apache/fop/fo/flow/BidiOverride.java
index 9e0e37cfd..10c10ec40 100644
--- a/src/java/org/apache/fop/fo/flow/BidiOverride.java
+++ b/src/java/org/apache/fop/fo/flow/BidiOverride.java
@@ -18,6 +18,10 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.ArrayList;
+import java.util.List;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -27,10 +31,13 @@ import org.xml.sax.SAXParseException;
import org.apache.fop.fo.FOElementMapping;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObjMixed;
-import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.layoutmgr.BidiLayoutManager;
+import org.apache.fop.layoutmgr.InlineStackingLayoutManager;
+import org.apache.fop.layoutmgr.LayoutManager;
import org.apache.fop.fo.properties.CommonAural;
import org.apache.fop.fo.properties.CommonRelativePosition;
+
/**
* fo:bidi-override element.
*/
@@ -116,7 +123,24 @@ public class BidiOverride extends FObjMixed {
* this object.
* @param aLMV the AddLMVisitor object that can access this object.
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveBidiOverride(this);
+ public void addLayoutManager(List list) {
+ if (false) {
+ super.addLayoutManager(list);
+ } else {
+ ArrayList childList = new ArrayList();
+ super.addLayoutManager(list);
+ for (int count = childList.size() - 1; count >= 0; count--) {
+ LayoutManager lm = (LayoutManager) childList.get(count);
+ if (lm.generatesInlineAreas()) {
+ LayoutManager blm = new BidiLayoutManager((InlineStackingLayoutManager) lm);
+ blm.setFObj(this);
+ list.add(blm);
+ } else {
+ list.add(lm);
+ }
+ }
+ }
}
+
+
}
diff --git a/src/java/org/apache/fop/fo/flow/Block.java b/src/java/org/apache/fop/fo/flow/Block.java
index 69131a5be..ffe9afc05 100644
--- a/src/java/org/apache/fop/fo/flow/Block.java
+++ b/src/java/org/apache/fop/fo/flow/Block.java
@@ -18,6 +18,9 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -30,7 +33,7 @@ import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.FObjMixed;
import org.apache.fop.fo.RecursiveCharIterator;
-import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.layoutmgr.BlockLayoutManager;
import org.apache.fop.fo.Constants;
import org.apache.fop.fo.properties.CommonAccessibility;
import org.apache.fop.fo.properties.CommonAural;
@@ -337,15 +340,14 @@ public class Block extends FObjMixed {
}
/**
- * This is a hook for the AddLMVisitor class to be able to access
- * this object.
- * @param aLMV the AddLMVisitor object that can access this object.
+ * @param list the list to which the layout manager(s) should be added
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveBlock(this);
+ public void addLayoutManager(List list) {
+ BlockLayoutManager blm = new BlockLayoutManager(this);
+ list.add(blm);
}
-
- public String getName() {
+
+ public String getName() {
return "fo:block";
}
diff --git a/src/java/org/apache/fop/fo/flow/BlockContainer.java b/src/java/org/apache/fop/fo/flow/BlockContainer.java
index 29adbbe7e..b0b4481ef 100644
--- a/src/java/org/apache/fop/fo/flow/BlockContainer.java
+++ b/src/java/org/apache/fop/fo/flow/BlockContainer.java
@@ -18,15 +18,18 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+
// FOP
import org.apache.fop.datatypes.ColorType;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
-import org.apache.fop.layoutmgr.AddLMVisitor;
import org.apache.fop.fo.properties.CommonAbsolutePosition;
import org.apache.fop.fo.properties.CommonBackground;
import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginBlock;
+import org.apache.fop.layoutmgr.BlockContainerLayoutManager;
import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
@@ -131,12 +134,12 @@ public class BlockContainer extends FObj {
}
/**
- * This is a hook for the AddLMVisitor class to be able to access
- * this object.
- * @param aLMV the AddLMVisitor object that can access this object.
+ * @param list the list to which the layout manager(s) should be added
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveBlockContainer(this);
+ public void addLayoutManager(List list) {
+ BlockContainerLayoutManager blm = new BlockContainerLayoutManager(this);
+ blm.setOverflow(getProperty(PR_OVERFLOW).getEnum());
+ list.add(blm);
}
public String getName() {
diff --git a/src/java/org/apache/fop/fo/flow/Character.java b/src/java/org/apache/fop/fo/flow/Character.java
index 5aa8d9a11..381b883cf 100644
--- a/src/java/org/apache/fop/fo/flow/Character.java
+++ b/src/java/org/apache/fop/fo/flow/Character.java
@@ -36,6 +36,7 @@ import org.apache.fop.fo.properties.CommonHyphenation;
import org.apache.fop.fo.properties.CommonMarginInline;
import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.apps.FOPException;
+import org.apache.fop.fo.LMVisited;
/**
* This class represents the flow object 'fo:character'. Its use is defined by
@@ -50,7 +51,7 @@ import org.apache.fop.apps.FOPException;
* Overrides may be specified in an implementation-specific manner." (6.6.3)
*
*/
-public class Character extends FObj {
+public class Character extends FObj implements LMVisited {
/** constant indicating that the character is OK */
public static final int OK = 0;
diff --git a/src/java/org/apache/fop/fo/flow/ExternalGraphic.java b/src/java/org/apache/fop/fo/flow/ExternalGraphic.java
index 3c12b7899..813026b4c 100644
--- a/src/java/org/apache/fop/fo/flow/ExternalGraphic.java
+++ b/src/java/org/apache/fop/fo/flow/ExternalGraphic.java
@@ -33,13 +33,14 @@ import org.apache.fop.fo.FObj;
import org.apache.fop.image.FopImage;
import org.apache.fop.image.ImageFactory;
import org.xml.sax.Attributes;
+import org.apache.fop.fo.LMVisited;
/**
* External graphic formatting object.
* This FO node handles the external graphic. It creates an image
* inline area that can be added to the area tree.
*/
-public class ExternalGraphic extends FObj {
+public class ExternalGraphic extends FObj implements LMVisited {
private String url;
private int breakAfter;
private int breakBefore;
diff --git a/src/java/org/apache/fop/fo/flow/Footnote.java b/src/java/org/apache/fop/fo/flow/Footnote.java
index f234927e9..5c02ac173 100644
--- a/src/java/org/apache/fop/fo/flow/Footnote.java
+++ b/src/java/org/apache/fop/fo/flow/Footnote.java
@@ -18,6 +18,9 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -25,7 +28,6 @@ import org.xml.sax.SAXParseException;
// FOP
import org.apache.fop.fo.FONode;
-import org.apache.fop.layoutmgr.AddLMVisitor;
import org.apache.fop.fo.FObj;
/**
@@ -74,15 +76,22 @@ public class Footnote extends FObj {
return inlineFO;
}
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveFootnote(this);
- }
-
protected void endOfNode() throws SAXParseException {
super.endOfNode();
getFOInputHandler().endFootnote(this);
}
+ /**
+ * @param list the list to which the layout manager(s) should be added
+ */
+ public void addLayoutManager(List list) {
+ if (getInlineFO() == null) {
+ getLogger().error("inline required in footnote");
+ return;
+ }
+ getInlineFO().addLayoutManager(list);
+ }
+
public String getName() {
return "fo:footnote";
}
diff --git a/src/java/org/apache/fop/fo/flow/Inline.java b/src/java/org/apache/fop/fo/flow/Inline.java
index 61e654eb1..2be77db77 100644
--- a/src/java/org/apache/fop/fo/flow/Inline.java
+++ b/src/java/org/apache/fop/fo/flow/Inline.java
@@ -107,10 +107,6 @@ public class Inline extends FObjMixed {
return new InlineCharIterator(this, propMgr.getBorderAndPadding());
}
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveInline(this);
- }
-
public String getName() {
return "fo:inline";
}
diff --git a/src/java/org/apache/fop/fo/flow/InlineContainer.java b/src/java/org/apache/fop/fo/flow/InlineContainer.java
index 050507da4..9e0d234da 100644
--- a/src/java/org/apache/fop/fo/flow/InlineContainer.java
+++ b/src/java/org/apache/fop/fo/flow/InlineContainer.java
@@ -18,14 +18,19 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+import java.util.ArrayList;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
// FOP
+import org.apache.fop.layoutmgr.LayoutManager;
+import org.apache.fop.layoutmgr.ICLayoutManager;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
-import org.apache.fop.layoutmgr.AddLMVisitor;
import org.apache.fop.fo.properties.CommonBackground;
import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginInline;
@@ -89,12 +94,13 @@ public class InlineContainer extends FObj {
}
/**
- * This is a hook for the AddLMVisitor class to be able to access
- * this object.
- * @param aLMV the AddLMVisitor object that can access this object.
+ * @param list the list to which the layout manager(s) should be added
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveInlineContainer(this);
+ public void addLayoutManager(List list) {
+ ArrayList childList = new ArrayList();
+ super.addLayoutManager(childList);
+ LayoutManager lm = new ICLayoutManager(this, childList);
+ list.add(lm);
}
public String getName() {
diff --git a/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java b/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java
index afbeff95e..5b977cbf4 100644
--- a/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java
+++ b/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java
@@ -25,6 +25,7 @@ import org.xml.sax.SAXParseException;
// FOP
import org.apache.fop.fo.FONode;
+import org.apache.fop.fo.LMVisited;
import org.apache.fop.fo.FOElementMapping;
import org.apache.fop.layoutmgr.AddLMVisitor;
import org.apache.fop.fo.FObj;
@@ -34,7 +35,7 @@ import org.apache.fop.fo.FObj;
* This is an atomic inline object that contains
* xml data.
*/
-public class InstreamForeignObject extends FObj {
+public class InstreamForeignObject extends FObj implements LMVisited {
boolean hasNonXSLNamespaceElement = false;
diff --git a/src/java/org/apache/fop/fo/flow/Leader.java b/src/java/org/apache/fop/fo/flow/Leader.java
index 2e6003d4a..522ce8c89 100644
--- a/src/java/org/apache/fop/fo/flow/Leader.java
+++ b/src/java/org/apache/fop/fo/flow/Leader.java
@@ -31,13 +31,14 @@ import org.apache.fop.fo.properties.CommonMarginInline;
import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.fo.properties.PercentLength;
import org.apache.fop.fonts.Font;
+import org.apache.fop.fo.LMVisited;
/**
* Class modelling fo:leader object. See Sec. 6.6.9 of the XSL-FO Standard.
* The main property of fo:leader is leader-pattern.
* The following patterns are treated: rule, space, dots and use-content.
*/
-public class Leader extends FObjMixed {
+public class Leader extends FObjMixed implements LMVisited {
private int ruleStyle;
private int ruleThickness;
diff --git a/src/java/org/apache/fop/fo/flow/ListBlock.java b/src/java/org/apache/fop/fo/flow/ListBlock.java
index d36b3c72a..a426fb187 100644
--- a/src/java/org/apache/fop/fo/flow/ListBlock.java
+++ b/src/java/org/apache/fop/fo/flow/ListBlock.java
@@ -18,6 +18,9 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
@@ -26,7 +29,7 @@ import org.xml.sax.SAXParseException;
import org.apache.fop.datatypes.ColorType;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
-import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.layoutmgr.list.ListBlockLayoutManager;
import org.apache.fop.fo.properties.CommonAccessibility;
import org.apache.fop.fo.properties.CommonAural;
import org.apache.fop.fo.properties.CommonBackground;
@@ -99,19 +102,18 @@ public class ListBlock extends FObj {
}
/**
- * This is a hook for the AddLMVisitor class to be able to access
- * this object.
- * @param aLMV the AddLMVisitor object that can access this object.
+ * @param list the list to which the layout manager(s) should be added
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveListBlock(this);
+ public void addLayoutManager(List list) {
+ ListBlockLayoutManager lm = new ListBlockLayoutManager(this);
+ list.add(lm);
}
protected void endOfNode() throws SAXParseException {
super.endOfNode();
getFOInputHandler().endList(this);
}
-
+
public String getName() {
return "fo:list-block";
}
diff --git a/src/java/org/apache/fop/fo/flow/ListItem.java b/src/java/org/apache/fop/fo/flow/ListItem.java
index 25d753918..cd4c2127b 100644
--- a/src/java/org/apache/fop/fo/flow/ListItem.java
+++ b/src/java/org/apache/fop/fo/flow/ListItem.java
@@ -33,12 +33,13 @@ import org.apache.fop.fo.properties.CommonBackground;
import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginBlock;
import org.apache.fop.fo.properties.CommonRelativePosition;
+import org.apache.fop.fo.LMVisited;
/**
* Class modelling the fo:list-item object. See Sec. 6.8.3 of the XSL-FO
* Standard.
*/
-public class ListItem extends FObj {
+public class ListItem extends FObj implements LMVisited {
private ListItemLabel label = null;
private ListItemBody body = null;
diff --git a/src/java/org/apache/fop/fo/flow/PageNumber.java b/src/java/org/apache/fop/fo/flow/PageNumber.java
index ba8e4327b..bc7f065b6 100644
--- a/src/java/org/apache/fop/fo/flow/PageNumber.java
+++ b/src/java/org/apache/fop/fo/flow/PageNumber.java
@@ -35,12 +35,14 @@ import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginInline;
import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.fonts.Font;
+import org.apache.fop.fo.LMVisited;
+
/**
* Class modelling the fo:page-number object. See Sec. 6.6.10 of the XSL-FO
* Standard.
*/
-public class PageNumber extends FObj {
+public class PageNumber extends FObj implements LMVisited {
/** FontState for this object */
protected Font fontState;
diff --git a/src/java/org/apache/fop/fo/flow/PageNumberCitation.java b/src/java/org/apache/fop/fo/flow/PageNumberCitation.java
index e5cd6b0ba..40dc0eed4 100644
--- a/src/java/org/apache/fop/fo/flow/PageNumberCitation.java
+++ b/src/java/org/apache/fop/fo/flow/PageNumberCitation.java
@@ -34,6 +34,7 @@ import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginInline;
import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.fonts.Font;
+import org.apache.fop.fo.LMVisited;
/**
@@ -43,7 +44,7 @@ import org.apache.fop.fonts.Font;
* The page number used is the page that contains the start of the
* block referenced with the ref-id attribute.
*/
-public class PageNumberCitation extends FObj {
+public class PageNumberCitation extends FObj implements LMVisited {
/** Fontstate for this object **/
protected Font fontState;
diff --git a/src/java/org/apache/fop/fo/flow/RetrieveMarker.java b/src/java/org/apache/fop/fo/flow/RetrieveMarker.java
index 3ae22e385..b151f6068 100644
--- a/src/java/org/apache/fop/fo/flow/RetrieveMarker.java
+++ b/src/java/org/apache/fop/fo/flow/RetrieveMarker.java
@@ -27,13 +27,15 @@ import org.xml.sax.SAXParseException;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObjMixed;
import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.fo.LMVisited;
+
/**
* The retrieve-marker formatting object.
* This will create a layout manager that will retrieve
* a marker based on the information.
*/
-public class RetrieveMarker extends FObjMixed {
+public class RetrieveMarker extends FObjMixed implements LMVisited {
private String retrieveClassName;
private int retrievePosition;
diff --git a/src/java/org/apache/fop/fo/flow/Table.java b/src/java/org/apache/fop/fo/flow/Table.java
index 55b0a7abf..8524e162c 100644
--- a/src/java/org/apache/fop/fo/flow/Table.java
+++ b/src/java/org/apache/fop/fo/flow/Table.java
@@ -37,11 +37,12 @@ import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginBlock;
import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.fo.properties.LengthRangeProperty;
+import org.apache.fop.fo.LMVisited;
/**
* Class modelling the fo:table object. See Sec. 6.7.3 of the XSL-FO Standard.
*/
-public class Table extends FObj {
+public class Table extends FObj implements LMVisited {
private static final int MINCOLWIDTH = 10000; // 10pt
/** collection of columns in this table */
diff --git a/src/java/org/apache/fop/fo/flow/TableBody.java b/src/java/org/apache/fop/fo/flow/TableBody.java
index 4aa034b11..739a4277e 100644
--- a/src/java/org/apache/fop/fo/flow/TableBody.java
+++ b/src/java/org/apache/fop/fo/flow/TableBody.java
@@ -34,12 +34,14 @@ import org.apache.fop.fo.properties.CommonAural;
import org.apache.fop.fo.properties.CommonBackground;
import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonRelativePosition;
+import org.apache.fop.fo.LMVisited;
+
/**
* Class modelling the fo:table-body object. See Sec. 6.7.8 of the XSL-FO
* Standard.
*/
-public class TableBody extends FObj {
+public class TableBody extends FObj implements LMVisited {
private int spaceBefore;
private int spaceAfter;
diff --git a/src/java/org/apache/fop/fo/flow/TableCell.java b/src/java/org/apache/fop/fo/flow/TableCell.java
index 412fdc02a..841eeba55 100644
--- a/src/java/org/apache/fop/fo/flow/TableCell.java
+++ b/src/java/org/apache/fop/fo/flow/TableCell.java
@@ -18,6 +18,9 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -27,7 +30,7 @@ import org.xml.sax.SAXParseException;
import org.apache.fop.datatypes.ColorType;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
-import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.layoutmgr.table.Cell;
import org.apache.fop.fo.properties.CommonAccessibility;
import org.apache.fop.fo.properties.CommonAural;
@@ -339,15 +342,14 @@ public class TableCell extends FObj {
}
/**
- * This is a hook for the AddLMVisitor class to be able to access
- * this object.
- * @param aLMV the AddLMVisitor object that can access this object.
+ * @param list the list to which the layout manager(s) should be added
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveTableCell(this);
+ public void addLayoutManager(List list) {
+ Cell clm = new Cell(this);
+ list.add(clm);
}
-
- protected void endOfNode() throws SAXParseException {
+
+ protected void endOfNode() throws SAXParseException {
getFOInputHandler().endCell(this);
}
diff --git a/src/java/org/apache/fop/fo/flow/TableFooter.java b/src/java/org/apache/fop/fo/flow/TableFooter.java
index f3ea6f43f..411349da1 100644
--- a/src/java/org/apache/fop/fo/flow/TableFooter.java
+++ b/src/java/org/apache/fop/fo/flow/TableFooter.java
@@ -21,12 +21,13 @@ package org.apache.fop.fo.flow;
// FOP
import org.apache.fop.fo.FONode;
import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.fo.LMVisited;
/**
* Class modelling the fo:table-footer object. See Sec. 6.7.7 of the XSL-FO
* Standard.
*/
-public class TableFooter extends TableBody {
+public class TableFooter extends TableBody implements LMVisited {
/**
* @param parent FONode that is the parent of this object
diff --git a/src/java/org/apache/fop/fo/flow/TableHeader.java b/src/java/org/apache/fop/fo/flow/TableHeader.java
index a79432890..b9698d3d3 100644
--- a/src/java/org/apache/fop/fo/flow/TableHeader.java
+++ b/src/java/org/apache/fop/fo/flow/TableHeader.java
@@ -21,12 +21,13 @@ package org.apache.fop.fo.flow;
// FOP
import org.apache.fop.fo.FONode;
import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.fo.LMVisited;
/**
* Class modelling the fo:table-header object. See Sec. 6.7.6 of the XSL-FO
* Standard.
*/
-public class TableHeader extends TableBody {
+public class TableHeader extends TableBody implements LMVisited {
/**
* @param parent FONode that is the parent of this object
diff --git a/src/java/org/apache/fop/fo/flow/TableRow.java b/src/java/org/apache/fop/fo/flow/TableRow.java
index 54db3cd6a..5259a122e 100644
--- a/src/java/org/apache/fop/fo/flow/TableRow.java
+++ b/src/java/org/apache/fop/fo/flow/TableRow.java
@@ -18,6 +18,9 @@
package org.apache.fop.fo.flow;
+// Java
+import java.util.List;
+
// XML
import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
@@ -27,7 +30,7 @@ import org.apache.fop.datatypes.ColorType;
import org.apache.fop.datatypes.KeepValue;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
-import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.layoutmgr.table.Row;
import org.apache.fop.fo.Constants;
import org.apache.fop.fo.properties.CommonAccessibility;
@@ -135,15 +138,14 @@ public class TableRow extends FObj {
}
/**
- * This is a hook for the AddLMVisitor class to be able to access
- * this object.
- * @param aLMV the AddLMVisitor object that can access this object.
+ * @param list the list to which the layout manager(s) should be added
*/
- public void acceptVisitor(AddLMVisitor aLMV) {
- aLMV.serveTableRow(this);
+ public void addLayoutManager(List list) {
+ Row rlm = new Row(this);
+ list.add(rlm);
}
- protected void endOfNode() throws SAXParseException {
+ protected void endOfNode() throws SAXParseException {
getFOInputHandler().endRow(this);
}
diff --git a/src/java/org/apache/fop/fo/flow/Wrapper.java b/src/java/org/apache/fop/fo/flow/Wrapper.java
index 22cacb2e3..81c48649c 100644
--- a/src/java/org/apache/fop/fo/flow/Wrapper.java
+++ b/src/java/org/apache/fop/fo/flow/Wrapper.java
@@ -22,6 +22,7 @@ package org.apache.fop.fo.flow;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObjMixed;
import org.apache.fop.layoutmgr.AddLMVisitor;
+import org.apache.fop.fo.LMVisited;
/**
* Implementation for fo:wrapper formatting object.
@@ -31,7 +32,7 @@ import org.apache.fop.layoutmgr.AddLMVisitor;
* Content: (#PCDATA|%inline;|%block;)*
* Properties: id
*/
-public class Wrapper extends FObjMixed {
+public class Wrapper extends FObjMixed implements LMVisited {
/**
* @param parent FONode that is the parent of this object