]> source.dussan.org Git - xmlgraphics-fop.git/commit
This patch implements a pluggable LayoutManagers system, according
authorSimon Pepping <spepping@apache.org>
Fri, 24 Dec 2004 12:06:26 +0000 (12:06 +0000)
committerSimon Pepping <spepping@apache.org>
Fri, 24 Dec 2004 12:06:26 +0000 (12:06 +0000)
commitc6dcfcd8dd37b9b40b65d93f2d57d21cd43097b6
tree4903fae598b0d92b31a4c701e6ccf31d88658270
parent43decd1c0ddf36756615f96bbc089f6b7027afa0
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.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198208 13f79535-47bb-0310-9956-ffa450edef68
35 files changed:
src/java/org/apache/fop/apps/FOUserAgent.java
src/java/org/apache/fop/area/AreaTreeHandler.java
src/java/org/apache/fop/fo/FONode.java
src/java/org/apache/fop/fo/FOText.java
src/java/org/apache/fop/fo/FObjMixed.java
src/java/org/apache/fop/fo/flow/BasicLink.java
src/java/org/apache/fop/fo/flow/BidiOverride.java
src/java/org/apache/fop/fo/flow/Block.java
src/java/org/apache/fop/fo/flow/BlockContainer.java
src/java/org/apache/fop/fo/flow/Character.java
src/java/org/apache/fop/fo/flow/ExternalGraphic.java
src/java/org/apache/fop/fo/flow/Footnote.java
src/java/org/apache/fop/fo/flow/Inline.java
src/java/org/apache/fop/fo/flow/InlineContainer.java
src/java/org/apache/fop/fo/flow/InlineLevel.java
src/java/org/apache/fop/fo/flow/InstreamForeignObject.java
src/java/org/apache/fop/fo/flow/Leader.java
src/java/org/apache/fop/fo/flow/ListBlock.java
src/java/org/apache/fop/fo/flow/ListItem.java
src/java/org/apache/fop/fo/flow/Marker.java
src/java/org/apache/fop/fo/flow/PageNumber.java
src/java/org/apache/fop/fo/flow/PageNumberCitation.java
src/java/org/apache/fop/fo/flow/RetrieveMarker.java
src/java/org/apache/fop/fo/flow/Table.java
src/java/org/apache/fop/fo/flow/TableBody.java
src/java/org/apache/fop/fo/flow/TableCell.java
src/java/org/apache/fop/fo/flow/TableRow.java
src/java/org/apache/fop/fo/flow/Wrapper.java
src/java/org/apache/fop/fo/pagination/Flow.java
src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
src/java/org/apache/fop/layoutmgr/ContentLayoutManager.java
src/java/org/apache/fop/layoutmgr/LayoutManager.java
src/java/org/apache/fop/layoutmgr/LayoutManagerMaker.java [new file with mode: 0644]
src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java [new file with mode: 0644]
src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java