mirror of https://github.com/apache/poi.git
add additional TableProperties; implement TableAutoformatLookSpecifier
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1142827 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
13b8af3ff9
commit
bf7927a6f0
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,291 @@
|
|||
/* ====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.hwpf.model.types;
|
||||
|
||||
import org.apache.poi.hdf.model.hdftypes.HDFType;
|
||||
import org.apache.poi.util.BitField;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
|
||||
/**
|
||||
* Table Autoformat Look sPecifier (TLP).
|
||||
* <p>
|
||||
* Class and fields descriptions are quoted from Microsoft Office Word 97-2007
|
||||
* Binary File Format
|
||||
*
|
||||
* NOTE: This source is automatically generated please do not modify this file.
|
||||
* Either subclass or remove the record in src/records/definitions.
|
||||
*
|
||||
* @author Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary
|
||||
* File Format Specification [*.doc]
|
||||
*/
|
||||
public abstract class TLPAbstractType implements HDFType
|
||||
{
|
||||
|
||||
protected short field_1_itl;
|
||||
protected byte field_2_tlp_flags;
|
||||
private static BitField fBorders = new BitField( 0x0001 );
|
||||
private static BitField fShading = new BitField( 0x0002 );
|
||||
private static BitField fFont = new BitField( 0x0004 );
|
||||
private static BitField fColor = new BitField( 0x0008 );
|
||||
private static BitField fBestFit = new BitField( 0x0010 );
|
||||
private static BitField fHdrRows = new BitField( 0x0020 );
|
||||
private static BitField fLastRow = new BitField( 0x0040 );
|
||||
|
||||
public TLPAbstractType()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void fillFields( byte[] data, int offset )
|
||||
{
|
||||
field_1_itl = LittleEndian.getShort( data, 0x0 + offset );
|
||||
field_2_tlp_flags = data[0x2 + offset];
|
||||
}
|
||||
|
||||
public void serialize( byte[] data, int offset )
|
||||
{
|
||||
LittleEndian.putShort( data, 0x0 + offset, field_1_itl );
|
||||
data[0x2 + offset] = field_2_tlp_flags;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
|
||||
buffer.append( "[TLP]\n" );
|
||||
|
||||
buffer.append( " .itl = " );
|
||||
buffer.append( " (" ).append( getItl() ).append( " )\n" );
|
||||
|
||||
buffer.append( " .tlp_flags = " );
|
||||
buffer.append( " (" ).append( getTlp_flags() ).append( " )\n" );
|
||||
buffer.append( " .fBorders = " )
|
||||
.append( isFBorders() ).append( '\n' );
|
||||
buffer.append( " .fShading = " )
|
||||
.append( isFShading() ).append( '\n' );
|
||||
buffer.append( " .fFont = " )
|
||||
.append( isFFont() ).append( '\n' );
|
||||
buffer.append( " .fColor = " )
|
||||
.append( isFColor() ).append( '\n' );
|
||||
buffer.append( " .fBestFit = " )
|
||||
.append( isFBestFit() ).append( '\n' );
|
||||
buffer.append( " .fHdrRows = " )
|
||||
.append( isFHdrRows() ).append( '\n' );
|
||||
buffer.append( " .fLastRow = " )
|
||||
.append( isFLastRow() ).append( '\n' );
|
||||
|
||||
buffer.append( "[/TLP]\n" );
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Size of record (exluding 4 byte header)
|
||||
*/
|
||||
public int getSize()
|
||||
{
|
||||
return 4 + +2 + 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the itl field for the TLP record.
|
||||
*/
|
||||
public short getItl()
|
||||
{
|
||||
return field_1_itl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the itl field for the TLP record.
|
||||
*/
|
||||
public void setItl( short field_1_itl )
|
||||
{
|
||||
this.field_1_itl = field_1_itl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the tlp_flags field for the TLP record.
|
||||
*/
|
||||
public byte getTlp_flags()
|
||||
{
|
||||
return field_2_tlp_flags;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the tlp_flags field for the TLP record.
|
||||
*/
|
||||
public void setTlp_flags( byte field_2_tlp_flags )
|
||||
{
|
||||
this.field_2_tlp_flags = field_2_tlp_flags;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fBorders field value. When == 1, use the border properties from
|
||||
* the selected table look
|
||||
*/
|
||||
public void setFBorders( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fBorders.setBoolean( field_2_tlp_flags,
|
||||
value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, use the border properties from the selected table look
|
||||
*
|
||||
* @return the fBorders field value.
|
||||
*/
|
||||
public boolean isFBorders()
|
||||
{
|
||||
return fBorders.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fShading field value. When == 1, use the shading properties from
|
||||
* the selected table look
|
||||
*/
|
||||
public void setFShading( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fShading.setBoolean( field_2_tlp_flags,
|
||||
value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, use the shading properties from the selected table look
|
||||
*
|
||||
* @return the fShading field value.
|
||||
*/
|
||||
public boolean isFShading()
|
||||
{
|
||||
return fShading.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fFont field value. When == 1, use the font from the selected
|
||||
* table look
|
||||
*/
|
||||
public void setFFont( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fFont.setBoolean( field_2_tlp_flags, value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, use the font from the selected table look
|
||||
*
|
||||
* @return the fFont field value.
|
||||
*/
|
||||
public boolean isFFont()
|
||||
{
|
||||
return fFont.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fColor field value. When == 1, use the color from the selected
|
||||
* table look
|
||||
*/
|
||||
public void setFColor( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fColor.setBoolean( field_2_tlp_flags, value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, use the color from the selected table look
|
||||
*
|
||||
* @return the fColor field value.
|
||||
*/
|
||||
public boolean isFColor()
|
||||
{
|
||||
return fColor.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fBestFit field value. When == 1, do best fit from the selected
|
||||
* table look
|
||||
*/
|
||||
public void setFBestFit( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fBestFit.setBoolean( field_2_tlp_flags,
|
||||
value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, do best fit from the selected table look
|
||||
*
|
||||
* @return the fBestFit field value.
|
||||
*/
|
||||
public boolean isFBestFit()
|
||||
{
|
||||
return fBestFit.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fHdrRows field value. When == 1, apply properties from the
|
||||
* selected table look to the header rows in the table
|
||||
*/
|
||||
public void setFHdrRows( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fHdrRows.setBoolean( field_2_tlp_flags,
|
||||
value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, apply properties from the selected table look to the header
|
||||
* rows in the table
|
||||
*
|
||||
* @return the fHdrRows field value.
|
||||
*/
|
||||
public boolean isFHdrRows()
|
||||
{
|
||||
return fHdrRows.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fLastRow field value. When == 1, apply properties from the
|
||||
* selected table look to the last row in the table
|
||||
*/
|
||||
public void setFLastRow( boolean value )
|
||||
{
|
||||
field_2_tlp_flags = (byte) fLastRow.setBoolean( field_2_tlp_flags,
|
||||
value );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* When == 1, apply properties from the selected table look to the last row
|
||||
* in the table
|
||||
*
|
||||
* @return the fLastRow field value.
|
||||
*/
|
||||
public boolean isFLastRow()
|
||||
{
|
||||
return fLastRow.isSet( field_2_tlp_flags );
|
||||
|
||||
}
|
||||
|
||||
} // END OF CLASS
|
||||
|
|
@ -17,14 +17,15 @@
|
|||
|
||||
package org.apache.poi.hwpf.sprm;
|
||||
|
||||
import org.apache.poi.hwpf.usermodel.TableProperties;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.hwpf.usermodel.TableCellDescriptor;
|
||||
import org.apache.poi.hwpf.usermodel.BorderCode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.apache.poi.hwpf.usermodel.BorderCode;
|
||||
import org.apache.poi.hwpf.usermodel.TableAutoformatLookSpecifier;
|
||||
import org.apache.poi.hwpf.usermodel.TableCellDescriptor;
|
||||
import org.apache.poi.hwpf.usermodel.TableProperties;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
|
||||
public final class TableSprmCompressor
|
||||
{
|
||||
public TableSprmCompressor()
|
||||
|
@ -99,10 +100,13 @@ public final class TableSprmCompressor
|
|||
// }
|
||||
// size += SprmUtils.addSpecialSprm((short)0xD609, buf, sprmList);
|
||||
}
|
||||
if (newTAP.getTlp() != 0)
|
||||
{
|
||||
size += SprmUtils.addSprm((short)0x740a, newTAP.getTlp(), null, sprmList);
|
||||
}
|
||||
|
||||
if ( newTAP.getTlp() != null )
|
||||
{
|
||||
byte[] buf = new byte[TableAutoformatLookSpecifier.SIZE];
|
||||
newTAP.getTlp().serialize( buf, 0 );
|
||||
size += SprmUtils.addSprm( (short) 0x740a, 0, buf, sprmList );
|
||||
}
|
||||
|
||||
return SprmUtils.getGrpprl(sprmList, size);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package org.apache.poi.hwpf.usermodel;
|
||||
|
||||
import org.apache.poi.hwpf.model.types.TLPAbstractType;
|
||||
|
||||
public class TableAutoformatLookSpecifier extends TLPAbstractType
|
||||
{
|
||||
public static final int SIZE = 4;
|
||||
|
||||
public TableAutoformatLookSpecifier()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
public TableAutoformatLookSpecifier( byte[] data, int offset )
|
||||
{
|
||||
super();
|
||||
fillFields( data, offset );
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableAutoformatLookSpecifier clone()
|
||||
throws CloneNotSupportedException
|
||||
{
|
||||
return (TableAutoformatLookSpecifier) super.clone();
|
||||
}
|
||||
}
|
|
@ -19,59 +19,80 @@ package org.apache.poi.hwpf.usermodel;
|
|||
|
||||
import org.apache.poi.hwpf.model.types.TAPAbstractType;
|
||||
|
||||
public final class TableProperties
|
||||
extends TAPAbstractType
|
||||
implements Cloneable
|
||||
public final class TableProperties extends TAPAbstractType implements Cloneable
|
||||
{
|
||||
|
||||
public TableProperties()
|
||||
{
|
||||
public TableProperties()
|
||||
{
|
||||
|
||||
}
|
||||
public TableProperties(int columns)
|
||||
{
|
||||
field_7_itcMac = (short)columns;
|
||||
field_10_rgshd = new ShadingDescriptor[columns];
|
||||
for (int x = 0; x < columns; x++)
|
||||
{
|
||||
field_10_rgshd[x] = new ShadingDescriptor();
|
||||
}
|
||||
field_11_brcBottom = new BorderCode();
|
||||
field_12_brcTop = new BorderCode();
|
||||
field_13_brcLeft = new BorderCode();
|
||||
field_14_brcRight = new BorderCode();
|
||||
field_15_brcVertical = new BorderCode();
|
||||
field_16_brcHorizontal = new BorderCode();
|
||||
field_8_rgdxaCenter = new short[columns];
|
||||
field_9_rgtc = new TableCellDescriptor[columns];
|
||||
for (int x = 0; x < columns; x++)
|
||||
{
|
||||
field_9_rgtc[x] = new TableCellDescriptor();
|
||||
}
|
||||
}
|
||||
|
||||
public Object clone()
|
||||
throws CloneNotSupportedException
|
||||
{
|
||||
TableProperties tap = (TableProperties)super.clone();
|
||||
tap.field_10_rgshd = new ShadingDescriptor[field_10_rgshd.length];
|
||||
for (int x = 0; x < field_10_rgshd.length; x++)
|
||||
public TableProperties( short columns )
|
||||
{
|
||||
tap.field_10_rgshd[x] = (ShadingDescriptor)field_10_rgshd[x].clone();
|
||||
setTlp( new TableAutoformatLookSpecifier() );
|
||||
setItcMac( columns );
|
||||
setRgshd( new ShadingDescriptor[columns] );
|
||||
|
||||
for ( int x = 0; x < columns; x++ )
|
||||
{
|
||||
getRgshd()[x] = new ShadingDescriptor();
|
||||
}
|
||||
|
||||
setBrcBottom( new BorderCode() );
|
||||
setBrcHorizontal( new BorderCode() );
|
||||
setBrcLeft( new BorderCode() );
|
||||
setBrcRight( new BorderCode() );
|
||||
setBrcTop( new BorderCode() );
|
||||
setBrcVertical( new BorderCode() );
|
||||
|
||||
setRgbrcInsideDefault_0( new BorderCode() );
|
||||
setRgbrcInsideDefault_1( new BorderCode() );
|
||||
|
||||
TableCellDescriptor[] tableCellDescriptors = new TableCellDescriptor[columns];
|
||||
for ( int x = 0; x < columns; x++ )
|
||||
{
|
||||
tableCellDescriptors[x] = new TableCellDescriptor();
|
||||
}
|
||||
setRgtc( tableCellDescriptors );
|
||||
|
||||
setRgdxaCenter( new short[columns] );
|
||||
setRgdxaCenterPrint( new short[columns] );
|
||||
}
|
||||
tap.field_11_brcBottom = (BorderCode)field_11_brcBottom.clone();
|
||||
tap.field_12_brcTop = (BorderCode)field_12_brcTop.clone();
|
||||
tap.field_13_brcLeft = (BorderCode)field_13_brcLeft.clone();
|
||||
tap.field_14_brcRight = (BorderCode)field_14_brcRight.clone();
|
||||
tap.field_15_brcVertical = (BorderCode)field_15_brcVertical.clone();
|
||||
tap.field_16_brcHorizontal = (BorderCode)field_16_brcHorizontal.clone();
|
||||
tap.field_8_rgdxaCenter = field_8_rgdxaCenter.clone();
|
||||
tap.field_9_rgtc = new TableCellDescriptor[field_9_rgtc.length];
|
||||
for (int x = 0; x < field_9_rgtc.length; x++)
|
||||
|
||||
public Object clone() throws CloneNotSupportedException
|
||||
{
|
||||
tap.field_9_rgtc[x] = (TableCellDescriptor)field_9_rgtc[x].clone();
|
||||
TableProperties tap = (TableProperties) super.clone();
|
||||
|
||||
tap.setTlp( getTlp().clone() );
|
||||
tap.setRgshd( new ShadingDescriptor[getRgshd().length] );
|
||||
for ( int x = 0; x < getRgshd().length; x++ )
|
||||
{
|
||||
tap.getRgshd()[x] = (ShadingDescriptor) getRgshd()[x].clone();
|
||||
}
|
||||
|
||||
tap.setBrcBottom( (BorderCode) getBrcBottom().clone() );
|
||||
tap.setBrcHorizontal( (BorderCode) getBrcHorizontal().clone() );
|
||||
tap.setBrcLeft( (BorderCode) getBrcLeft().clone() );
|
||||
tap.setBrcRight( (BorderCode) getBrcRight().clone() );
|
||||
tap.setBrcTop( (BorderCode) getBrcTop().clone() );
|
||||
tap.setBrcVertical( (BorderCode) getBrcVertical().clone() );
|
||||
|
||||
tap.setShdTable( (ShadingDescriptor) getShdTable().clone() );
|
||||
|
||||
tap.setRgbrcInsideDefault_0( (BorderCode) getRgbrcInsideDefault_0()
|
||||
.clone() );
|
||||
tap.setRgbrcInsideDefault_1( (BorderCode) getRgbrcInsideDefault_1()
|
||||
.clone() );
|
||||
|
||||
tap.setRgdxaCenter( getRgdxaCenter().clone() );
|
||||
tap.setRgdxaCenterPrint( getRgdxaCenterPrint().clone() );
|
||||
|
||||
tap.setRgtc( new TableCellDescriptor[getRgtc().length] );
|
||||
for ( int x = 0; x < getRgtc().length; x++ )
|
||||
{
|
||||
tap.getRgtc()[x] = (TableCellDescriptor) getRgtc()[x].clone();
|
||||
}
|
||||
return tap;
|
||||
}
|
||||
return tap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public final class TableRow
|
|||
|
||||
public void setRowJustification(int jc)
|
||||
{
|
||||
_tprops.setJc(jc);
|
||||
_tprops.setJc((short) jc);
|
||||
_papx.updateSprm(SPRM_TJC, (short)jc);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
|
||||
package org.apache.poi.hwpf.usermodel;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.apache.poi.EncryptedDocumentException;
|
||||
|
@ -30,9 +33,6 @@ import org.apache.poi.hwpf.extractor.WordExtractor;
|
|||
import org.apache.poi.hwpf.model.StyleSheet;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Test various problem documents
|
||||
*
|
||||
|
@ -605,7 +605,7 @@ public final class TestProblems extends HWPFTestCase {
|
|||
HWPFDocument doc = HWPFTestDataSamples.openSampleFile("empty.doc");
|
||||
|
||||
Range range = doc.getRange();
|
||||
Table table = range.insertBefore(new TableProperties(columns), rows);
|
||||
Table table = range.insertBefore(new TableProperties((short) columns), rows);
|
||||
|
||||
for (int rowIdx = 0; rowIdx < table.numRows(); rowIdx++) {
|
||||
TableRow row = table.getRow(rowIdx);
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
<author>S. Ryan Ackley</author>
|
||||
<fields>
|
||||
<!-- page 198 -->
|
||||
<field type="int" size="4" name="istd" description="Table style for the Table"/>
|
||||
<field type="int" size="2" name="jc"
|
||||
<field type="short" size="2" name="istd" description="Table style for the Table"/>
|
||||
<field type="short" size="2" name="jc"
|
||||
description="Justification code. specifies how table row should be justified within its column. 0 -- left justify, 1 -- center, 2 -- right justify"/>
|
||||
<field type="int" size="4" name="dxaGapHalf"
|
||||
description="Measures half of the white space that will be maintained between text in adjacent columns of a table row. A dxaGapHalf width of white space will be maintained on both sides of a column boundary."/>
|
||||
|
@ -39,7 +39,8 @@
|
|||
description="When 1, table row may not be split across page bounds. Used for Word 2000 and Word 97."/>
|
||||
<field type="boolean" size="0" name="fTableHeader"
|
||||
description="When 1, table row is to be used as the header of the table"/>
|
||||
<field type="int" size="4" name="tlp" description="Table look specifier (see TLP definition)"/>
|
||||
|
||||
<field type="TableAutoformatLookSpecifier" size="4" name="tlp" description="Table look specifier"/>
|
||||
|
||||
<field type="short" size="2" name="wWidth" description="Preferred table width"/>
|
||||
<field type="short" size="2" name="wWidthIndent" description="Left Indent"/>
|
||||
|
@ -116,7 +117,7 @@
|
|||
<field type="int" size="4" name="dxaRTEWrapWidth" description="Used internally by Word"/>
|
||||
<field type="int" size="4" name="dxaColWidthWwd" description="Used internally by Word"/>
|
||||
|
||||
<field type="int" size="2" name="pctWwd"
|
||||
<field type="short" size="2" name="pctWwd"
|
||||
description="Used internally by Word: percent of Window size for AutoFit in WebView"/>
|
||||
|
||||
<field type="int" size="2" name="viewFlags" description="Used internally by Word">
|
||||
|
@ -131,6 +132,12 @@
|
|||
<bit number="6" mask="0xffe0" name="viewFlags_unused2" description="Not used"/>
|
||||
</field>
|
||||
|
||||
<field type="short[]" size="130" name="rgdxaCenter"
|
||||
description="rgdxaCenter[0] is the left boundary of cell 0 measured relative to margin rgdxaCenter[tap.itcMac - 1] is left boundary of last cell rgdxaCenter[tap.itcMac] is right boundary of last cell."/>
|
||||
<field type="short[]" size="130" name="rgdxaCenterPrint" description="Used internally by Word"/>
|
||||
|
||||
<field type="ShadingDescriptor" size="10" name="shdTable" description="Table shading"/>
|
||||
|
||||
<!-- rgbrcTable[ibrcTableMax]; Array of borders; ibrcTableMax==6 -->
|
||||
<field type="BorderCode" size="4" name="brcBottom"/>
|
||||
<field type="BorderCode" size="4" name="brcTop"/>
|
||||
|
@ -141,10 +148,10 @@
|
|||
|
||||
<!-- mpibrcwCellPaddingDefault[cbrcTc]; Array of default cell margins. Index into the next four
|
||||
properties. -->
|
||||
<field type="int" size="2" name="wCellPaddingDefaultTop" description="Default top cell margin/padding"/>
|
||||
<field type="int" size="2" name="wCellPaddingDefaultLeft" description="Default left cell margin/padding"/>
|
||||
<field type="int" size="2" name="wCellPaddingDefaultBottom" description="Default bottom cell margin/padding"/>
|
||||
<field type="int" size="2" name="wCellPaddingDefaultRight" description="Default right cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingDefaultTop" description="Default top cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingDefaultLeft" description="Default left cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingDefaultBottom" description="Default bottom cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingDefaultRight" description="Default right cell margin/padding"/>
|
||||
|
||||
<!-- mpibrcftsCellPaddingDefault[cbrcTc]; Array of default cell margin units. Index into the
|
||||
next four properties -->
|
||||
|
@ -159,10 +166,10 @@
|
|||
|
||||
<!-- mpibrcwCellSpacingDefault[cbrcTc]; Array of default cell spacing. Index into the next four
|
||||
properties -->
|
||||
<field type="int" size="2" name="wCellSpacingDefaultTop" description="Default top cell spacings"/>
|
||||
<field type="int" size="2" name="wCellSpacingDefaultLeft" description="Default left cell spacings"/>
|
||||
<field type="int" size="2" name="wCellSpacingDefaultBottom" description="Default bottom cell spacings"/>
|
||||
<field type="int" size="2" name="wCellSpacingDefaultRight" description="Default right cell spacings"/>
|
||||
<field type="short" size="2" name="wCellSpacingDefaultTop" description="Default top cell spacings"/>
|
||||
<field type="short" size="2" name="wCellSpacingDefaultLeft" description="Default left cell spacings"/>
|
||||
<field type="short" size="2" name="wCellSpacingDefaultBottom" description="Default bottom cell spacings"/>
|
||||
<field type="short" size="2" name="wCellSpacingDefaultRight" description="Default right cell spacings"/>
|
||||
|
||||
<!-- mpibrcftsCellSpacingDefault[cbrcTc]; Array of default cell spacing units. Index into the
|
||||
next four properties -->
|
||||
|
@ -177,10 +184,10 @@
|
|||
|
||||
<!-- mpibrcwCellPaddingOuter[cbrcTc]; Array of default outer cell margins. Index into the next
|
||||
four properties. -->
|
||||
<field type="int" size="2" name="wCellPaddingOuterTop" description="Default outer top cell margin/padding"/>
|
||||
<field type="int" size="2" name="wCellPaddingOuterLeft" description="Default outer left cell margin/padding"/>
|
||||
<field type="int" size="2" name="wCellPaddingOuterBottom" description="Default outer bottom cell margin/padding"/>
|
||||
<field type="int" size="2" name="wCellPaddingOuterRight" description="Default outer right cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingOuterTop" description="Default outer top cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingOuterLeft" description="Default outer left cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingOuterBottom" description="Default outer bottom cell margin/padding"/>
|
||||
<field type="short" size="2" name="wCellPaddingOuterRight" description="Default outer right cell margin/padding"/>
|
||||
|
||||
<!-- mpibrcftsCellPaddingOuter[cbrcTc]; Array of default outer cell margin units. Index into
|
||||
the next four properties -->
|
||||
|
@ -195,10 +202,10 @@
|
|||
|
||||
<!-- mpibrcwCellSpacingOuter[cbrcTc]; Array of default outer cell spacing. Index into the next
|
||||
four properties. -->
|
||||
<field type="int" size="2" name="wCellSpacingOuterTop" description="Default outer top cell spacing"/>
|
||||
<field type="int" size="2" name="wCellSpacingOuterLeft" description="Default outer left cell spacing"/>
|
||||
<field type="int" size="2" name="wCellSpacingOuterBottom" description="Default outer bottom cell spacing"/>
|
||||
<field type="int" size="2" name="wCellSpacingOuterRight" description="Default outer right cell spacing"/>
|
||||
<field type="short" size="2" name="wCellSpacingOuterTop" description="Default outer top cell spacing"/>
|
||||
<field type="short" size="2" name="wCellSpacingOuterLeft" description="Default outer left cell spacing"/>
|
||||
<field type="short" size="2" name="wCellSpacingOuterBottom" description="Default outer bottom cell spacing"/>
|
||||
<field type="short" size="2" name="wCellSpacingOuterRight" description="Default outer right cell spacing"/>
|
||||
|
||||
<!-- mpibrcftsCellSpacingOuter[cbrcTc]; Array of default outer cell spacing units. Index into
|
||||
the next four properties. -->
|
||||
|
@ -224,9 +231,10 @@
|
|||
<!-- TODO: rsid -->
|
||||
<!-- TODO: tcDefault -->
|
||||
|
||||
<field type="int" size="1" name="cHorzBands"
|
||||
<field type="short" size="1" name="cHorzBands"
|
||||
description="Size of each horizontal style band, in number of rows"/>
|
||||
<field type="int" size="1" name="cVertBands" description="Size of a vertical style band, in number of columns"/>
|
||||
<field type="short" size="1" name="cVertBands"
|
||||
description="Size of a vertical style band, in number of columns"/>
|
||||
|
||||
<field type="BorderCode" size="8" name="rgbrcInsideDefault_0"
|
||||
description="Border definition for inside horizontal borders"/>
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
====================================================================
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
====================================================================
|
||||
-->
|
||||
<record fromfile="true" name="TLP" package="org.apache.poi.hwpf.model.types">
|
||||
<suffix>AbstractType</suffix>
|
||||
<extends>HDFType</extends>
|
||||
<description>Table Autoformat Look sPecifier (TLP). <p>Class and fields descriptions are
|
||||
quoted from Microsoft Office Word 97-2007 Binary File Format
|
||||
</description>
|
||||
<author>Sergey Vladimirov; according to Microsoft Office Word 97-2007 Binary File Format
|
||||
Specification [*.doc]
|
||||
</author>
|
||||
<fields>
|
||||
<field type="short" size="2" name="itl"
|
||||
description="Index to Word‘s table of table looks (see itl table below)"/>
|
||||
<field type="byte" size="1" name="tlp_flags">
|
||||
<bit number="0" mask="0x0001" name="fBorders"
|
||||
description="When == 1, use the border properties from the selected table look"/>
|
||||
<bit number="1" mask="0x0002" name="fShading"
|
||||
description="When == 1, use the shading properties from the selected table look"/>
|
||||
<bit number="2" mask="0x0004" name="fFont"
|
||||
description="When == 1, use the font from the selected table look"/>
|
||||
<bit number="3" mask="0x0008" name="fColor"
|
||||
description="When == 1, use the color from the selected table look"/>
|
||||
<bit number="4" mask="0x0010" name="fBestFit"
|
||||
description="When == 1, do best fit from the selected table look"/>
|
||||
<bit number="5" mask="0x0020" name="fHdrRows"
|
||||
description="When == 1, apply properties from the selected table look to the header rows in the table"/>
|
||||
<bit number="6" mask="0x0040" name="fLastRow"
|
||||
description="When == 1, apply properties from the selected table look to the last row in the table"/>
|
||||
</field>
|
||||
</fields>
|
||||
</record>
|
Loading…
Reference in New Issue