From: Simon Pepping Date: Sun, 30 Jan 2005 19:56:45 +0000 (+0000) Subject: Updated to the current situation. Patch by renaud richardet, see bug 33126 X-Git-Tag: Root_Temp_KnuthStylePageBreaking~166 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1095620ae6897959ce6fc683c355f19a8101e76b;p=xmlgraphics-fop.git Updated to the current situation. Patch by renaud richardet, see bug 33126 git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198341 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/documentation/content/xdocs/DnI/areatree.xml b/src/documentation/content/xdocs/DnI/areatree.xml index 5d361e3ca..f3ab7a2b7 100644 --- a/src/documentation/content/xdocs/DnI/areatree.xml +++ b/src/documentation/content/xdocs/DnI/areatree.xml @@ -1,7 +1,7 @@ foTreeControl.getFOInputHandler().endPageSequence(this) --> foInputHandler.endPageSequence(this) (type FOTreeHandler): +org.apache.fop.fo.pagination.PageSequence.endOfNode(): +this.getFOEventHandler().getFOEventHandler().endPageSequence(this): +-> foTreeBuilder.getFOEventHandler().endPageSequence(this) +-> foEventHandler.endPageSequence(this) (type AreaTreeHandler): -This method only calls -FOTreeHandler.notifyPageSequenceComplete(pageSequence), -which notifies the FOTreeListeners of the -PageSequence-end event. The PageSequence object -attaches itself to the event, from which the listeners can retrieve it -again. - -There is only one listener. It is an -org.apache.fop.apps.Document object. It is the same -object as pageSequence.root.foTreeControl. Its -method foPageSequenceComplete(event) is called, -which is a method of the FOTreeListener -interface. It handles an FOTreeEvent that is fired -when a PageSequence object has been -completed. - -The listener formats the FO subtree of the -PageSequence FO node. It calls its layout -strategy's method LayoutManagerLS.format(pageSeq, -areaTree). - -This method creates a new PageLayoutManager -for the PageSequence FO node and calls its -run method (could start another thread). The pages -in this page sequence are completely layed out by the -PageLayoutManager, in its -doLayout method. The first step in the layout -process is getting the page setup from the page masters. Then the FO -tree is processed. +This method creates a new +PageSequenceLayoutManager for the +PageSequence FO node. The pages in this page sequence +are completely layed out by the +PageSequenceLayoutManager, in its +activateLayout method. The first step in the layout +process is getting the page setup from the page masters. Then the FO tree +is processed. - [1] org.apache.fop.layoutmgr.PageLayoutManager.doLayout (PageLayoutManager.java:220) - [2] org.apache.fop.layoutmgr.PageLayoutManager.run (PageLayoutManager.java:208) - [3] org.apache.fop.layoutmgr.LayoutManagerLS.format (LayoutManagerLS.java:83) - [4] org.apache.fop.apps.Document.foPageSequenceComplete (Document.java:348) - [5] org.apache.fop.fo.FOTreeHandler.notifyPageSequenceComplete (FOTreeHandler.java:497) - [6] org.apache.fop.fo.FOTreeHandler.endPageSequence (FOTreeHandler.java:215) - [7] org.apache.fop.fo.pagination.PageSequence.end (PageSequence.java:350) - [8] org.apache.fop.fo.FOTreeBuilder.endElement (FOTreeBuilder.java:223) + [1] org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout (PageLayoutManager.java:211) + [2] org.apache.fop.fo.area.AreaTreeHandler.endPageSequence (AreaTreeHandler.java:242) + [3] org.apache.fop.fo.pagination.PageSequence.endOfNode (PageSequence.java:202) + [4] org.apache.fop.fo.FOTreeBuilder.endElement (FOTreeBuilder.java:292) ... parser stuff - [16] org.apache.xerces.parsers.AbstractSAXParser.parse (null) - [17] org.apache.fop.apps.Driver.render (Driver.java:622) - [18] org.apache.fop.apps.Driver.render (Driver.java:558) - [19] org.apache.fop.apps.Fop.main (Fop.java:102) + [13] org.apache.xerces.parsers.AbstractSAXParser.parse (null) + [14] org.apache.xalan.transformer.TransformerIdentityImpl.transform (null) + [15] org.apache.fop.apps.InputHandler.render (InputHandler.java:120) + [16] org.apache.fop.apps.Fop.main (Fop.java:102) -main[1] dump pageLM - pageLM = { - pageNumberGenerator: instance of org.apache.fop.fo.pagination.PageNumberGenerator(id=1005) - pageCount: 1 - pageNumberString: "1" - isFirstPage: true - bFirstPage: false - curPage: null - curBody: null - curSpan: null - curSpanColumns: 0 - curFlow: null - flowBPD: 0 - flowIPD: 0 - areaTree: instance of org.apache.fop.area.AreaTree(id=1025) - pageSequence: instance of org.apache.fop.fo.pagination.PageSequence(id=997) - currentSimplePageMaster: null - staticContentLMs: instance of java.util.HashMap(id=1033) - lmls: instance of org.apache.fop.layoutmgr.LayoutManagerLS(id=1034) - org.apache.fop.layoutmgr.AbstractLayoutManager.userAgent: instance of org.apache.fop.apps.FOUserAgent(id=1035) - org.apache.fop.layoutmgr.AbstractLayoutManager.parentLM: null - org.apache.fop.layoutmgr.AbstractLayoutManager.fobj: instance of org.apache.fop.fo.pagination.PageSequence(id=997) - org.apache.fop.layoutmgr.AbstractLayoutManager.foID: null - org.apache.fop.layoutmgr.AbstractLayoutManager.markers: null - org.apache.fop.layoutmgr.AbstractLayoutManager.bFinished: false - org.apache.fop.layoutmgr.AbstractLayoutManager.curChildLM: null - org.apache.fop.layoutmgr.AbstractLayoutManager.childLMiter: instance of org.apache.fop.layoutmgr.LMiter(id=1036) - org.apache.fop.layoutmgr.AbstractLayoutManager.bInited: false +main[1] dump pageSLM + pageSLM = { + areaTreeHandler= org.apache.fop.area.AreaTreeHandler (id=79) + areaTreeModel= org.apache.fop.area.RenderPagesModel (id=81) + bFinished= false + bFirstPage= false + bInited= false + childLMiter= org.apache.fop.layoutmgr.LMiter (id=85) + childLMs= java.util.ArrayList (id=89) + curBody= null + curChildLM= null + curFlow= null + curPage= null + currentSimplePageMaster= null + curSpan= null + curSpanColumns= 0 + flowBPD= 0 + flowIPD= 0 + fobj= org.apache.fop.fo.pagination.PageSequence (id=12) + fobjIter= java.util.AbstractList$ListItr (id=90) + isFirstPage= true + markers= null + pageCount= 1 + pageNumberGenerator= null + pageNumberString= null + parentLM= null + staticContentLMs= java.util.HashMap (id=93) } - - The above calling sequence contains two configuration -points. FOP's area tree building process can be modified by -registering other listeners with the FO tree handler. It can also be -configured by giving the Document object a different layout strategy -object. See also the AddLMVisitor class which -controls the creation of Layout Managers. + +The above calling sequence contains one configuration + point. FOP's area tree building process can be modified by + registering a different LayoutManagerMaker with the Area tree + handler. The LayoutManagerMaker controls the creation of Layout + Managers. TO BE EXPANDED