gmazza 2004/08/20 02:38:21 Modified: src/java/org/apache/fop/area AreaTreeHandler.java src/java/org/apache/fop/fo FObj.java src/java/org/apache/fop/fo/flow Float.java Marker.java Table.java TableColumn.java Log: 1.) validateChildNode() added for fo:marker. 2.) new getPropString() convenience method added to FObj, will reduce need for many individual methods on each FO. 3.) fo:float disconnected from ToBeImplementedElement in favor of a class-specific warning. Revision Changes Path 1.4 +2 -2 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.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- AreaTreeHandler.java 16 Aug 2004 11:59:51 -0000 1.3 +++ AreaTreeHandler.java 20 Aug 2004 09:38:21 -0000 1.4 @@ -436,7 +436,7 @@ // to the Title. InlineStackingLayoutManager lm; lm = new InlineStackingLayoutManager(foTitle); - lm.setLMiter(new LMiter(lm, foTitle.childNodes.listIterator())); + lm.setLMiter(new LMiter(lm, foTitle.getChildNodes())); lm.initialize(); // get breaks then add areas to title 1.69 +13 -2 xml-fop/src/java/org/apache/fop/fo/FObj.java Index: FObj.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FObj.java,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- FObj.java 18 Aug 2004 03:26:35 -0000 1.68 +++ FObj.java 20 Aug 2004 09:38:21 -0000 1.69 @@ -180,7 +180,7 @@ /** * Helper method to quickly obtain the value of a property * for this FO, without querying for the propertyList first. - * @param name - the name of the desired property to obtain + * @param propId - the Constants ID of the desired property to obtain * @return the property */ public Property getProperty(int propId) { @@ -188,6 +188,17 @@ } /** + * Helper method to quickly obtain the String value of a property + * for this FO, without querying for the propertyList first. + * Meaningful only for properties having a string representation + * @param propId - the Constants ID of the desired property to obtain + * @return the String value of the property value + */ + public String getPropString(int propId) { + return propertyList.get(propId).getString(); + } + + /** * @see org.apache.fop.fo.FONode#addChildNode(FONode) */ protected void addChildNode(FONode child) { @@ -378,7 +389,7 @@ * @param marker Marker to add. */ protected void addMarker(Marker marker) { - String mcname = marker.getMarkerClassName(); + String mcname = marker.getPropString(PR_MARKER_CLASS_NAME); if (childNodes != null) { // check for empty childNodes for (Iterator iter = childNodes.iterator(); iter.hasNext();) { 1.14 +9 -2 xml-fop/src/java/org/apache/fop/fo/flow/Float.java Index: Float.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Float.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Float.java 16 Aug 2004 04:11:41 -0000 1.13 +++ Float.java 20 Aug 2004 09:38:21 -0000 1.14 @@ -25,18 +25,25 @@ // FOP import org.apache.fop.fo.FONode; -import org.apache.fop.fo.ToBeImplementedElement; +import org.apache.fop.fo.FObj; /** * fo:float element. */ -public class Float extends ToBeImplementedElement { +public class Float extends FObj { + static boolean notImplementedWarningGiven = false; + /** * @see org.apache.fop.fo.FONode#FONode(FONode) */ public Float(FONode parent) { super(parent); + + if (!notImplementedWarningGiven) { + getLogger().warn("fo:float is not yet implemented."); + notImplementedWarningGiven = true; + } } /** 1.15 +15 -12 xml-fop/src/java/org/apache/fop/fo/flow/Marker.java Index: Marker.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Marker.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- Marker.java 8 Aug 2004 18:39:23 -0000 1.14 +++ Marker.java 20 Aug 2004 09:38:21 -0000 1.15 @@ -20,6 +20,7 @@ // XML import org.xml.sax.Attributes; +import org.xml.sax.Locator; import org.xml.sax.SAXParseException; // FOP @@ -28,16 +29,11 @@ /** * Marker formatting object. - * This is the marker formatting object that handles merkers. - * This attempts to add itself to the parent formatting object. */ public class Marker extends FObjMixed { - private String markerClassName; - /** * Create a marker fo. - * * @param parent the parent fo node */ public Marker(FONode parent) { @@ -49,19 +45,26 @@ */ protected void addProperties(Attributes attlist) throws SAXParseException { super.addProperties(attlist); - this.markerClassName = - this.propertyList.get(PR_MARKER_CLASS_NAME).getString(); } /** - * Get the marker class name for this marker. - * - * @return the marker class name + * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String) + * XSL Content Model: (#PCDATA|%inline;|%block;)* + * Additionally: "An fo:marker may contain any formatting objects that + * are permitted as a replacement of any fo:retrieve-marker that retrieves + * the fo:marker's children." + * @todo implement "additional" constraint, possibly within fo:retrieve-marker */ - public String getMarkerClassName() { - return markerClassName; + protected void validateChildNode(Locator loc, String nsURI, String localName) + throws SAXParseException { + if (!isBlockOrInlineItem(nsURI, localName)) { + invalidChildError(loc, nsURI, localName); + } } + /** + * @see org.apache.fop.fo.FObj#getName() + */ public String getName() { return "fo:marker"; } 1.30 +3 -1 xml-fop/src/java/org/apache/fop/fo/flow/Table.java Index: Table.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Table.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- Table.java 18 Aug 2004 03:26:36 -0000 1.29 +++ Table.java 20 Aug 2004 09:38:21 -0000 1.30 @@ -168,7 +168,6 @@ } public Column getTableColumnLayoutManager(TableColumn node) { - node.initialize(); Column clm = new Column(node); return clm; } @@ -178,6 +177,9 @@ return blm; } + /** + * @see org.apache.fop.fo.FObj#getName() + */ public String getName() { return "fo:table"; } 1.28 +16 -26 xml-fop/src/java/org/apache/fop/fo/flow/TableColumn.java Index: TableColumn.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/TableColumn.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- TableColumn.java 11 Aug 2004 04:15:27 -0000 1.27 +++ TableColumn.java 20 Aug 2004 09:38:21 -0000 1.28 @@ -36,14 +36,11 @@ public class TableColumn extends FObj { private ColorType backgroundColor; - private Length columnWidth; private int columnOffset; private int numColumnsRepeated; private int iColumnNumber; - private boolean initialized = false; - /** * @param parent FONode that is the parent of this object */ @@ -61,15 +58,29 @@ } /** - * @see org.apache.fop.fo.FObj#addProperties + * @see org.apache.fop.fo.FObj#addProperties(Attributes) */ protected void addProperties(Attributes attlist) throws SAXParseException { super.addProperties(attlist); - initialize(); // init some basic property values + + iColumnNumber = propertyList.get(PR_COLUMN_NUMBER).getNumber().intValue(); + numColumnsRepeated = + propertyList.get(PR_NUMBER_COLUMNS_REPEATED).getNumber().intValue(); + this.backgroundColor = + this.propertyList.get(PR_BACKGROUND_COLOR).getColorType(); + columnWidth = this.propertyList.get(PR_COLUMN_WIDTH).getLength(); + getFOInputHandler().startColumn(this); } /** + * @see org.apache.fop.fo.FONode#endOfNode + */ + protected void endOfNode() throws SAXParseException { + getFOInputHandler().endColumn(this); + } + + /** * @return Length object containing column width */ public Length getColumnWidth() { @@ -90,27 +101,6 @@ return numColumnsRepeated; } - /** - * @todo convert to addProperties() - */ - public void initialize() { - iColumnNumber = propertyList.get(PR_COLUMN_NUMBER).getNumber().intValue(); - - numColumnsRepeated = - propertyList.get(PR_NUMBER_COLUMNS_REPEATED).getNumber().intValue(); - - this.backgroundColor = - this.propertyList.get(PR_BACKGROUND_COLOR).getColorType(); - - columnWidth = this.propertyList.get(PR_COLUMN_WIDTH).getLength(); - - initialized = true; - } - - protected void endOfNode() throws SAXParseException { - getFOInputHandler().endColumn(this); - } - public String getName() { return "fo:table-column"; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]