]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Added getPSLM() to LM interface, removed six other methods.
authorGlen Mazza <gmazza@apache.org>
Mon, 9 May 2005 22:15:20 +0000 (22:15 +0000)
committerGlen Mazza <gmazza@apache.org>
Mon, 9 May 2005 22:15:20 +0000 (22:15 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_KnuthStylePageBreaking@198609 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
src/java/org/apache/fop/layoutmgr/BasicLinkLayoutManager.java
src/java/org/apache/fop/layoutmgr/ContentLayoutManager.java
src/java/org/apache/fop/layoutmgr/LayoutManager.java
src/java/org/apache/fop/layoutmgr/LineLayoutManager.java
src/java/org/apache/fop/layoutmgr/PageNumberCitationLayoutManager.java
src/java/org/apache/fop/layoutmgr/PageNumberLayoutManager.java
src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java

index 9ead2229c77239fb1f5d2f6a5fa0857635585b38..0c5f3a511703530ed7b4cdf792f0ae7e25177f00 100644 (file)
@@ -21,7 +21,6 @@ package org.apache.fop.layoutmgr;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.area.Area;
-import org.apache.fop.area.Resolvable;
 import org.apache.fop.area.PageViewport;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.flow.RetrieveMarker;
@@ -343,71 +342,16 @@ public abstract class AbstractLayoutManager implements LayoutManager, Constants
     public void addChildArea(Area childArea) {
     }
 
-    /**
-     * Delegate getting the current page viewport to the parent layout manager.
-     *
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     */
-    public PageViewport getCurrentPV() {
-        return parentLM.getCurrentPV();
-    }
-
-    /**
-     * Delegate resolving the id reference to the PSLM
-     *
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     */
-    public PageViewport getFirstPVWithID(String ref) {
-        return parentLM.getFirstPVWithID(ref);
-    }
-
     /**
      * Add the id to the page.
      * If the id string is not null then add the id to the current page.
      */
     protected void addID(String foID) {
         if (foID != null && foID.length() > 0) {
-            addIDToPage(foID);
+            getPSLM().addIDToPage(foID);
         }
     }
 
-    /**
-     * Delegate adding id reference to the parent layout manager.
-     *
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     */
-    public void addIDToPage(String id) {
-        parentLM.addIDToPage(id);
-    }
-
-    /**
-     * Delegate adding unresolved area to the parent layout manager.
-     *
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     */
-    public void addUnresolvedArea(String id, Resolvable res) {
-        parentLM.addUnresolvedArea(id, res);
-    }
-
-    /**
-     * Delegate retrieve marker to the parent layout manager.
-     *
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     */
-    public Marker retrieveMarker(String name, int pos, int boundary) {
-        return parentLM.retrieveMarker(name, pos, boundary);
-    }
-
-    /**
-     * Delegate getLayoutManagerMaker to the parent layout manager.
-     *
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     * @return the LayoutManagerMaker object.
-     */
-    public LayoutManagerMaker getLayoutManagerMaker() {
-        return parentLM.getLayoutManagerMaker();
-    }
-
     /**
      * Handles retrieve-marker nodes as they occur.
      * @param foNode FO node to check
@@ -418,7 +362,7 @@ public abstract class AbstractLayoutManager implements LayoutManager, Constants
     private FONode handleRetrieveMarker(FONode foNode) {
         if (foNode instanceof RetrieveMarker) {
             RetrieveMarker rm = (RetrieveMarker) foNode;
-            Marker marker = retrieveMarker(rm.getRetrieveClassName(),
+            Marker marker = getPSLM().retrieveMarker(rm.getRetrieveClassName(),
                                            rm.getRetrievePosition(),
                                            rm.getRetrieveBoundary());
             if (marker == null) {
@@ -447,7 +391,7 @@ public abstract class AbstractLayoutManager implements LayoutManager, Constants
                 FONode foNode = (FONode) theobj;
                 foNode = handleRetrieveMarker(foNode);
                 if (foNode != null) {
-                    getLayoutManagerMaker().
+                    getPSLM().getLayoutManagerMaker().
                         makeLayoutManagers(foNode, newLMs);
                 }
             }
@@ -455,6 +399,20 @@ public abstract class AbstractLayoutManager implements LayoutManager, Constants
         return newLMs;
     }
 
+    /**
+     * @see org.apache.fop.layoutmgr.PageSequenceLayoutManager#getPSLM
+     */
+    public PageSequenceLayoutManager getPSLM() {
+       return parentLM.getPSLM();
+    }
+    
+    /**
+     * @see org.apache.fop.layoutmgr.PageSequenceLayoutManager#getCurrentPV
+     */
+    public PageViewport getCurrentPV() {
+       return getPSLM().getCurrentPV();
+    }  
+    
     /**
      * @see org.apache.fop.layoutmgr.LayoutManager#preLoadNext
      */
@@ -504,6 +462,4 @@ public abstract class AbstractLayoutManager implements LayoutManager, Constants
             addChildLM(lm);
         }
     }
