cvs commit: xml-fop/src/java/org/apache/fop/layoutmgr LayoutManagerMaker.java LayoutManagerMapping.java AbstractLayoutManager.java ContentLayoutManager.java LayoutManager.java PageSequenceLayoutManager.java

2004-12-24 Thread spepping
spepping2004/12/24 04:06:26

  Modified:src/java/org/apache/fop/apps FOUserAgent.java
   src/java/org/apache/fop/area AreaTreeHandler.java
   src/java/org/apache/fop/fo FONode.java FOText.java
FObjMixed.java
   src/java/org/apache/fop/fo/flow BasicLink.java
BidiOverride.java Block.java BlockContainer.java
Character.java ExternalGraphic.java Footnote.java
Inline.java InlineContainer.java InlineLevel.java
InstreamForeignObject.java Leader.java
ListBlock.java ListItem.java Marker.java
PageNumber.java PageNumberCitation.java
RetrieveMarker.java Table.java TableBody.java
TableCell.java TableRow.java Wrapper.java
   src/java/org/apache/fop/fo/pagination Flow.java
   src/java/org/apache/fop/layoutmgr AbstractLayoutManager.java
ContentLayoutManager.java LayoutManager.java
PageSequenceLayoutManager.java
  Added:   src/java/org/apache/fop/layoutmgr LayoutManagerMaker.java
LayoutManagerMapping.java
  Log:
  This patch implements a pluggable LayoutManagers system, according
  to the ideas of Finn Bock and his patch in bug 30500.
  
  Created a LayoutManagerMaker interface, with method
  makeLayoutManagers(FONode, List), and two convenience methods on top
  of it.
  
  Created an implementation: LayoutManagerMapping. This is along the
  pattern of FOElementMapping. It creates a Map from FObj class to Maker
  objects. There are many static inner classes which are subclasses of
  Maker. Each subclass implements its own version of the make method.
  
  FOUserAgent has a setter and getter for
  LayoutManagerMakerOverride. AreaTreeHandler creates a
  LayoutManagerMaker, taking the user's override into account, using
  LayoutManagerMapping as the default. It has a get method for it.
  
  The LayoutManager interface has a get method for the AreaTreeHandler
  object, a reference to which is held in PageSequenceLM, the top of the
  LM tree.
  
  Revision  ChangesPath
  1.20  +20 -1 xml-fop/src/java/org/apache/fop/apps/FOUserAgent.java
  
  Index: FOUserAgent.java
  ===
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/FOUserAgent.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- FOUserAgent.java  24 Oct 2004 00:03:49 -  1.19
  +++ FOUserAgent.java  24 Dec 2004 12:06:25 -  1.20
  @@ -37,6 +37,7 @@
   // FOP
   import org.apache.fop.fo.ElementMapping;
   import org.apache.fop.fo.FOEventHandler;
  +import org.apache.fop.layoutmgr.LayoutManagerMaker;
   import org.apache.fop.pdf.PDFEncryptionParams;
   import org.apache.fop.render.Renderer;
   
  @@ -74,6 +75,7 @@
   private InputHandler inputHandler = null;
   private Renderer rendererOverride = null;
   private FOEventHandler foEventHandlerOverride = null;
  +private LayoutManagerMaker lmMakerOverride = null;
   /* user configuration */
   private Configuration userConfig = null;
   private Log log = LogFactory.getLog(FOP);
  @@ -164,6 +166,23 @@
*/
   public FOEventHandler getFOEventHandlerOverride() {
   return this.foEventHandlerOverride;
  +}
  +
  +/**
  + * Sets an explicit LayoutManagerMaker instance which overrides the one
  + * defined by the AreaTreeHandler.
  + * @param lmMaker the LayoutManagerMaker instance
  + */
  +public void setLayoutManagerMakerOverride(LayoutManagerMaker lmMaker) {
  +this.lmMakerOverride = lmMaker;
  +}
  +
  +/**
  + * Returns the overriding LayoutManagerMaker instance, if any.
  + * @return the overriding LayoutManagerMaker or null
  + */
  +public LayoutManagerMaker getLayoutManagerMakerOverride() {
  +return this.lmMakerOverride;
   }
   
   /**
  
  
  
  1.28  +24 -3 xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java
  
  Index: AreaTreeHandler.java
  ===
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- AreaTreeHandler.java  17 Dec 2004 00:19:10 -  1.27
  +++ AreaTreeHandler.java  24 Dec 2004 12:06:25 -  1.28
  @@ -40,6 +40,8 @@
   import org.apache.fop.fo.pagination.PageSequence;
   import org.apache.fop.fo.pagination.Root;
   import org.apache.fop.layoutmgr.PageSequenceLayoutManager;
  +import org.apache.fop.layoutmgr.LayoutManagerMaker;
  +import org.apache.fop.layoutmgr.LayoutManagerMapping;
   
   /**
* Area tree handler for formatting objects.
  @@ -72,6 +74,9 @@
   // time used in rendering 

cvs commit: xml-fop/src/java/org/apache/fop/render/pdf PDFRenderer.java

2004-12-24 Thread gmazza
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  ChangesPath
  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 -  1.1
  +++ LayoutManagerMapping.java 25 Dec 2004 01:08:10 -  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 -  1.62
  +++ PDFRenderer.java  25 Dec 2004 01:08:11 -  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) {
  -