gmazza 2005/02/11 22:41:24 Modified: src/java/org/apache/fop/area AreaTreeModel.java RenderPagesModel.java src/java/org/apache/fop/layoutmgr PageSequenceLayoutManager.java Removed: src/java/org/apache/fop/area LineTrait.java StorePagesModel.java Log: Removed flush() override from PSLM, consolidated StorePagesModel & AreaTreeModel, removed unused LineTrait.java. Revision Changes Path 1.11 +42 -10 xml-fop/src/java/org/apache/fop/area/AreaTreeModel.java Index: AreaTreeModel.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/AreaTreeModel.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- AreaTreeModel.java 28 Oct 2004 00:06:46 -0000 1.10 +++ AreaTreeModel.java 12 Feb 2005 06:41:24 -0000 1.11 @@ -18,53 +18,83 @@ package org.apache.fop.area; +// Java +import java.util.List; + // XML import org.xml.sax.SAXException; +// Apache +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + /** * This is the model for the area tree object. * The model implementation can handle the page sequence, - * page and extensions. + * page and off-document items. * The methods to access the page viewports can only * assume the PageViewport is valid as it remains for * the life of the area tree model. */ -public abstract class AreaTreeModel { +public class AreaTreeModel { + private List pageSequenceList = null; + private List currentPageSequencePageList; + private List offDocumentItems = new java.util.ArrayList(); + + protected static Log log = LogFactory.getLog(AreaTreeModel.class); + + /** + * Create a new store pages model + */ + public AreaTreeModel() { + pageSequenceList = new java.util.ArrayList(); + } + /** * Start a page sequence on this model. * @param title the title of the new page sequence */ - public abstract void startPageSequence(LineArea title); + public void startPageSequence(LineArea title) { + currentPageSequencePageList = new java.util.ArrayList(); + pageSequenceList.add(currentPageSequencePageList); + } /** * Add a page to this moel. * @param page the page to add to the model. */ - public abstract void addPage(PageViewport page); + public void addPage(PageViewport page) { + currentPageSequencePageList.add(page); + } /** * Handle an OffDocumentItem * @param ext the extension to handle */ - public abstract void handleOffDocumentItem(OffDocumentItem ext); + public void handleOffDocumentItem(OffDocumentItem ext) {}; /** * Signal the end of the document for any processing. */ - public abstract void endDocument() throws SAXException; + public void endDocument() throws SAXException {}; /** * Get the page sequence count. * @return the number of page sequences in the document. */ - public abstract int getPageSequenceCount(); + public int getPageSequenceCount() { + return pageSequenceList.size(); + } /** * Get the page count. * @param seq the page sequence to count. * @return returns the number of pages in a page sequence */ - public abstract int getPageCount(int seq); + public int getPageCount(int seq) { + List sequence = (List) pageSequenceList.get(seq - 1); + return sequence.size(); + } /** * Get the page for a position in the document. @@ -72,6 +102,8 @@ * @param count the page count in the sequence * @return the PageViewport for the particular page */ - public abstract PageViewport getPage(int seq, int count); - + public PageViewport getPage(int seq, int count) { + List sequence = (List) pageSequenceList.get(seq - 1); + return (PageViewport) sequence.get(count); + } } 1.14 +3 -3 xml-fop/src/java/org/apache/fop/area/RenderPagesModel.java Index: RenderPagesModel.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/RenderPagesModel.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- RenderPagesModel.java 10 Feb 2005 17:08:24 -0000 1.13 +++ RenderPagesModel.java 12 Feb 2005 06:41:24 -0000 1.14 @@ -35,14 +35,14 @@ import org.apache.fop.render.RendererFactory; /** - * This uses the store pages model to store the pages - * each page is either rendered if ready or prepared + * This uses the AreaTreeModel to store the pages + * Each page is either rendered if ready or prepared * for later rendering. * Once a page is rendered it is cleared to release the * contents but the PageViewport is retained. So even * though the pages are stored the contents are discarded. */ -public class RenderPagesModel extends StorePagesModel { +public class RenderPagesModel extends AreaTreeModel { /** * The renderer that will render the pages. */ 1.31 +2 -7 xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java Index: PageSequenceLayoutManager.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- PageSequenceLayoutManager.java 10 Feb 2005 17:08:24 -0000 1.30 +++ PageSequenceLayoutManager.java 12 Feb 2005 06:41:24 -0000 1.31 @@ -222,7 +222,7 @@ } pageCount--; log.debug("Ending layout"); - flush(); + finishPage(); pageSeq.setCurrentPageNumber(getPageCount()); } @@ -747,11 +747,6 @@ createFlow(); } - // See finishPage... - protected void flush() { - finishPage(); - } - /** * Called when a new page is needed. *
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]