a length and must delay the call to Length.getValue() until the baselength has been assigned by the LayoutManagers. PR: 26778 (second half) git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197382 13f79535-47bb-0310-9956-ffa450edef68pull/30/head
@@ -304,6 +304,7 @@ public class FOPropertyMapping implements Constants { | |||
genericPadding = new LengthProperty.Maker(0); | |||
genericPadding.setInherited(false); | |||
genericPadding.setDefault("0pt"); | |||
genericPadding.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
genericPadding.addShorthand(s_generics[PR_PADDING]); | |||
// GenericCondBorderWidth | |||
@@ -1189,6 +1190,7 @@ public class FOPropertyMapping implements Constants { | |||
m.setInherited(false); | |||
m.setDefault("0pt"); | |||
m.addShorthand(s_generics[PR_MARGIN]); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("margin-top", m); | |||
// margin-bottom | |||
@@ -1196,6 +1198,7 @@ public class FOPropertyMapping implements Constants { | |||
m.setInherited(false); | |||
m.setDefault("0pt"); | |||
m.addShorthand(s_generics[PR_MARGIN]); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("margin-bottom", m); | |||
// margin-left | |||
@@ -1203,6 +1206,7 @@ public class FOPropertyMapping implements Constants { | |||
m.setInherited(false); | |||
m.setDefault("0pt"); | |||
m.addShorthand(s_generics[PR_MARGIN]); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("margin-left", m); | |||
// margin-right | |||
@@ -1210,6 +1214,7 @@ public class FOPropertyMapping implements Constants { | |||
m.setInherited(false); | |||
m.setDefault("0pt"); | |||
m.addShorthand(s_generics[PR_MARGIN]); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("margin-right", m); | |||
// space-before | |||
@@ -1343,6 +1348,7 @@ public class FOPropertyMapping implements Constants { | |||
// block-progression-dimension | |||
m = new LengthRangeProperty.Maker(PR_BLOCK_PROGRESSION_DIMENSION); | |||
m.setInherited(false); | |||
m.setPercentBase(LengthBase.BLOCK_HEIGHT); | |||
l = new LengthProperty.Maker(CP_MINIMUM); | |||
l.setDefault("auto"); | |||
@@ -1372,6 +1378,7 @@ public class FOPropertyMapping implements Constants { | |||
{PR_MAX_HEIGHT, PR_MAX_HEIGHT, PR_MAX_WIDTH, } | |||
}); | |||
pdim.setRelative(true); | |||
m.setCorresponding(pdim); | |||
addPropertyMaker("block-progression-dimension", m); | |||
// content-height | |||
@@ -1398,6 +1405,7 @@ public class FOPropertyMapping implements Constants { | |||
// inline-progression-dimension | |||
m = new LengthRangeProperty.Maker(PR_INLINE_PROGRESSION_DIMENSION); | |||
m.setInherited(false); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
l = new LengthProperty.Maker(CP_MINIMUM); | |||
l.setDefault("auto"); | |||
@@ -1427,6 +1435,7 @@ public class FOPropertyMapping implements Constants { | |||
{PR_MIN_WIDTH, PR_MIN_WIDTH, PR_MIN_HEIGHT, }, | |||
{PR_MAX_WIDTH, PR_MAX_WIDTH, PR_MAX_HEIGHT, } | |||
}); | |||
m.setCorresponding(pdim); | |||
addPropertyMaker("inline-progression-dimension", m); | |||
// max-height | |||
@@ -1471,7 +1480,7 @@ public class FOPropertyMapping implements Constants { | |||
l = new LengthProperty.Maker(PR_WIDTH); | |||
l.setInherited(false); | |||
l.setAutoOk(true); | |||
l.setPercentBase(LengthBase.CONTAINING_BOX); | |||
l.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
l.setDefault("auto"); | |||
addPropertyMaker("width", l); | |||
} | |||
@@ -1580,6 +1589,7 @@ public class FOPropertyMapping implements Constants { | |||
m = new LengthProperty.Maker(PR_TEXT_INDENT); | |||
m.setInherited(false); | |||
m.setDefault("0pt"); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("text-indent", m); | |||
// white-space-collapse | |||
@@ -2222,6 +2232,7 @@ public class FOPropertyMapping implements Constants { | |||
m = new LengthProperty.Maker(PR_COLUMN_WIDTH); | |||
m.setInherited(false); | |||
m.setDefault("proportional-column-width(1)", true); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("column-width", m); | |||
// empty-cells | |||
@@ -2476,6 +2487,7 @@ public class FOPropertyMapping implements Constants { | |||
m.setInherited(false); | |||
m.setDefault(""); | |||
m.setDatatypeParser(new BoxPropShorthandParser()); | |||
m.setPercentBase(LengthBase.BLOCK_WIDTH); | |||
addPropertyMaker("margin", m); | |||
// padding |
@@ -96,6 +96,11 @@ public class FObj extends FONode implements Constants { | |||
*/ | |||
protected Map markers = null; | |||
/** | |||
* Dynamic layout dimension. Used to resolve relative lengths. | |||
*/ | |||
protected Map layoutDimension = null; | |||
/** | |||
* Create a new formatting object. | |||
* All formatting object classes extend this class. | |||
@@ -237,6 +242,50 @@ public class FObj extends FONode implements Constants { | |||
return new PropertyManager(propertyList); | |||
} | |||
/* This section is the implemenation of the property context. */ | |||
/** | |||
* Assign the size of a layout dimension to the key. | |||
* @param key the Layout dimension, from PercentBase. | |||
* @param dimension The layout length. | |||
*/ | |||
public void setLayoutDimension(Integer key, int dimension) { | |||
if (layoutDimension == null){ | |||
layoutDimension = new HashMap(); | |||
} | |||
layoutDimension.put(key, new Integer(dimension)); | |||
} | |||
/** | |||
* Assign the size of a layout dimension to the key. | |||
* @param key the Layout dimension, from PercentBase. | |||
* @param dimension The layout length. | |||
*/ | |||
public void setLayoutDimension(Integer key, float dimension) { | |||
if (layoutDimension == null){ | |||
layoutDimension = new HashMap(); | |||
} | |||
layoutDimension.put(key, new Float(dimension)); | |||
} | |||
/** | |||
* Return the size associated with the key. | |||
* @param key The layout dimension key. | |||
* @return the length. | |||
*/ | |||
public Number getLayoutDimension(Integer key) { | |||
if (layoutDimension != null) { | |||
Number result = (Number) layoutDimension.get(key); | |||
if (result != null) { | |||
return result; | |||
} | |||
} | |||
if (parent != null) { | |||
return ((FObj) parent).getLayoutDimension(key); | |||
} | |||
return new Integer(0); | |||
} | |||
/** | |||
* Add the child to this object. | |||
* |
@@ -465,7 +465,7 @@ public class PropertyManager implements Constants { | |||
*/ | |||
public BlockProps getBlockProps() { | |||
BlockProps props = new BlockProps(); | |||
props.firstIndent = this.propertyList.get(PR_TEXT_INDENT).getLength().getValue(); | |||
props.firstIndent = this.propertyList.get(PR_TEXT_INDENT).getLength(); | |||
props.lastIndent = 0; | |||
/*this.propertyList.get("last-line-end-indent").getLength().mvalue(); */ | |||
props.textAlign = this.propertyList.get(PR_TEXT_ALIGN).getEnum(); |
@@ -51,18 +51,16 @@ | |||
package org.apache.fop.fo.flow; | |||
// XML | |||
import org.xml.sax.Attributes; | |||
import java.awt.geom.Rectangle2D; | |||
// FOP | |||
import org.apache.fop.apps.FOPException; | |||
import org.apache.fop.datatypes.Length; | |||
import org.apache.fop.fo.FONode; | |||
import org.apache.fop.fo.FObj; | |||
import org.apache.fop.fo.FOTreeVisitor; | |||
import org.apache.fop.fo.properties.LengthProperty; | |||
import org.apache.fop.image.ImageFactory; | |||
import org.apache.fop.fo.FObj; | |||
import org.apache.fop.image.FopImage; | |||
// Java | |||
import java.awt.geom.Rectangle2D; | |||
import org.apache.fop.image.ImageFactory; | |||
import org.xml.sax.Attributes; | |||
/** | |||
* External graphic formatting object. | |||
@@ -104,7 +102,7 @@ public class ExternalGraphic extends FObj { | |||
url = ImageFactory.getURL(url); | |||
// assume lr-tb for now and just use the .optimum value of the range | |||
LengthProperty ipd = propertyList.get(PR_INLINE_PROGRESSION_DIMENSION). | |||
Length ipd = propertyList.get(PR_INLINE_PROGRESSION_DIMENSION). | |||
getLengthRange().getOptimum().getLength(); | |||
if (!ipd.isAuto()) { | |||
viewWidth = ipd.getValue(); | |||
@@ -114,7 +112,7 @@ public class ExternalGraphic extends FObj { | |||
viewWidth = ipd.getValue(); | |||
} | |||
} | |||
LengthProperty bpd = propertyList.get(PR_BLOCK_PROGRESSION_DIMENSION | CP_OPTIMUM).getLength(); | |||
Length bpd = propertyList.get(PR_BLOCK_PROGRESSION_DIMENSION | CP_OPTIMUM).getLength(); | |||
if (!bpd.isAuto()) { | |||
viewHeight = bpd.getValue(); | |||
} else { | |||
@@ -129,7 +127,7 @@ public class ExternalGraphic extends FObj { | |||
int cwidth = -1; | |||
int cheight = -1; | |||
LengthProperty ch = propertyList.get(PR_CONTENT_HEIGHT).getLength(); | |||
Length ch = propertyList.get(PR_CONTENT_HEIGHT).getLength(); | |||
if (!ch.isAuto()) { | |||
/*if (ch.scaleToFit()) { | |||
if (viewHeight != -1) { | |||
@@ -138,7 +136,7 @@ public class ExternalGraphic extends FObj { | |||
} else {*/ | |||
cheight = ch.getValue(); | |||
} | |||
LengthProperty cw = propertyList.get(PR_CONTENT_WIDTH).getLength(); | |||
Length cw = propertyList.get(PR_CONTENT_WIDTH).getLength(); | |||
if (!cw.isAuto()) { | |||
/*if (cw.scaleToFit()) { | |||
if (viewWidth != -1) { |
@@ -63,7 +63,6 @@ import org.apache.fop.fo.FOTreeVisitor; | |||
import org.apache.fop.fo.properties.CommonBackground; | |||
import org.apache.fop.fo.properties.CommonBorderAndPadding; | |||
import org.apache.fop.fo.properties.Property; | |||
/** | |||
* Class modelling the fo:table-column object. See Sec. 6.7.4 of the XSL-FO | |||
@@ -73,8 +72,7 @@ public class TableColumn extends FObj { | |||
private ColorType backgroundColor; | |||
private Length columnWidthPropVal; | |||
private int columnWidth; | |||
private Length columnWidth; | |||
private int columnOffset; | |||
private int numColumnsRepeated; | |||
private int iColumnNumber; | |||
@@ -91,26 +89,10 @@ public class TableColumn extends FObj { | |||
/** | |||
* @return Length object containing column width | |||
*/ | |||
public Length getColumnWidthAsLength() { | |||
return columnWidthPropVal; | |||
} | |||
/** | |||
* @return the column width (in millipoints ??) | |||
*/ | |||
public int getColumnWidth() { | |||
public Length getColumnWidth() { | |||
return columnWidth; | |||
} | |||
/** | |||
* Set the column width value, overriding the value from the column-width | |||
* Property. | |||
* @param columnWidth the column width value in base units (millipoints ??) | |||
*/ | |||
public void setColumnWidth(int columnWidth) { | |||
this.columnWidth = columnWidth; | |||
} | |||
/** | |||
* @return column number | |||
*/ | |||
@@ -146,15 +128,7 @@ public class TableColumn extends FObj { | |||
this.backgroundColor = | |||
this.propertyList.get(PR_BACKGROUND_COLOR).getColorType(); | |||
Property prop = this.propertyList.get(PR_COLUMN_WIDTH); | |||
if (prop != null) { | |||
columnWidthPropVal = propertyList.get(PR_COLUMN_WIDTH).getLength(); | |||
// This won't include resolved table-units or % values yet. | |||
columnWidth = columnWidthPropVal.getValue(); | |||
} else { | |||
columnWidth = 300000; | |||
} | |||
columnWidth = this.propertyList.get(PR_COLUMN_WIDTH).getLength(); | |||
// initialize id | |||
setupID(); |
@@ -64,6 +64,7 @@ import org.apache.fop.fo.PropertyList; | |||
import org.apache.fop.area.CTM; | |||
import org.apache.fop.datatypes.FODimension; | |||
import org.apache.fop.datatypes.Length; | |||
import org.apache.fop.datatypes.PercentBase; | |||
import org.apache.fop.traits.MinOptMax; | |||
/** | |||
@@ -177,6 +178,11 @@ public class BlockContainerLayoutManager extends BlockStackingLayoutManager { | |||
// stackSize.add(spaceBefore); | |||
BreakPoss lastPos = null; | |||
fobj.setLayoutDimension(PercentBase.BLOCK_IPD, ipd); | |||
fobj.setLayoutDimension(PercentBase.BLOCK_BPD, bpd - bIndents); | |||
fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_IPD, ipd); | |||
fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_BPD, bpd - bIndents); | |||
while ((curLM = getChildLM()) != null) { | |||
// Make break positions and return blocks! | |||
// Set up a LayoutContext |
@@ -54,6 +54,7 @@ import java.util.ListIterator; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import org.apache.fop.datatypes.PercentBase; | |||
import org.apache.fop.fo.FObj; | |||
import org.apache.fop.fo.TextInfo; | |||
import org.apache.fop.fo.PropertyManager; | |||
@@ -212,6 +213,10 @@ public class BlockLayoutManager extends BlockStackingLayoutManager { | |||
BreakPoss lastPos = null; | |||
// Set context for percentage property values. | |||
fobj.setLayoutDimension(PercentBase.BLOCK_IPD, ipd); | |||
fobj.setLayoutDimension(PercentBase.BLOCK_BPD, -1); | |||
while ((curLM = getChildLM()) != null) { | |||
// Make break positions and return blocks! | |||
// Set up a LayoutContext |
@@ -50,6 +50,7 @@ | |||
*/ | |||
package org.apache.fop.layoutmgr; | |||
import org.apache.fop.datatypes.Length; | |||
import org.apache.fop.fo.PropertyManager; | |||
import org.apache.fop.fo.properties.CommonMarginBlock; | |||
import org.apache.fop.fo.properties.CommonHyphenation; | |||
@@ -109,7 +110,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager { | |||
private BreakPoss prevBP = null; // Last confirmed break position | |||
private int bTextAlignment = TextAlign.JUSTIFY; | |||
private int iTextIndent = 0; | |||
private Length textIndent; | |||
private int iIndents = 0; | |||
private CommonHyphenation hyphProps; | |||
@@ -146,7 +147,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager { | |||
iIndents = marginProps.startIndent + marginProps.endIndent; | |||
BlockProps blockProps = propMgr.getBlockProps(); | |||
bTextAlignment = blockProps.textAlign; | |||
iTextIndent = blockProps.firstIndent; | |||
textIndent = blockProps.firstIndent; | |||
hyphProps = propMgr.getHyphenationProps(); | |||
} | |||
@@ -178,10 +179,9 @@ public class LineLayoutManager extends InlineStackingLayoutManager { | |||
clearPrevIPD(); | |||
int iPrevLineEnd = vecInlineBreaks.size(); | |||
// Adjust available line length by text-indent. | |||
if (iPrevLineEnd == 0 && bTextAlignment == TextAlign.START) { | |||
availIPD.subtract(new MinOptMax(iTextIndent)); | |||
} | |||
availIPD.subtract(new MinOptMax(textIndent.getValue())); | |||
} | |||
prevBP = null; | |||
while ((curLM = getChildLM()) != null) { | |||
@@ -453,7 +453,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager { | |||
if (prev == null) { | |||
vecInlineBreaks.clear(); | |||
} else if ((iPrev = vecInlineBreaks.indexOf(prev)) != -1) { | |||
for (int i = vecInlineBreaks.size(); iPrev < i; --i) { | |||
for (int i = vecInlineBreaks.size()-1; iPrev < i; --i) { | |||
vecInlineBreaks.remove(i); | |||
} | |||
} | |||
@@ -623,9 +623,9 @@ public class LineLayoutManager extends InlineStackingLayoutManager { | |||
break; | |||
case TextAlign.START: | |||
if (prevLineEnd == 0) { | |||
indent = iTextIndent; | |||
indent = textIndent.getValue(); | |||
} | |||
break; | |||
break; | |||
case TextAlign.CENTER: | |||
indent = (targetWith - realWidth) / 2; | |||
break; |
@@ -68,8 +68,10 @@ import org.apache.fop.area.BeforeFloat; | |||
import org.apache.fop.area.Footnote; | |||
import org.apache.fop.area.Resolveable; | |||
import org.apache.fop.datatypes.PercentBase; | |||
import org.apache.fop.datatypes.FODimension; | |||
import org.apache.fop.fo.FObj; | |||
import org.apache.fop.fo.Constants; | |||
import org.apache.fop.fo.flow.Marker; | |||
import org.apache.fop.fo.pagination.PageNumberGenerator; | |||
@@ -254,6 +256,8 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable | |||
childLC.setRefIPD(flowIPD); | |||
if (!curLM.isFinished()) { | |||
fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_IPD, flowIPD); | |||
fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_BPD, flowBPD); | |||
bp = curLM.getNextBreakPoss(childLC); | |||
} | |||
if (bp != null) { | |||
@@ -769,6 +773,10 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable | |||
spm.propertyList.get(PR_PAGE_WIDTH).getLength().getValue(); | |||
int pageHeight = | |||
spm.propertyList.get(PR_PAGE_HEIGHT).getLength().getValue(); | |||
// Set the page dimension as the toplevel containing block for margin. | |||
((FObj) fobj.getParent()).setLayoutDimension(PercentBase.BLOCK_IPD, pageWidth); | |||
((FObj) fobj.getParent()).setLayoutDimension(PercentBase.BLOCK_BPD, pageHeight); | |||
// Get absolute margin properties (top, left, bottom, right) | |||
CommonMarginBlock mProps = spm.getPropertyManager().getMarginProps(); | |||
@@ -797,6 +805,8 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable | |||
for (Iterator regenum = spm.getRegions().values().iterator(); | |||
regenum.hasNext();) { | |||
Region r = (Region)regenum.next(); | |||
r.setLayoutDimension(PercentBase.BLOCK_IPD, pageWidth); | |||
r.setLayoutDimension(PercentBase.BLOCK_BPD, pageHeight); | |||
RegionViewport rvp = makeRegionViewport(r, reldims, pageCTM); | |||
if (r.getRegionClassCode() == Region.BODY_CODE) { | |||
rvp.setRegion(makeRegionBodyReferenceArea(r, rvp.getViewArea())); |
@@ -50,6 +50,7 @@ | |||
*/ | |||
package org.apache.fop.layoutmgr.table; | |||
import org.apache.fop.datatypes.Length; | |||
import org.apache.fop.fo.FObj; | |||
import org.apache.fop.fo.PropertyManager; | |||
import org.apache.fop.layoutmgr.AbstractLayoutManager; | |||
@@ -70,7 +71,6 @@ import org.apache.fop.fo.properties.CommonBackground; | |||
* column properties. | |||
*/ | |||
public class Column extends AbstractLayoutManager { | |||
private int columnWidth; | |||
private CommonBorderAndPadding borderProps = null; | |||
private CommonBackground backgroundProps; | |||
@@ -85,7 +85,6 @@ public class Column extends AbstractLayoutManager { | |||
*/ | |||
public void setFObj(FObj fobj) { | |||
super.setFObj(fobj); | |||
columnWidth = ((TableColumn)fobj).getColumnWidth(); | |||
} | |||
/** | |||
@@ -136,8 +135,8 @@ public class Column extends AbstractLayoutManager { | |||
* | |||
* @return the width of the column | |||
*/ | |||
public int getWidth() { | |||
return columnWidth; | |||
public Length getWidth() { | |||
return ((TableColumn)fobj).getColumnWidth(); | |||
} | |||
/** |
@@ -191,7 +191,7 @@ public class Row extends BlockStackingLayoutManager { | |||
} else { | |||
col = (Column)columns.get(cellcount - 1); | |||
} | |||
childLC.setRefIPD(col.getWidth()); | |||
childLC.setRefIPD(col.getWidth().getValue()); | |||
while (!curLM.isFinished()) { | |||
if ((bp = curLM.getNextBreakPoss(childLC)) != null) { | |||
@@ -343,7 +343,7 @@ public class Row extends BlockStackingLayoutManager { | |||
childLM.setRowHeight(rowHeight); | |||
childLM.addAreas(breakPosIter, lc); | |||
} | |||
xoffset += col.getWidth(); | |||
xoffset += col.getWidth().getValue(); | |||
} | |||
} | |||
@@ -50,7 +50,10 @@ | |||
*/ | |||
package org.apache.fop.layoutmgr.table; | |||
import org.apache.fop.datatypes.Length; | |||
import org.apache.fop.datatypes.PercentBase; | |||
import org.apache.fop.fo.PropertyManager; | |||
import org.apache.fop.fo.properties.TableColLength; | |||
import org.apache.fop.layoutmgr.BlockStackingLayoutManager; | |||
import org.apache.fop.layoutmgr.LayoutProcessor; | |||
import org.apache.fop.layoutmgr.LeafPosition; | |||
@@ -67,6 +70,7 @@ import org.apache.fop.fo.properties.CommonBorderAndPadding; | |||
import org.apache.fop.fo.properties.CommonBackground; | |||
import java.util.ArrayList; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
/** | |||
@@ -159,6 +163,26 @@ public class TableLayoutManager extends BlockStackingLayoutManager { | |||
// stackSize.add(spaceBefore); | |||
BreakPoss lastPos = null; | |||
fobj.setLayoutDimension(PercentBase.BLOCK_IPD, context.getRefIPD()); | |||
fobj.setLayoutDimension(PercentBase.BLOCK_BPD, context.getStackLimit().opt); | |||
fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_IPD, context.getRefIPD()); | |||
fobj.setLayoutDimension(PercentBase.REFERENCE_AREA_BPD, context.getStackLimit().opt); | |||
int sumCols = 0; | |||
float factors = 0; | |||
if (columns != null) { | |||
for (Iterator i = columns.iterator(); i.hasNext(); ) { | |||
Column column = (Column) i.next(); | |||
Length width = column.getWidth(); | |||
sumCols += width.getValue(); | |||
if (width instanceof TableColLength) { | |||
factors += ((TableColLength) width).getTableUnits(); | |||
} | |||
} | |||
} | |||
if (sumCols < context.getRefIPD()) { | |||
fobj.setLayoutDimension(PercentBase.TABLE_UNITS, (context.getRefIPD() - sumCols) / factors); | |||
} | |||
MinOptMax headerSize = null; | |||
if (tableHeader != null) { | |||
tableHeader.setUserAgent(getUserAgent()); |
@@ -479,7 +479,7 @@ public class RTFHandler extends FOInputHandler { | |||
} | |||
try { | |||
Integer iWidth = new Integer(tc.getColumnWidth() / 1000); | |||
Integer iWidth = new Integer(tc.getColumnWidth().getValue() / 1000); | |||
builderContext.getTableContext().setNextColumnWidth(iWidth.toString() + "pt"); | |||
builderContext.getTableContext().setNextColumnRowSpanning(new Integer(0), null); | |||
} catch (Exception e) { |
@@ -50,13 +50,15 @@ | |||
*/ | |||
package org.apache.fop.traits; | |||
import org.apache.fop.datatypes.Length; | |||
/** | |||
* Store all block-level layout properties on an FO. | |||
* Public "structure" allows direct member access. | |||
*/ | |||
public class BlockProps { | |||
public int firstIndent; // text-indent | |||
public Length firstIndent; // text-indent | |||
public int lastIndent; // last-line-indent | |||
public int textAlign; | |||
public int textAlignLast; |