-
 }
-
index 0224f1114e8241b9a6cc8310dac7bd99c4ccd214..38a4b2957643d56673c482da56329de7d75d1b2e 100644 (file)
@@ -52,12 +52,12 @@ public class BasicLinkLayoutManager extends InlineLayoutManager {
              area.addTrait(Trait.EXTERNAL_LINK, fobj.getExternalDestination());
          } else {
              String idref = fobj.getInternalDestination();
-             PageViewport page = parentLM.getFirstPVWithID(idref);
+             PageViewport page = getPSLM().getFirstPVWithID(idref);
              if (page != null) {
                  area.addTrait(Trait.INTERNAL_LINK, page.getKey());
              } else {
                  LinkResolver res = new LinkResolver(idref, area);
-                 parentLM.addUnresolvedArea(idref, res);
+                 getPSLM().addUnresolvedArea(idref, res);
              }
          }
      }
index 690d2f85fba623b8f90cfa00d9f2ac7858b3b85a..4db661310c1ad4f6fec4895c4a2e4ce21a3fd20e 100644 (file)
@@ -22,12 +22,9 @@ import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.pagination.Title;
-import org.apache.fop.fo.flow.Marker;
 import org.apache.fop.area.Area;
 import org.apache.fop.area.LineArea;
 import org.apache.fop.area.inline.InlineArea;
-import org.apache.fop.area.Resolvable;
-import org.apache.fop.area.PageViewport;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -249,39 +246,6 @@ public class ContentLayoutManager implements InlineLevelLayoutManager {
     public void getWordChars(StringBuffer sbChars, Position bp1,
             Position bp2) { }
 
-    /** @see org.apache.fop.layoutmgr.LayoutManager */
-    public PageViewport getCurrentPV() {
-        return parentLM.getCurrentPV();
-    }
-
-    /** @see org.apache.fop.layoutmgr.LayoutManager */
-    public PageViewport getFirstPVWithID(String ref) {
-        return parentLM.getFirstPVWithID(ref);
-    }
-
-    /** @see org.apache.fop.layoutmgr.LayoutManager */
-    public void addIDToPage(String id) {
-        parentLM.addIDToPage(id);
-    }
-
-    /** @see org.apache.fop.layoutmgr.LayoutManager */
-    public void addUnresolvedArea(String id, Resolvable res) {
-        parentLM.addUnresolvedArea(id, res);
-    }
-
-    /** @see org.apache.fop.layoutmgr.LayoutManager */
-    public Marker retrieveMarker(String name, int pos, int boundary) {
-        return parentLM.retrieveMarker(name, pos, boundary);
-    }
-
-    /**
-     * @see org.apache.fop.layoutmgr.LayoutManager
-     * @return the LayoutManagerMaker object.
-     */
-    public LayoutManagerMaker getLayoutManagerMaker() {
-        return parentLM.getLayoutManagerMaker();
-    }
-
     /**
      * @see org.apache.fop.layoutmgr.LayoutManager#preLoadNext
      */
@@ -369,6 +333,9 @@ public class ContentLayoutManager implements InlineLevelLayoutManager {
                                               int alignment) {
         return null;
     }
-
+    
+    public PageSequenceLayoutManager getPSLM() {
+       return parentLM.getPSLM();
+    }
 }
 
index c55f37302603313b6eb06e6f0201734ca8923680..721bb8dbee1b272973fc00da50c9c6bdbcbb8d6b 100644 (file)
@@ -21,11 +21,7 @@ package org.apache.fop.layoutmgr;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.fop.fo.flow.Marker;
-
 import org.apache.fop.area.Area;
-import org.apache.fop.area.Resolvable;
-import org.apache.fop.area.PageViewport;
 import org.apache.fop.fo.FObj;
 
 /**
@@ -61,6 +57,12 @@ public interface LayoutManager {
      */
     void initialize();
 
+    /**
+     * Get the active PageSequenceLayoutManager instance for this
+     * layout process.
+     */
+    PageSequenceLayoutManager getPSLM();
+
     /**
      * Generates inline areas.
      * This is used to check if the layout manager generates inline
@@ -166,13 +168,6 @@ public interface LayoutManager {
      */
     void addAreas(PositionIterator posIter, LayoutContext context);
 
