Class RtfTableCell
- java.lang.Object
-
- org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement
-
- org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer
-
- org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableCell
-
- All Implemented Interfaces:
IRtfExternalGraphicContainer,IRtfListContainer,IRtfParagraphContainer,IRtfTableContainer,IRtfTextrunContainer
public class RtfTableCell extends RtfContainer implements IRtfParagraphContainer, IRtfListContainer, IRtfTableContainer, IRtfExternalGraphicContainer, IRtfTextrunContainer
A cell in an RTF table, container for paragraphs, lists, etc.
This work was authored by Bertrand Delacretaz (bdelacretaz@codeconsult.ch).
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CELL_WIDTHdefault cell width (in twips ??)static intMERGE_STARTcell merging: this cell is the start of a range of merged cellsstatic intMERGE_WITH_PREVIOUScell merging: this cell is part of (but not the start of) a range of merged cellsstatic intNO_MERGEcell merging: this cell is not merged-
Fields inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement
attrib, parent, writer
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfinish()The last paragraph break was just stored before, now the control word is really switchedintgetHMerge()RtfTableRowgetRow()Get the parent row.RtfTextrungetTextrun()Returns the current RtfTextrun object.intgetVMerge()booleanisEmpty()A table cell always contains "useful" content, as it is here to take some space in a row.RtfExternalGraphicnewImage()Start a new external graphic after closing current paragraph, list and tableRtfListnewList(RtfAttributes attrib)Start a new list after closing current paragraph, list and tableRtfParagraphnewParagraph()Start a new paragraph with default attributes after closing current paragraph, list and tableRtfParagraphnewParagraph(RtfAttributes attrs)Start a new paragraph after closing current current paragraph, list and tableRtfTablenewTable(ITableColumnsInfo tc)Start a new nested table after closing current paragraph, list and tableRtfTablenewTable(RtfAttributes attrs, ITableColumnsInfo tc)Start a new nested table after closing current paragraph, list and tablevoidsetHMerge(int mergeStatus)Set horizontal cell merging statusvoidsetLastParagraph(RtfParagraphBreak parBreak)The table cell decides whether or not a newly added paragraph break will be used to write the cell-end control word.voidsetVMerge(int mergeStatus)protected voidwriteRtfContent()Overriden to avoid writing any it's a merged cell.protected voidwriteRtfPrefix()Called before writeRtfContent; overriden to avoid writing any it's a merged cell.protected voidwriteRtfSuffix()The "cell" control word marks the end of a cell-
Methods inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer
addChild, findChildren, getChildCount, getChildren, okToWriteRtf, setChildren, setOptions, toString
-
Methods inherited from class org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement
close, getParentOfClass, getRtfAttributes, newLine, writeAttributes, writeControlWord, writeControlWordNS, writeExceptionInRtf, writeGroupMark, writeOneAttribute, writeOneAttributeNS, writeRtf, writeStarControlWord, writeStarControlWordNS
-
-
-
-
Field Detail
-
DEFAULT_CELL_WIDTH
public static final int DEFAULT_CELL_WIDTH
default cell width (in twips ??)- See Also:
- Constant Field Values
-
NO_MERGE
public static final int NO_MERGE
cell merging: this cell is not merged- See Also:
- Constant Field Values
-
MERGE_START
public static final int MERGE_START
cell merging: this cell is the start of a range of merged cells- See Also:
- Constant Field Values
-
MERGE_WITH_PREVIOUS
public static final int MERGE_WITH_PREVIOUS
cell merging: this cell is part of (but not the start of) a range of merged cells- See Also:
- Constant Field Values
-
-
Method Detail
-
newParagraph
public RtfParagraph newParagraph(RtfAttributes attrs) throws java.io.IOException
Start a new paragraph after closing current current paragraph, list and table- Specified by:
newParagraphin interfaceIRtfParagraphContainer- Parameters:
attrs- attributes of new RtfParagraph- Returns:
- new RtfParagraph object
- Throws:
java.io.IOException- for I/O problems
-
newImage
public RtfExternalGraphic newImage() throws java.io.IOException
Start a new external graphic after closing current paragraph, list and table- Specified by:
newImagein interfaceIRtfExternalGraphicContainer- Returns:
- new RtfExternalGraphic object
- Throws:
java.io.IOException- for I/O problems
-
newParagraph
public RtfParagraph newParagraph() throws java.io.IOException
Start a new paragraph with default attributes after closing current paragraph, list and table- Specified by:
newParagraphin interfaceIRtfParagraphContainer- Returns:
- new RtfParagraph object
- Throws:
java.io.IOException- for I/O problems
-
newList
public RtfList newList(RtfAttributes attrib) throws java.io.IOException
Start a new list after closing current paragraph, list and table- Specified by:
newListin interfaceIRtfListContainer- Parameters:
attrib- attributes for new RtfList- Returns:
- new RtfList object
- Throws:
java.io.IOException- for I/O problems
-
newTable
public RtfTable newTable(ITableColumnsInfo tc) throws java.io.IOException
Start a new nested table after closing current paragraph, list and table- Specified by:
newTablein interfaceIRtfTableContainer- Parameters:
tc- table column info for new RtfTable- Returns:
- new RtfTable object
- Throws:
java.io.IOException- for I/O problems
-
newTable
public RtfTable newTable(RtfAttributes attrs, ITableColumnsInfo tc) throws java.io.IOException
Start a new nested table after closing current paragraph, list and table- Specified by:
newTablein interfaceIRtfTableContainer- Parameters:
attrs- attributes of new RtfTabletc- table column info for new RtfTable- Returns:
- new RtfTable object
- Throws:
java.io.IOException- for I/O problems
-
writeRtfContent
protected void writeRtfContent() throws java.io.IOExceptionOverriden to avoid writing any it's a merged cell.- Overrides:
writeRtfContentin classRtfContainer- Throws:
java.io.IOException- for I/O problems
-
writeRtfPrefix
protected void writeRtfPrefix() throws java.io.IOExceptionCalled before writeRtfContent; overriden to avoid writing any it's a merged cell.- Overrides:
writeRtfPrefixin classRtfElement- Throws:
java.io.IOException- for I/O problems
-
writeRtfSuffix
protected void writeRtfSuffix() throws java.io.IOExceptionThe "cell" control word marks the end of a cell- Overrides:
writeRtfSuffixin classRtfElement- Throws:
java.io.IOException- for I/O problems
-
setVMerge
public void setVMerge(int mergeStatus)
- Parameters:
mergeStatus- vertical cell merging status to set
-
getVMerge
public int getVMerge()
- Returns:
- vertical cell merging status
-
setHMerge
public void setHMerge(int mergeStatus)
Set horizontal cell merging status- Parameters:
mergeStatus- mergeStatus to set
-
getHMerge
public int getHMerge()
- Returns:
- horizontal cell merging status
-
isEmpty
public boolean isEmpty()
A table cell always contains "useful" content, as it is here to take some space in a row. Use containsText() to find out if there is really some useful content in the cell. TODO: containsText could use the original isEmpty implementation?- Overrides:
isEmptyin classRtfContainer- Returns:
- false (always)
-
getTextrun
public RtfTextrun getTextrun() throws java.io.IOException
Returns the current RtfTextrun object. Opens a new one if necessary.- Specified by:
getTextrunin interfaceIRtfTextrunContainer- Returns:
- The RtfTextrun object
- Throws:
java.io.IOException- Thrown when an IO-problem occurs
-
getRow
public RtfTableRow getRow()
Get the parent row.- Returns:
- The parent row.
-
setLastParagraph
public void setLastParagraph(RtfParagraphBreak parBreak)
The table cell decides whether or not a newly added paragraph break will be used to write the cell-end control word. For nested tables it is not necessary.- Parameters:
parBreak- the paragraph break element
-
finish
public void finish()
The last paragraph break was just stored before, now the control word is really switched
-
-