keiron 2003/02/18 21:49:29
Modified:src/org/apache/fop/layoutmgr AbstractLayoutManager.java
BlockContainerLayoutManager.java
BlockLayoutManager.java
BlockStackingLayoutManager.java
BreakPossPosIter.java ContentLayoutManager.java
FlowLayoutManager.java
InlineStackingLayoutManager.java LayoutManager.java
LeafNodeLayoutManager.java LineLayoutManager.java
MinOptMax.java PageLayoutManager.java
StaticContentLayoutManager.java
TextLayoutManager.java TraitSetter.java
src/org/apache/fop/layoutmgr/list Item.java
ListBlockLayoutManager.java
ListItemLayoutManager.java
src/org/apache/fop/layoutmgr/table Body.java Caption.java
Cell.java Column.java Row.java
TableAndCaptionLayoutManager.java
TableLayoutManager.java
Added: src/org/apache/fop/layoutmgr
RetrieveMarkerLayoutManager.java
Log:
add and retrive markers
use trait setter for area traits
some style cleanups
Revision ChangesPath
1.21 +23 -65xml-fop/src/org/apache/fop/layoutmgr/AbstractLayoutManager.java
Index: AbstractLayoutManager.java
===
RCS file: /home/cvs/xml-fop/src/org/apache/fop/layoutmgr/AbstractLayoutManager.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- AbstractLayoutManager.java14 Feb 2003 04:15:07 - 1.20
+++ AbstractLayoutManager.java19 Feb 2003 05:49:28 - 1.21
@@ -9,18 +9,16 @@
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.FOUserAgent;
+import org.apache.fop.fo.flow.Marker;
import org.apache.fop.area.Area;
import org.apache.fop.area.Resolveable;
import org.apache.fop.area.PageViewport;
import org.apache.fop.fo.PropertyManager;
-import org.apache.fop.area.Trait;
-import org.apache.fop.layout.BorderAndPadding;
-import org.apache.fop.layout.BackgroundProps;
-import org.apache.fop.traits.BorderProps;
import org.apache.avalon.framework.logger.Logger;
import java.util.ListIterator;
+import java.util.Map;
/**
* The base class for all LayoutManagers.
@@ -30,6 +28,7 @@
protected LayoutManager parentLM = null;
protected FObj fobj;
protected String foID = null;
+protected Map markers = null;
/** True if this LayoutManager has handled all of its content. */
private boolean bFinished = false;
@@ -37,7 +36,6 @@
protected ListIterator childLMiter;
protected boolean bInited = false;
-
/**
* Abstract layout manager.
*/
@@ -52,6 +50,7 @@
public void setFObj(FObj fo) {
this.fobj = fo;
foID = fobj.getID();
+markers = fobj.getMarkers();
childLMiter = new LMiter(fobj.getChildren());
}
@@ -64,6 +63,11 @@
userAgent = ua;
}
+/**
+ * Get the user agent.
+ *
+ * @see org.apache.fop.layoutmgr.LayoutManager#getUserAgent()
+ */
public FOUserAgent getUserAgent() {
return userAgent;
}
@@ -318,12 +322,22 @@
}
/**
+ * Add the markers when adding an area.
+ */
+protected void addMarkers(boolean start) {
+// add markers
+if (markers != null) {
+addMarkerMap(markers, start);
+}
+}
+
+/**
* Delegate adding marker to the parent layout manager.
*
* @see org.apache.fop.layoutmgr.LayoutManager
*/
-public void addMarker(String name, LayoutManager lm, boolean start) {
-parentLM.addMarker(name, lm, start);
+public void addMarkerMap(Map marks, boolean start) {
+parentLM.addMarkerMap(marks, start);
}
/**
@@ -331,65 +345,9 @@
*
* @see org.apache.fop.layoutmgr.LayoutManager
*/
-public LayoutManager retrieveMarker(String name, int pos, int boundary) {
+public Marker retrieveMarker(String name, int pos, int boundary) {
return parentLM.retrieveMarker(name, pos, boundary);
}
-/**
- * Add borders to an area.
- * Layout managers that create areas with borders can use this to
- * add the borders to the area.
- */
-public static void addBorders(Area curBlock, BorderAndPadding bordProps) {
-BorderProps bps = getBorderProps(bordProps, BorderAndPadding.TOP);
-if(bps.width != 0) {
-curBlock.addTrait(Trait.BORDER_BEFORE, bps);
-}
-bps = getBorderProps(bordProps, BorderAndPadding.BOTTOM);