gmazza 2004/12/24 17:08:11 Modified: src/java/org/apache/fop/layoutmgr LayoutManagerMapping.java src/java/org/apache/fop/render/pdf PDFRenderer.java Log: More XSL 1.1-like terms for PDF bookmarks used, minor bug in TableLayoutManagerMaker fixed. Revision Changes Path 1.2 +14 -14 xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java Index: LayoutManagerMapping.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LayoutManagerMapping.java 24 Dec 2004 12:06:26 -0000 1.1 +++ LayoutManagerMapping.java 25 Dec 2004 01:08:10 -0000 1.2 @@ -128,7 +128,7 @@ makers.put(Wrapper.class, new WrapperLayoutManagerMaker()); makers.put(Title.class, new InlineLayoutManagerMaker()); } - + public void makeLayoutManagers(FONode node, List lms) { Maker maker = (Maker) makers.get(node.getClass()); if (maker == null) { @@ -162,7 +162,7 @@ return; } } - + public static class FOTextLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { FOText foText = (FOText) node; @@ -171,7 +171,7 @@ } } } - + /* public static class FObjMixedLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { @@ -209,7 +209,7 @@ } } } - + public static class InlineLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { if (node.getChildNodes() != null) { @@ -217,36 +217,36 @@ } } } - + public static class FootnodeLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { Inline citation = ((Footnote) node).getInlineFO(); if (citation != null) { lms.add(new InlineLayoutManager(citation)); } - } + } } - + public static class InlineContainerLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { ArrayList childList = new ArrayList(); super.make(node, childList); lms.add(new ICLayoutManager((InlineContainer) node, childList)); - } + } } - + public static class BasicLinkLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { lms.add(new BasicLinkLayoutManager((BasicLink) node)); } } - + public static class BlockLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { lms.add(new BlockLayoutManager((Block) node)); } } - + public static class LeaderLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { lms.add(new LeaderLayoutManager((Leader) node)); @@ -295,7 +295,7 @@ public static class PageNumberLayoutManagerMaker extends Maker { public void make(FONode node, List lms) { lms.add(new PageNumberLayoutManager((PageNumber) node)); - } + } } public static class PageNumberCitationLayoutManagerMaker extends Maker { @@ -319,7 +319,7 @@ ArrayList columnLMs = new ArrayList(); ListIterator iter = columns.listIterator(); while (iter.hasNext()) { - columnLMs.add(new Column((TableColumn) node)); + columnLMs.add(new Column((TableColumn) iter.next())); } tlm.setColumns(columnLMs); } 1.63 +17 -16 xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java Index: PDFRenderer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/pdf/PDFRenderer.java,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- PDFRenderer.java 23 Dec 2004 01:36:01 -0000 1.62 +++ PDFRenderer.java 25 Dec 2004 01:08:11 -0000 1.63 @@ -281,44 +281,45 @@ /** * @see org.apache.fop.render.Renderer#processOffDocumentItem(OffDocumentItem) */ - public void processOffDocumentItem(OffDocumentItem ext) { - // render bookmark extension - if (ext instanceof BookmarkData) { - renderRootExtensions((BookmarkData)ext); + public void processOffDocumentItem(OffDocumentItem odi) { + // render Bookmark-Tree + if (odi instanceof BookmarkData) { + renderBookmarkTree((BookmarkData) odi); } } /** - * Renders the root extension elements - * @param bookmarks the bookmarks to render + * Renders a Bookmark-Tree object + * @param bookmarks the BookmarkData object containing all the Bookmark-Items */ - protected void renderRootExtensions(BookmarkData bookmarks) { + protected void renderBookmarkTree(BookmarkData bookmarks) { for (int i = 0; i < bookmarks.getCount(); i++) { BookmarkData ext = bookmarks.getSubData(i); - renderOutline(ext, null); + renderBookmarkItem(ext, null); } } - private void renderOutline(BookmarkData outline, PDFOutline parentOutline) { + private void renderBookmarkItem(BookmarkData bookmarkItem, + PDFOutline parentBookmarkItem) { PDFOutline pdfOutline = null; - PageViewport pv = outline.getPageViewport(); + PageViewport pv = bookmarkItem.getPageViewport(); if (pv != null) { Rectangle2D bounds = pv.getViewArea(); double h = bounds.getHeight(); float yoffset = (float)h / 1000f; String intDest = (String)pageReferences.get(pv.getKey()); - if (parentOutline == null) { + if (parentBookmarkItem == null) { PDFOutline outlineRoot = pdfDoc.getOutlineRoot(); pdfOutline = pdfDoc.getFactory().makeOutline(outlineRoot, - outline.getLabel(), intDest, yoffset); + bookmarkItem.getLabel(), intDest, yoffset); } else { - pdfOutline = pdfDoc.getFactory().makeOutline(parentOutline, - outline.getLabel(), intDest, yoffset); + pdfOutline = pdfDoc.getFactory().makeOutline(parentBookmarkItem, + bookmarkItem.getLabel(), intDest, yoffset); } } - for (int i = 0; i < outline.getCount(); i++) { - renderOutline(outline.getSubData(i), pdfOutline); + for (int i = 0; i < bookmarkItem.getCount(); i++) { + renderBookmarkItem(bookmarkItem.getSubData(i), pdfOutline); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]