gmazza      2004/08/16 04:59:52

  Modified:    src/java/org/apache/fop/area AreaTreeHandler.java
               src/java/org/apache/fop/fo FObj.java
               src/java/org/apache/fop/fo/flow Wrapper.java
               src/java/org/apache/fop/fo/pagination Root.java
               src/java/org/apache/fop/layoutmgr LMiter.java
                        RetrieveMarkerLayoutManager.java
  Removed:     src/java/org/apache/fop/fo LMVisited.java
               src/java/org/apache/fop/layoutmgr AddLMVisitor.java
  Log:
  1.) fo:wrapper layout initialization logic moved from AddLMVisitor to
  fo.flow.Wrapper.
  
  2.) Temporary class LMVisited dropped.
  
  3.) AddLMVisitor dropped, its LM list moved to its parent AreaTreeHandler
  object.
  
  Revision  Changes    Path
  1.3       +22 -14    xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java
  
  Index: AreaTreeHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AreaTreeHandler.java      24 Jul 2004 22:56:30 -0000      1.2
  +++ AreaTreeHandler.java      16 Aug 2004 11:59:51 -0000      1.3
  @@ -35,11 +35,11 @@
   import org.apache.fop.apps.FOUserAgent;
   import org.apache.fop.area.extensions.BookmarkData;
   import org.apache.fop.fo.FOInputHandler;
  +import org.apache.fop.fo.FObj;
   import org.apache.fop.fo.extensions.Outline;
   import org.apache.fop.fo.extensions.Bookmarks;
   import org.apache.fop.fo.pagination.PageSequence;
   import org.apache.fop.fonts.FontInfo;
  -import org.apache.fop.layoutmgr.AddLMVisitor;
   import org.apache.fop.layoutmgr.ContentLayoutManager;
   import org.apache.fop.layoutmgr.InlineStackingLayoutManager;
   import org.apache.fop.layoutmgr.LMiter;
  @@ -88,9 +88,8 @@
       // count of number of pages rendered
       private int pageCount;
   
  -    /** Useful only for allowing subclasses of AddLMVisitor to be set by those
  -     extending FOP **/
  -    private AddLMVisitor addLMVisitor = null;
  +    /** The List object to which FO's should add Layout Managers */
  +    protected List currentLMList;
   
       // AreaTreeModel in use
       private AreaTreeModel model;
  @@ -452,16 +451,25 @@
   
           return title;
       }
  -
  +    
       /**
  -     * Public accessor to get the AddLMVisitor object that should be used.
  -     * @return the AddLMVisitor object that should be used.
  +     * Accessor for the currentLMList.
  +     * @return the currentLMList.
  +     * @todo see if should have initialization of LM list occur here
        */
  -    public AddLMVisitor getAddLMVisitor() {
  -        if (this.addLMVisitor == null) {
  -            this.addLMVisitor = new AddLMVisitor();
  -        }
  -        return this.addLMVisitor;
  +    public List getCurrentLMList() {
  +        return currentLMList;
  +    }
  +
  +    /**
  +     *
  +     * @param fobj the FObj object for which a layout manager should be created
  +     * @param lmList the list to which the newly created layout manager(s)
  +     * should be added
  +     */
  +    public void addLayoutManager(FObj fobj, List lmList) {
  +        currentLMList = lmList;
  +        fobj.addLayoutManager(currentLMList);
       }
  -    
   }
  +
  
  
  
  1.67      +0 -1      xml-fop/src/java/org/apache/fop/fo/FObj.java
  
  Index: FObj.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FObj.java,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- FObj.java 13 Aug 2004 12:29:51 -0000      1.66
  +++ FObj.java 16 Aug 2004 11:59:51 -0000      1.67
  @@ -29,7 +29,6 @@
   import org.apache.fop.fo.flow.Marker;
   import org.apache.fop.fo.properties.Property;
   import org.apache.fop.fo.properties.PropertyMaker;
  -import org.apache.fop.layoutmgr.AddLMVisitor;
   
   import org.xml.sax.Attributes;
   import org.xml.sax.Locator;
  
  
  
  1.12      +23 -6     xml-fop/src/java/org/apache/fop/fo/flow/Wrapper.java
  
  Index: Wrapper.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Wrapper.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Wrapper.java      8 Aug 2004 19:04:49 -0000       1.11
  +++ Wrapper.java      16 Aug 2004 11:59:51 -0000      1.12
  @@ -18,11 +18,14 @@
   
   package org.apache.fop.fo.flow;
   
  +// Java
  +import java.util.List;
  +import java.util.ListIterator;
  +
   // FOP
   import org.apache.fop.fo.FONode;
  +import org.apache.fop.fo.FObj;
   import org.apache.fop.fo.FObjMixed;
  -import org.apache.fop.layoutmgr.AddLMVisitor;
  -import org.apache.fop.fo.LMVisited;
   
   /**
    * Implementation for fo:wrapper formatting object.
  @@ -32,7 +35,7 @@
    * Content: (#PCDATA|%inline;|%block;)*
    * Properties: id
    */
  -public class Wrapper extends FObjMixed implements LMVisited {
  +public class Wrapper extends FObjMixed {
   
       /**
        * @param parent FONode that is the parent of this object
  @@ -41,10 +44,24 @@
           super(parent);
       }
   
  -    public void acceptVisitor(AddLMVisitor aLMV) {
  -        aLMV.serveWrapper(this);
  +    /**
  +     * @see org.apache.fop.fo.FObj#addLayoutManager(List)
  +     * @todo remove null check when vCN() & endOfNode() implemented
  +     */
  +    public void addLayoutManager(List list) {
  +        ListIterator baseIter = getChildNodes();
  +        if (baseIter == null) {
  +            return;
  +        }
  +        while (baseIter.hasNext()) {
  +            FObj child = (FObj) baseIter.next();
  +            child.addLayoutManager(list);
  +        }
       }
  -    
  +
  +    /**
  +     * @see org.apache.fop.fo.FObj#getName()
  +     */
       public String getName() {
           return "fo:wrapper";
       }
  
  
  
  1.23      +0 -1      xml-fop/src/java/org/apache/fop/fo/pagination/Root.java
  
  Index: Root.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Root.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Root.java 8 Aug 2004 18:39:25 -0000       1.22
  +++ Root.java 16 Aug 2004 11:59:52 -0000      1.23
  @@ -31,7 +31,6 @@
   import org.apache.fop.fo.extensions.ExtensionElementMapping;
   import org.apache.fop.fo.extensions.Bookmarks;
   import org.apache.fop.fo.FOInputHandler;
  -import org.apache.fop.layoutmgr.AddLMVisitor;
   
   /**
    * The fo:root formatting object. Contains page masters, page-sequences.
  
  
  
  1.9       +3 -2      xml-fop/src/java/org/apache/fop/layoutmgr/LMiter.java
  
  Index: LMiter.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LMiter.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- LMiter.java       13 Jul 2004 00:16:22 -0000      1.8
  +++ LMiter.java       16 Aug 2004 11:59:52 -0000      1.9
  @@ -18,6 +18,7 @@
   
   package org.apache.fop.layoutmgr;
   
  +import org.apache.fop.area.AreaTreeHandler;
   import org.apache.fop.fo.FObj;
   
   import java.util.ArrayList;
  @@ -46,14 +47,14 @@
       }
   
       protected boolean preLoadNext() {
  -        AddLMVisitor addLMVisitor = lp.getAreaTreeHandler().getAddLMVisitor();
  +        AreaTreeHandler areaTreeHandler = lp.getAreaTreeHandler();
           // skip over child FObj's that don't add lms
           while (baseIter != null && baseIter.hasNext()) {
               Object theobj = baseIter.next();
               if (theobj instanceof FObj) {
                   FObj fobj = (FObj) theobj;
                   //listLMs.add(fobj.getLayoutManager());
  -                addLMVisitor.addLayoutManager(fobj, listLMs);
  +                areaTreeHandler.addLayoutManager(fobj, listLMs);
                   if (curPos < listLMs.size()) {
                       return true;
                   }
  
  
  
  1.9       +4 -2      
xml-fop/src/java/org/apache/fop/layoutmgr/RetrieveMarkerLayoutManager.java
  
  Index: RetrieveMarkerLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/RetrieveMarkerLayoutManager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RetrieveMarkerLayoutManager.java  15 May 2004 21:52:00 -0000      1.8
  +++ RetrieveMarkerLayoutManager.java  16 Aug 2004 11:59:52 -0000      1.9
  @@ -35,7 +35,7 @@
       private String name;
       private int position;
       private int boundary;
  -    private AddLMVisitor addLMVisitor = new AddLMVisitor();
  +    private List markerLMList = new ArrayList(10);
   
       /**
        * Create a new block container layout manager.
  @@ -86,6 +86,8 @@
           }
       }
   
  +    /** @todo unsure how markerLMList will get tied to main currentLMList
  +        of AreaTreeHandler */
       protected void loadLM() {
           if (loaded) {
               return;
  @@ -95,7 +97,7 @@
               List list = new ArrayList();
               Marker marker = retrieveMarker(name, position, boundary);
               if (marker != null) {
  -                addLMVisitor.addLayoutManager(marker, list);
  +                marker.addLayoutManager(markerLMList);
                   if (list.size() > 0) {
                       replaceLM =  (LayoutManager)list.get(0);
                       replaceLM.setParent(this);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to