diff options
author | Keiron Liddle <keiron@apache.org> | 2002-11-04 11:50:11 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2002-11-04 11:50:11 +0000 |
commit | 18d95ced827abe67cec9f0ea0cb372eb83350c4c (patch) | |
tree | 6254a23b0d19e58caf4e7e58fffab2b46dc5f320 /src/org/apache/fop/layoutmgr/PageLayoutManager.java | |
parent | c55b4c72556bd66076530f4a9bff83b9d4727aca (diff) | |
download | xmlgraphics-fop-18d95ced827abe67cec9f0ea0cb372eb83350c4c.tar.gz xmlgraphics-fop-18d95ced827abe67cec9f0ea0cb372eb83350c4c.zip |
page numbering across sequences and number formatting
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195407 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/layoutmgr/PageLayoutManager.java')
-rw-r--r-- | src/org/apache/fop/layoutmgr/PageLayoutManager.java | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/org/apache/fop/layoutmgr/PageLayoutManager.java b/src/org/apache/fop/layoutmgr/PageLayoutManager.java index 2e3199915..d75c157a7 100644 --- a/src/org/apache/fop/layoutmgr/PageLayoutManager.java +++ b/src/org/apache/fop/layoutmgr/PageLayoutManager.java @@ -13,6 +13,7 @@ import org.apache.fop.fo.flow.StaticContent; import org.apache.fop.fo.pagination.PageSequence; import org.apache.fop.fo.pagination.Region; import org.apache.fop.fo.pagination.SimplePageMaster; +import org.apache.fop.fo.pagination.PageNumberGenerator; import org.apache.fop.fo.properties.Constants; import java.util.ArrayList; @@ -33,6 +34,10 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable } } + private PageNumberGenerator pageNumberGenerator; + private int pageCount = 1; + private String pageNumberString; + /** True if haven't yet laid out any pages.*/ private boolean bFirstPage; /** Current page being worked on. */ @@ -60,8 +65,6 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable private AreaTree areaTree; private PageSequence pageSequence; - private int pageCount = 1; - /** * This is the top level layout manager. * It is created by the PageSequence FO. @@ -72,6 +75,15 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable pageSequence = pageseq; } + public void setPageCounting(int pc, PageNumberGenerator generator) { + pageCount = pc; + pageNumberGenerator = generator; + pageNumberString = pageNumberGenerator.makeFormattedPageNumber(pageCount); + } + + public int getPageCount() { + return pageCount; + } /** * The layout process is designed to be able to be run in a thread. @@ -104,10 +116,11 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable // finish page and add to area tree finishPage(); + pageCount++; + pageNumberString = pageNumberGenerator.makeFormattedPageNumber(pageCount); } - pageCount++; } - + pageCount--; } @@ -135,7 +148,7 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable } public String getCurrentPageNumber() { - return "" + pageCount; + return pageNumberString; } public PageViewport resolveRefID(String ref) { @@ -251,7 +264,7 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable private PageViewport makeNewPage(boolean bIsBlank, boolean bIsLast) { finishPage(); try { - curPage = pageSequence.createPage(bIsBlank, bIsLast); + curPage = pageSequence.createPage(pageCount, bIsBlank, bIsLast); } catch (FOPException fopex) { /* ???? */ fopex.printStackTrace(); } |