-    /**
-     * Get the PageViewport currently being generated
-     *
-     * @return the current PageViewport
-     */
-    PageViewport getCurrentPV();
-
     /**
      * Load next child LMs, up to child LM index pos
      * @param pos index up to which child LMs are requested
@@ -220,21 +215,6 @@ public interface LayoutManager {
      */
     LinkedList getChangedKnuthElements(List oldList, /*int flaggedPenalty,*/
                                        int alignment);
-
-    /** @see PageSequenceLayoutManager#getFirstPVWithID(String) */
-    PageViewport getFirstPVWithID(String ref);
-
-    /** @see PageSequenceLayoutManager#addIDToPage(String) */
-    void addIDToPage(String id);
-
-    /** @see PageSequenceLayoutManager#addUnresolvedArea(String, Resolvable) */
-    void addUnresolvedArea(String id, Resolvable res);
-
-    /** @see PageSequenceLayoutManager#retrieveMarker(String, int, int) */
-    Marker retrieveMarker(String name, int pos, int boundary);
-
-    /** @see PageSequenceLayoutManager#getLayoutManagerMaker() */
-    LayoutManagerMaker getLayoutManagerMaker();
-
+   
     public static final int FLAGGED_PENALTY = 50;
 }
index d611446b80e7559c827843958e3d9d00722afe31..0f72ef124c964cd585cab072936be41c0394c04f 100644 (file)
@@ -25,7 +25,6 @@ import org.apache.fop.fo.properties.CommonHyphenation;
 import org.apache.fop.hyphenation.Hyphenation;
 import org.apache.fop.hyphenation.Hyphenator;
 import org.apache.fop.area.LineArea;
-import org.apache.fop.area.Resolvable;
 
 import java.util.ListIterator;
 import java.util.Iterator;
@@ -1572,26 +1571,5 @@ public class LineLayoutManager extends InlineStackingLayoutManager
         }
         setCurrentArea(null); // ?? necessary
     }
-
-    /**
-     * Add an unresolved area.
-     * If a child layout manager needs to add an unresolved area
-     * for page reference or linking then this intercepts it for
-     * line area handling.
-     * A line area may need to have the inline areas adjusted
-     * to properly fill the line area. This adds a resolver that
-     * resolves the inline area and can do the necessary
-     * adjustments to the line and inline areas.
-     *
-     * @param id the id reference of the resolvable
-     * @param res the resolvable object
-     */
-    public void addUnresolvedArea(String id, Resolvable res) {
-        // create a resolvable class that handles ipd
-        // adjustment for the current line
-
-        parentLM.addUnresolvedArea(id, res);
-    }
-
 }
 
index f050108db54abc00607bc5daf9e4fc2e1d8ba58b..fc75e81a4fbfb6e89fadc4b40d87c1874b3afe10 100644 (file)
@@ -58,7 +58,7 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager {
     public void addAreas(PositionIterator posIter, LayoutContext context) {
         super.addAreas(posIter, context);
         if (!resolved) {
-            parentLM.addUnresolvedArea(fobj.getRefId(), (Resolvable) curArea);
+               getPSLM().addUnresolvedArea(fobj.getRefId(), (Resolvable) curArea);
         }
     }
     
@@ -71,7 +71,7 @@ public class PageNumberCitationLayoutManager extends LeafNodeLayoutManager {
      * return a resolvable area
      */
     private InlineArea getPageNumberCitationInlineArea(LayoutManager parentLM) {
-        PageViewport page = parentLM.getFirstPVWithID(fobj.getRefId());
+        PageViewport page = getPSLM().getFirstPVWithID(fobj.getRefId());
         InlineArea inline = null;
         if (page != null) {
             String str = page.getPageNumberString();
index 77904172d31c0bee1cf366833e5cbdfa2a3c3c2f..7d8507ede9a32fb2d0ce4f36884e0e384ee188d7 100644 (file)
@@ -46,7 +46,7 @@ public class PageNumberLayoutManager extends LeafNodeLayoutManager {
     public InlineArea get(LayoutContext context) {
         // get page string from parent, build area
         TextArea inline = new TextArea();
-        String str = parentLM.getCurrentPV().getPageNumberString();
+        String str = getCurrentPV().getPageNumberString();
         int width = 0;
         for (int count = 0; count < str.length(); count++) {
             width += font.getCharWidth(str.charAt(count));
index 3c3ef5dd54c37718f76bdf77b85bf713ca8f455e..2416aeaf62304651e3d84295a4a85de7ca151ea5 100644 (file)
@@ -269,6 +269,14 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
         return curPV;
     }
 
+    /**
+     * Provides access to this object
+     * @return this PageSequenceLayoutManager instance
+     */
+    public PageSequenceLayoutManager getPSLM() {
+       return this;
+    }
+    
     /**
      * This returns the first PageViewport that contains an id trait
      * matching the idref argument, or null if no such PV exists.