keiron 2002/07/18 02:43:20 Modified: src/org/apache/fop/apps LayoutHandler.java StructureHandler.java src/org/apache/fop/fo Title.java src/org/apache/fop/fo/pagination PageSequence.java src/org/apache/fop/mif MIFHandler.java Log: start page sequence with title Revision Changes Path 1.2 +9 -0 xml-fop/src/org/apache/fop/apps/LayoutHandler.java Index: LayoutHandler.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/LayoutHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LayoutHandler.java 27 May 2002 12:34:18 -0000 1.1 +++ LayoutHandler.java 18 Jul 2002 09:43:20 -0000 1.2 @@ -12,6 +12,7 @@ import org.apache.fop.area.Title; import org.apache.fop.render.Renderer; import org.apache.fop.fo.pagination.PageSequence; +import org.apache.fop.fo.pagination.LayoutMasterSet; import org.apache.avalon.framework.logger.Logger; @@ -141,6 +142,14 @@ log.debug("Total time used: " + timeUsed + "ms"); log.debug("Pages rendered: " + pageCount); //log.debug("Avg render time: " + (timeUsed / pageCount) + "ms/page"); + } + + public void startPageSequence(PageSequence pageSeq, org.apache.fop.fo.Title seqTitle, LayoutMasterSet lms) { + Title title = null; + if(seqTitle != null) { + title = seqTitle.getTitleArea(); + } + areaTree.startPageSequence(title); } /** 1.3 +2 -2 xml-fop/src/org/apache/fop/apps/StructureHandler.java Index: StructureHandler.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/StructureHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- StructureHandler.java 5 Jun 2002 14:52:27 -0000 1.2 +++ StructureHandler.java 18 Jul 2002 09:43:20 -0000 1.3 @@ -54,7 +54,7 @@ } - public void startPageSequence(PageSequence pageSeq, LayoutMasterSet lms) { + public void startPageSequence(PageSequence pageSeq, Title seqTitle, LayoutMasterSet lms) { } 1.8 +10 -1 xml-fop/src/org/apache/fop/fo/Title.java Index: Title.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Title.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Title.java 20 Jun 2002 09:14:12 -0000 1.7 +++ Title.java 18 Jul 2002 09:43:20 -0000 1.8 @@ -23,6 +23,14 @@ super(parent); } + public org.apache.fop.area.Title getTitleArea() { + org.apache.fop.area.Title title = + new org.apache.fop.area.Title(); + // use special layout manager to add the inline areas + // to the Title. + return title; + } + public void setup() { // Common Accessibility Properties @@ -57,3 +65,4 @@ } } + 1.52 +17 -7 xml-fop/src/org/apache/fop/fo/pagination/PageSequence.java Index: PageSequence.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/PageSequence.java,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- PageSequence.java 20 Jun 2002 09:14:15 -0000 1.51 +++ PageSequence.java 18 Jul 2002 09:43:20 -0000 1.52 @@ -77,6 +77,9 @@ // fo:flow per fo:page-sequence only. private boolean isFlowSet = false; + // for structure handler + private boolean sequenceStarted = false; + // // state attributes used during layout // @@ -128,7 +131,7 @@ /** * The fo:title object for this page-sequence. */ - private FObj titleFO; + private Title titleFO; public PageSequence(FONode parent) { @@ -194,8 +197,6 @@ // this.properties.get("country"); // this.properties.get("language"); setupID(); - - structHandler.startPageSequence(this, layoutMasterSet); } @@ -232,8 +233,11 @@ if (childName.equals("fo:title")) { if (this._flowMap.size()>0) { log.warn("fo:title should be first in page-sequence"); + } else { + this.titleFO = (Title)child; + structHandler.startPageSequence(this, titleFO, layoutMasterSet); + sequenceStarted = true; } - this.titleFO = (FObj)child; } else if (childName.equals("fo:flow")) { if (this.mainFlow != null) { @@ -241,6 +245,10 @@ + " per fo:page-sequence"); } else { + if(!sequenceStarted) { + structHandler.startPageSequence(this, titleFO, layoutMasterSet); + sequenceStarted = true; + } this.mainFlow = (Flow)child; addFlow(mainFlow); super.addChild(child); // For getChildren @@ -252,6 +260,10 @@ " must precede fo:flow; ignoring"); } else { + if(!sequenceStarted) { + structHandler.startPageSequence(this, titleFO, layoutMasterSet); + sequenceStarted = true; + } addFlow((Flow)child); } } @@ -309,8 +321,6 @@ // If no main flow, nothing to layout! if (this.mainFlow == null) return; - - areaTree.startPageSequence(null); // Initialize if already used? this.layoutMasterSet.resetPageMasters(); 1.2 +2 -2 xml-fop/src/org/apache/fop/mif/MIFHandler.java Index: MIFHandler.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/mif/MIFHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- MIFHandler.java 5 Jun 2002 14:52:27 -0000 1.1 +++ MIFHandler.java 18 Jul 2002 09:43:20 -0000 1.2 @@ -74,7 +74,7 @@ * This creates the pages in the MIF document that will be used * by the following flows and static areas. */ - public void startPageSequence(PageSequence pageSeq, LayoutMasterSet lms) { + public void startPageSequence(PageSequence pageSeq, Title seqTitle, LayoutMasterSet lms) { // get the layout master set // setup the pages for this sequence String name = pageSeq.getProperty("master-reference").getString();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]