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]