You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by vh...@apache.org on 2013/10/24 16:00:23 UTC
svn commit: r1535384 - in
/xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop:
area/AreaTreeParser.java area/inline/Container.java
layoutmgr/inline/InlineContainerLayoutManager.java
Author: vhennebert
Date: Thu Oct 24 14:00:23 2013
New Revision: 1535384
URL: http://svn.apache.org/r1535384
Log:
Parse back the container area from the area tree.
Fixes AreaTreeParserTestCase.
Modified:
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/AreaTreeParser.java
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/inline/Container.java
xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
Modified: xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/AreaTreeParser.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/AreaTreeParser.java?rev=1535384&r1=1535383&r2=1535384&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/AreaTreeParser.java (original)
+++ xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/AreaTreeParser.java Thu Oct 24 14:00:23 2013
@@ -62,6 +62,7 @@ import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.area.Trait.Background;
import org.apache.fop.area.Trait.InternalLink;
import org.apache.fop.area.inline.AbstractTextArea;
+import org.apache.fop.area.inline.Container;
import org.apache.fop.area.inline.ForeignObject;
import org.apache.fop.area.inline.Image;
import org.apache.fop.area.inline.InlineArea;
@@ -195,6 +196,7 @@ public class AreaTreeParser {
makers.put("space", new SpaceMaker());
makers.put("leader", new LeaderMaker());
makers.put("viewport", new InlineViewportMaker());
+ makers.put("container", new ContainerMaker());
makers.put("image", new ImageMaker());
makers.put("foreignObject", new ForeignObjectMaker());
makers.put("bookmarkTree", new BookmarkTreeMaker());
@@ -863,6 +865,21 @@ public class AreaTreeParser {
}
}
+ private class ContainerMaker extends AbstractMaker {
+
+ public void startElement(Attributes attributes) {
+ Container container = new Container();
+ transferForeignObjects(attributes, container);
+ InlineViewport parent = (InlineViewport) areaStack.peek();
+ parent.setContent(container);
+ areaStack.push(container);
+ }
+
+ public void endElement() {
+ assertObjectOfClass(areaStack.pop(), Container.class);
+ }
+ }
+
private class InlineViewportMaker extends AbstractMaker {
public void startElement(Attributes attributes) {
Modified: xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/inline/Container.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/inline/Container.java?rev=1535384&r1=1535383&r2=1535384&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/inline/Container.java (original)
+++ xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/area/inline/Container.java Thu Oct 24 14:00:23 2013
@@ -51,13 +51,12 @@ public class Container extends Area {
public Container() {
}
- /**
- * Add the block to this area.
- *
- * @param block the block area to add
- */
- public void addBlock(Block block) {
- blocks.add(block);
+ @Override
+ public void addChildArea(Area child) {
+ if (!(child instanceof Block)) {
+ throw new IllegalArgumentException("Container only accepts block areas");
+ }
+ blocks.add((Block) child);
}
/**
@@ -65,7 +64,7 @@ public class Container extends Area {
*
* @return the list of block areas
*/
- public List getBlocks() {
+ public List<Block> getBlocks() {
return blocks;
}
Modified: xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java?rev=1535384&r1=1535383&r2=1535384&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java (original)
+++ xmlgraphics/fop/branches/Temp_InlineContainer/src/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java Thu Oct 24 14:00:23 2013
@@ -24,7 +24,6 @@ import java.util.LinkedList;
import java.util.List;
import org.apache.fop.area.Area;
-import org.apache.fop.area.Block;
import org.apache.fop.area.Trait;
import org.apache.fop.area.inline.Container;
import org.apache.fop.area.inline.InlineViewport;
@@ -189,7 +188,7 @@ public class InlineContainerLayoutManage
@Override
public void addChildArea(Area childArea) {
- referenceArea.addBlock((Block) childArea);
+ referenceArea.addChildArea(childArea);
}
private boolean needClip() {
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org