gmazza 2003/11/09 09:06:01
Modified: src/java/org/apache/fop/fo FOElementMapping.java
src/java/org/apache/fop/render/rtf RTFHandler.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc
ITableAttributes.java RtfJforCmd.java
RtfTableRow.java
src/java/org/apache/fop/render/rtf/rtflib/testdocs
MergedTableCells.java
Log:
Peter Herweg's latest patch applied:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24533
Revision Changes Path
1.5 +7 -1 xml-fop/src/java/org/apache/fop/fo/FOElementMapping.java
Index: FOElementMapping.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOElementMapping.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FOElementMapping.java 17 Jul 2003 17:31:28 -0000 1.4
+++ FOElementMapping.java 9 Nov 2003 17:06:01 -0000 1.5
@@ -124,7 +124,7 @@
foObjs.put("table", new Ta());
foObjs.put("table-column", new TC());
foObjs.put("table-caption", new TCaption());
- foObjs.put("table-header", new TB());
+ foObjs.put("table-header", new TH());
foObjs.put("table-footer", new TB());
foObjs.put("table-body", new TB());
foObjs.put("table-row", new TR());
@@ -371,6 +371,12 @@
static class TB extends ElementMapping.Maker {
public FONode make(FONode parent) {
return new org.apache.fop.fo.flow.TableBody(parent);
+ }
+ }
+
+ static class TH extends ElementMapping.Maker {
+ public FONode make(FONode parent) {
+ return new org.apache.fop.fo.flow.TableHeader(parent);
}
}
1.5 +7 -10 xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java
Index: RTFHandler.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RTFHandler.java 8 Nov 2003 19:58:03 -0000 1.4
+++ RTFHandler.java 9 Nov 2003 17:06:01 -0000 1.5
@@ -73,6 +73,7 @@
import org.apache.fop.fo.flow.TableColumn;
import org.apache.fop.fo.flow.TableBody;
import org.apache.fop.fo.flow.TableCell;
+import org.apache.fop.fo.flow.TableHeader;
import org.apache.fop.fo.flow.TableRow;
import org.apache.fop.fo.pagination.Flow;
import org.apache.fop.fo.pagination.PageSequence;
@@ -81,6 +82,7 @@
import org.apache.fop.fo.Property;
import org.apache.fop.fo.LengthProperty;
import org.apache.fop.apps.Document;
+import org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes;
import org.apache.fop.render.rtf.rtflib.rtfdoc.IRtfAfterContainer;
import org.apache.fop.render.rtf.rtflib.rtfdoc.IRtfBeforeContainer;
import org.apache.fop.render.rtf.rtflib.rtfdoc.IRtfTextrunContainer;
@@ -117,8 +119,6 @@
private final Logger log = new ConsoleLogger();
private RtfSection sect;
private RtfDocumentArea docArea;
- //private RtfParagraph para; //never used
- private boolean warned = false;
private boolean bPrevHeaderSpecified = false;//true, if there has been a
//header in any page-sequence
private boolean bPrevFooterSpecified = false;//true, if there has been a
@@ -242,11 +242,6 @@
contAfter.newAfter(attr);
}
- // print ALPHA_WARNING
- if (!warned) {
- sect.newParagraph().newText(ALPHA_WARNING);
- warned = true;
- }
} else if (fl.getFlowName().equals("xsl-region-before")) {
bHeaderSpecified = true;
bPrevHeaderSpecified = true;
@@ -529,10 +524,12 @@
final RtfTable tbl =
(RtfTable)builderContext.getContainer(RtfTable.class,
true, null);
- RtfAttributes tblAttribs = tbl.getRtfAttributes();
- RtfAttributes tblRowAttribs = new RtfAttributes();
RtfAttributes atts =
TableAttributesConverter.convertRowAttributes(tr.properties,
tbl.getHeaderAttribs());
+
+ if(tr.getParent() instanceof TableHeader) {
+ atts.set(ITableAttributes.ATTR_HEADER);
+ }
builderContext.pushContainer(tbl.newTableRow(atts));
1.4 +5 -2
xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ITableAttributes.java
Index: ITableAttributes.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/ITableAttributes.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ITableAttributes.java 8 Nov 2003 19:58:03 -0000 1.3
+++ ITableAttributes.java 9 Nov 2003 17:06:01 -0000 1.4
@@ -75,6 +75,9 @@
/** half the space between the cells of a table row in twips */
String ATTR_RTF_15_TRGAPH = "trgaph";
String ATTR_ROW_LEFT_INDENT = "trleft";
+
+ /** table row header */
+ public final String ATTR_HEADER = "trhdr";
// RTF 1.6 Row and table attributes
/** table row padding, top */
@@ -210,4 +213,4 @@
String[] CELL_COLOR = {
CELL_SHADE, CELL_COLOR_BACKGROUND, CELL_COLOR_FOREGROUND
};
-}
\ No newline at end of file
+}
1.2 +4 -4
xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java
Index: RtfJforCmd.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfJforCmd.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RtfJforCmd.java 4 Nov 2003 23:59:11 -0000 1.1
+++ RtfJforCmd.java 9 Nov 2003 17:06:01 -0000 1.2
@@ -100,9 +100,9 @@
final String cmd = (String)it.next();
if (cmd.equals(PARA_KEEP_ON)) {
- paragraphKeeptogetherContext.keepTogetherOpen();
+ ParagraphKeeptogetherContext.keepTogetherOpen();
} else if (cmd.equals(PARA_KEEP_OFF)) {
- paragraphKeeptogetherContext.keepTogetherClose();
+ ParagraphKeeptogetherContext.keepTogetherClose();
} else {
// this.getRtfFile ().getLog ().logInfo
// ("JFOR-CMD ignored, command not recognised:"+cmd);
@@ -113,4 +113,4 @@
}
-}
\ No newline at end of file
+}
1.4 +2 -1
xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java
Index: RtfTableRow.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RtfTableRow.java 8 Nov 2003 19:58:03 -0000 1.3
+++ RtfTableRow.java 9 Nov 2003 17:06:01 -0000 1.4
@@ -180,6 +180,7 @@
final RtfTable parentTable = (RtfTable) parent;
adjustBorderProperties(parentTable);
+ writeAttributes(attrib,new String[]{ITableAttributes.ATTR_HEADER});
writeAttributes(attrib, ITableAttributes.ROW_BORDER);
writeAttributes(attrib, ITableAttributes.CELL_BORDER);
writeAttributes(attrib, BorderAttributesConverter.BORDERS);
1.2 +10 -10
xml-fop/src/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java
Index: MergedTableCells.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MergedTableCells.java 4 Nov 2003 23:59:13 -0000 1.1
+++ MergedTableCells.java 9 Nov 2003 17:06:01 -0000 1.2
@@ -84,16 +84,16 @@
{
RtfTableRow r = tbl.newTableRow();
RtfTableCell c = r.newTableCell(80 * MM_TO_TWIPS);
- c.setHMerge(c.MERGE_START);
+ c.setHMerge(RtfTableCell.MERGE_START);
c.newParagraph().newText("cell 0,0, width 80mm, merge start, "
+ "followed by two merged cells totalling 80mm width.");
c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setHMerge(c.MERGE_WITH_PREVIOUS);
+ c.setHMerge(RtfTableCell.MERGE_WITH_PREVIOUS);
c.newParagraph().newText("THIS IS IN AN HMERGED CELL, MUST NOT APPEAR
IN RTF DOCUMENT");
c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setHMerge(c.MERGE_WITH_PREVIOUS);
+ c.setHMerge(RtfTableCell.MERGE_WITH_PREVIOUS);
c.newParagraph().newText("THIS IS IN AN HMERGED CELL, MUST NOT APPEAR
IN RTF DOCUMENT");
}
@@ -101,13 +101,13 @@
{
RtfTableRow r = tbl.newTableRow();
RtfTableCell c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setVMerge(c.MERGE_START);
+ c.setVMerge(RtfTableCell.MERGE_START);
c.newParagraph().newText("cell 1,0, vertical merge start, 40mm, spans
three rows.");
r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText("cell 1,1, no
merge, 80mm");
c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setVMerge(c.MERGE_START);
+ c.setVMerge(RtfTableCell.MERGE_START);
c.newParagraph().newText("cell 1,2, vertical merge start, 40mm, spans
two rows.");
}
@@ -115,14 +115,14 @@
{
RtfTableRow r = tbl.newTableRow();
RtfTableCell c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setVMerge(c.MERGE_WITH_PREVIOUS);
+ c.setVMerge(RtfTableCell.MERGE_WITH_PREVIOUS);
c.newParagraph().newText("cell 2,0, VMERGED CELL, MUST NOT APPEAR IN
RTF DOCUMENT");
r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText("cell 2,1, no
merge, 40mm");
r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText("cell 2,2, no
merge, 40mm");
c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setVMerge(c.MERGE_WITH_PREVIOUS);
+ c.setVMerge(RtfTableCell.MERGE_WITH_PREVIOUS);
c.newParagraph().newText("cell 2,3, VMERGED CELL, MUST NOT APPEAR IN
RTF DOCUMENT");
}
@@ -130,7 +130,7 @@
{
RtfTableRow r = tbl.newTableRow();
RtfTableCell c = r.newTableCell(40 * MM_TO_TWIPS);
- c.setVMerge(c.MERGE_WITH_PREVIOUS);
+ c.setVMerge(RtfTableCell.MERGE_WITH_PREVIOUS);
c.newParagraph().newText("cell 3,0, VMERGED CELL, MUST NOT APPEAR IN
RTF DOCUMENT");
r.newTableCell(10 * MM_TO_TWIPS).newParagraph().newText("cell 3,1, no
merge, 10mm");
@@ -146,4 +146,4 @@
("cell 4,0, width 160mm, only cell in this row");
}
}
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]