sackley 2004/03/01 22:19:42
Modified: src/scratchpad/src/org/apache/poi/hwpf/usermodel
CharacterProperties.java CharacterRun.java
LineSpacingDescriptor.java Paragraph.java
ParagraphProperties.java Section.java
SectionProperties.java ShadingDescriptor.java
TableCellDescriptor.java TableProperties.java
Removed: src/scratchpad/src/org/apache/poi/hwpf/usermodel
CharacterRange.java ParagraphRange.java
SectionRange.java
Log:
latest changes
Revision Changes Path
1.5 +67 -130
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterProperties.java
Index: CharacterProperties.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterProperties.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CharacterProperties.java 13 Nov 2003 03:28:33 -0000 1.4
+++ CharacterProperties.java 2 Mar 2004 06:19:41 -0000 1.5
@@ -54,8 +54,8 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.CHPAbstractType;
-import org.apache.poi.hwpf.model.hdftypes.StyleDescription;
+import org.apache.poi.hwpf.model.types.CHPAbstractType;
+import org.apache.poi.hwpf.model.StyleDescription;
import org.apache.poi.hwpf.sprm.SprmBuffer;
@@ -113,7 +113,6 @@
public final static short SPRM_FELID = 0x486E;
public final static short SPRM_IDCTHINT = 0x286F;
- SprmBuffer _chpx;
public CharacterProperties()
{
@@ -139,12 +138,7 @@
public void markDeleted(boolean mark)
{
- if (_chpx != null && mark != isFRMarkDel())
- {
- byte newVal = (byte)(mark ? 1 : 0);
- _chpx.addSprm(SPRM_FRMARKDEL, newVal);
- super.setFRMarkDel(mark);
- }
+ super.setFRMarkDel(mark);
}
public boolean isBold()
@@ -154,12 +148,7 @@
public void setBold(boolean bold)
{
- if (_chpx != null && bold != isFBold())
- {
- byte newVal = (byte)(bold ? 1 : 0);
- _chpx.addSprm(SPRM_FBOLD, newVal);
- super.setFBold(bold);
- }
+ super.setFBold(bold);
}
public boolean isItalic()
@@ -169,12 +158,7 @@
public void setItalic(boolean italic)
{
- if (_chpx != null && italic != isFItalic())
- {
- byte newVal = (byte)(italic ? 1 : 0);
- _chpx.addSprm(SPRM_FITALIC, newVal);
- super.setFItalic(italic);
- }
+ super.setFItalic(italic);
}
public boolean isOutlined()
@@ -184,13 +168,7 @@
public void setOutline(boolean outlined)
{
- if (_chpx != null && outlined != isFOutline())
- {
- byte newVal = (byte)(outlined ? 1 : 0);
- _chpx.addSprm(SPRM_FOUTLINE, newVal);
- super.setFOutline(outlined);
- }
-
+ super.setFOutline(outlined);
}
public boolean isFldVanished()
@@ -200,14 +178,9 @@
public void setFldVanish(boolean fldVanish)
{
- if (_chpx != null && fldVanish != isFFldVanish())
- {
- byte newVal = (byte)(fldVanish ? 1 : 0);
- _chpx.addSprm(SPRM_FFLDVANISH, newVal);
- super.setFFldVanish(fldVanish);
- }
-
+ super.setFFldVanish(fldVanish);
}
+
public boolean isSmallCaps()
{
return isFSmallCaps();
@@ -215,13 +188,9 @@
public void setSmallCaps(boolean smallCaps)
{
- if (_chpx != null && smallCaps != isFSmallCaps())
- {
- byte newVal = (byte)(smallCaps ? 1 : 0);
- _chpx.addSprm(SPRM_FSMALLCAPS, newVal);
- super.setFSmallCaps(smallCaps);
- }
+ super.setFSmallCaps(smallCaps);
}
+
public boolean isCapitalized()
{
return isFCaps();
@@ -229,12 +198,7 @@
public void setCapitalized(boolean caps)
{
- if (_chpx != null && caps != isFCaps())
- {
- byte newVal = (byte)(caps ? 1 : 0);
- _chpx.addSprm(SPRM_FCAPS, newVal);
- super.setFCaps(caps);
- }
+ super.setFCaps(caps);
}
public boolean isVanished()
@@ -244,12 +208,7 @@
public void setVanished(boolean vanish)
{
- if (_chpx != null && vanish != isFVanish())
- {
- byte newVal = (byte)(vanish ? 1 : 0);
- _chpx.addSprm(SPRM_FVANISH, newVal);
- super.setFVanish(vanish);
- }
+ super.setFVanish(vanish);
}
public boolean isMarkedInserted()
@@ -259,12 +218,7 @@
public void markInserted(boolean mark)
{
- if (_chpx != null && mark != isFRMark())
- {
- byte newVal = (byte)(mark ? 1 : 0);
- _chpx.addSprm(SPRM_FRMARK, newVal);
- super.setFRMark(mark);
- }
+ super.setFRMark(mark);
}
public boolean isStrikeThrough()
@@ -274,14 +228,9 @@
public void strikeThrough(boolean strike)
{
- if (_chpx != null && strike != isFStrike())
- {
- byte newVal = (byte)(strike ? 1 : 0);
- _chpx.addSprm(SPRM_FSTRIKE, newVal);
- super.setFStrike(strike);
- }
-
+ super.setFStrike(strike);
}
+
public boolean isShadowed()
{
return isFShadow();
@@ -289,12 +238,7 @@
public void setShadow(boolean shadow)
{
- if (_chpx != null && shadow != isFShadow())
- {
- byte newVal = (byte)(shadow ? 1 : 0);
- _chpx.addSprm(SPRM_FSHADOW, newVal);
- super.setFShadow(shadow);
- }
+ super.setFShadow(shadow);
}
@@ -305,13 +249,7 @@
public void setEmbossed(boolean emboss)
{
- if (_chpx != null && emboss != isFEmboss())
- {
- byte newVal = (byte)(emboss ? 1 : 0);
- _chpx.addSprm(SPRM_FEMBOSS, newVal);
- super.setFEmboss(emboss);
- }
-
+ super.setFEmboss(emboss);
}
public boolean isImprinted()
@@ -322,12 +260,6 @@
public void setImprinted(boolean imprint)
{
super.setFImprint(imprint);
- if (_chpx != null && imprint != isFImprint())
- {
- byte newVal = (byte)(imprint ? 1 : 0);
- _chpx.addSprm(SPRM_FIMPRINT, newVal);
- }
-
}
public boolean isDoubleStrikeThrough()
@@ -338,38 +270,6 @@
public void setDoubleStrikethrough(boolean dstrike)
{
super.setFDStrike(dstrike);
- if (_chpx != null && dstrike != isFDStrike())
- {
- byte newVal = (byte)(dstrike ? 1 : 0);
- _chpx.addSprm(SPRM_FDSTRIKE, newVal);
- }
- }
-
- public void setFtcAscii(int ftcAscii)
- {
- super.setFtcAscii(ftcAscii);
- if (_chpx != null && ftcAscii != getFtcAscii())
- {
- _chpx.addSprm(SPRM_RGFTCASCII, (short)ftcAscii);
- }
- }
-
- public void setFtcFE(int ftcFE)
- {
- super.setFtcFE(ftcFE);
- if (_chpx != null && ftcFE != getFtcFE())
- {
- _chpx.addSprm(SPRM_RGFTCFAREAST, (short)ftcFE);
- }
- }
-
- public void setFtcOther(int ftcOther)
- {
- super.setFtcOther(ftcOther);
- if (_chpx != null && ftcOther != getFtcOther())
- {
- _chpx.addSprm(SPRM_RGFTCNOTFAREAST, (short)ftcOther);
- }
}
public int getFontSize()
@@ -380,10 +280,6 @@
public void setFontSize(int halfPoints)
{
super.setHps(halfPoints);
- if (_chpx != null && halfPoints != getHps())
- {
- _chpx.addSprm(SPRM_HPS, (short)halfPoints);
- }
}
public int getCharacterSpacing()
@@ -393,11 +289,7 @@
public void setCharacterSpacing(int twips)
{
- super.setDxaSpace(twips);
- if (_chpx != null && twips != getDxaSpace())
- {
- _chpx.addSprm(SPRM_DXASPACE, twips);
- }
+ super.setDxaSpace(twips);
}
public short getSubSuperScriptIndex()
@@ -408,11 +300,56 @@
public void setSubSuperScriptIndex(short iss)
{
super.setDxaSpace(iss);
- if (_chpx != null && iss != getIss())
- {
- _chpx.addSprm(SPRM_DXASPACE, iss);
- }
+ }
+
+ public int getUnderlineCode()
+ {
+ return super.getKul();
+ }
+
+ public void setUnderlineCode(int kul)
+ {
+ super.setKul((byte)kul);
+ }
+
+ public int getColor()
+ {
+ return super.getIco();
+ }
+
+ public void setColor(int color)
+ {
+ super.setIco((byte)color);
+ }
+
+ public int getVerticalOffset()
+ {
+ return super.getHpsPos();
+ }
+ public void setVerticalOffset(int hpsPos)
+ {
+ super.setHpsPos(hpsPos);
+ }
+
+ public int getKerning()
+ {
+ return super.getHpsKern();
+ }
+
+ public void setKerning(int kern)
+ {
+ super.setHpsKern(kern);
+ }
+
+ public boolean isHighlighted()
+ {
+ return super.isFHighlight();
+ }
+
+ public void setHighlighted(byte color)
+ {
+ super.setIcoHighlight(color);
}
1.3 +188 -155
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterRun.java
Index: CharacterRun.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/CharacterRun.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CharacterRun.java 13 Nov 2003 03:28:33 -0000 1.2
+++ CharacterRun.java 2 Mar 2004 06:19:41 -0000 1.3
@@ -54,13 +54,17 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.CHPAbstractType;
-import org.apache.poi.hwpf.model.hdftypes.StyleDescription;
+import org.apache.poi.hwpf.model.types.CHPAbstractType;
+import org.apache.poi.hwpf.model.StyleDescription;
+import org.apache.poi.hwpf.model.CHPX;
+import org.apache.poi.hwpf.model.StyleSheet;
import org.apache.poi.hwpf.sprm.SprmBuffer;
+import org.apache.poi.hwpf.sprm.CharacterSprmCompressor;
public class CharacterRun
- extends CHPAbstractType implements Cloneable
+ extends Range
+ implements Cloneable
{
public final static short SPRM_FRMARKDEL = (short)0x0800;
public final static short SPRM_FRMARK = 0x0801;
@@ -114,321 +118,350 @@
public final static short SPRM_IDCTHINT = 0x286F;
SprmBuffer _chpx;
+ CharacterProperties _props;
- public CharacterRun()
+ CharacterRun(CHPX chpx, StyleSheet ss, short istd, Range parent)
{
- field_17_fcPic = -1;
- field_22_dttmRMark = new DateAndTime();
- field_23_dttmRMarkDel = new DateAndTime();
- field_36_dttmPropRMark = new DateAndTime();
- field_40_dttmDispFldRMark = new DateAndTime();
- field_41_xstDispFldRMark = new byte[36];
- field_42_shd = new ShadingDescriptor();
- field_43_brc = new BorderCode();
- field_7_hps = 20;
- field_24_istd = 10;
- field_16_wCharScale = 100;
- field_13_lidDefault = 0x0400;
- field_14_lidFE = 0x0400;
+ super(chpx.getStart(), chpx.getEnd(), parent);
+ _props = chpx.getCharacterProperties(ss, istd);
+ _chpx = chpx.getSprmBuf();
}
+// SprmBuffer initProperties(CharacterProperties baseStyle)
+// {
+// byte[] grpprl = CharacterSprmCompressor.compressCharacterProperty(_props,
baseStyle);
+// _chpx = new SprmBuffer(grpprl);
+// return _chpx;
+// }
+
public boolean isMarkedDeleted()
{
- return isFRMarkDel();
+ return _props.isFRMarkDel();
}
public void markDeleted(boolean mark)
{
- super.setFRMarkDel(mark);
- if (_chpx != null && mark != isFRMarkDel())
- {
- byte newVal = (byte)(mark ? 1 : 0);
- _chpx.addSprm(SPRM_FRMARKDEL, newVal);
- }
+ _props.setFRMarkDel(mark);
+
+ byte newVal = (byte)(mark ? 1 : 0);
+ _chpx.addSprm(SPRM_FRMARKDEL, newVal);
+
}
public boolean isBold()
{
- return isFBold();
+ return _props.isFBold();
}
public void setBold(boolean bold)
{
- super.setFBold(bold);
- if (_chpx != null && bold != isFBold())
- {
- byte newVal = (byte)(bold ? 1 : 0);
- _chpx.addSprm(SPRM_FBOLD, newVal);
- }
+ _props.setFBold(bold);
+
+ byte newVal = (byte)(bold ? 1 : 0);
+ _chpx.addSprm(SPRM_FBOLD, newVal);
+
}
public boolean isItalic()
{
- return isFItalic();
+ return _props.isFItalic();
}
public void setItalic(boolean italic)
{
- super.setFItalic(italic);
- if (_chpx != null && italic != isFItalic())
- {
- byte newVal = (byte)(italic ? 1 : 0);
- _chpx.addSprm(SPRM_FITALIC, newVal);
- }
+ _props.setFItalic(italic);
+
+ byte newVal = (byte)(italic ? 1 : 0);
+ _chpx.addSprm(SPRM_FITALIC, newVal);
+
}
public boolean isOutlined()
{
- return isFOutline();
+ return _props.isFOutline();
}
public void setOutline(boolean outlined)
{
- super.setFOutline(outlined);
- if (_chpx != null && outlined != isFOutline())
- {
- byte newVal = (byte)(outlined ? 1 : 0);
- _chpx.addSprm(SPRM_FOUTLINE, newVal);
- }
+ _props.setFOutline(outlined);
+
+ byte newVal = (byte)(outlined ? 1 : 0);
+ _chpx.addSprm(SPRM_FOUTLINE, newVal);
}
public boolean isFldVanished()
{
- return isFFldVanish();
+ return _props.isFFldVanish();
}
public void setFldVanish(boolean fldVanish)
{
- super.setFFldVanish(fldVanish);
- if (_chpx != null && fldVanish != isFFldVanish())
- {
- byte newVal = (byte)(fldVanish ? 1 : 0);
- _chpx.addSprm(SPRM_FFLDVANISH, newVal);
- }
+ _props.setFFldVanish(fldVanish);
+
+ byte newVal = (byte)(fldVanish ? 1 : 0);
+ _chpx.addSprm(SPRM_FFLDVANISH, newVal);
}
+
public boolean isSmallCaps()
{
- return isFSmallCaps();
+ return _props.isFSmallCaps();
}
public void setSmallCaps(boolean smallCaps)
{
- super.setFSmallCaps(smallCaps);
- if (_chpx != null && smallCaps != isFSmallCaps())
- {
- byte newVal = (byte)(smallCaps ? 1 : 0);
- _chpx.addSprm(SPRM_FSMALLCAPS, newVal);
- }
+ _props.setFSmallCaps(smallCaps);
+
+ byte newVal = (byte)(smallCaps ? 1 : 0);
+ _chpx.addSprm(SPRM_FSMALLCAPS, newVal);
+
}
+
public boolean isCapitalized()
{
- return isFCaps();
+ return _props.isFCaps();
}
public void setCapitalized(boolean caps)
{
- super.setFCaps(caps);
- if (_chpx != null && caps != isFCaps())
- {
- byte newVal = (byte)(caps ? 1 : 0);
- _chpx.addSprm(SPRM_FCAPS, newVal);
- }
+ _props.setFCaps(caps);
+
+ byte newVal = (byte)(caps ? 1 : 0);
+ _chpx.addSprm(SPRM_FCAPS, newVal);
+
}
public boolean isVanished()
{
- return isFVanish();
+ return _props.isFVanish();
}
public void setVanished(boolean vanish)
{
- super.setFVanish(vanish);
- if (_chpx != null && vanish != isFVanish())
- {
- byte newVal = (byte)(vanish ? 1 : 0);
- _chpx.addSprm(SPRM_FVANISH, newVal);
- }
+ _props.setFVanish(vanish);
+
+ byte newVal = (byte)(vanish ? 1 : 0);
+ _chpx.addSprm(SPRM_FVANISH, newVal);
}
+
public boolean isMarkedInserted()
{
- return isFRMark();
+ return _props.isFRMark();
}
public void markInserted(boolean mark)
{
- super.setFRMark(mark);
- if (_chpx != null && mark != isFRMark())
- {
- byte newVal = (byte)(mark ? 1 : 0);
- _chpx.addSprm(SPRM_FRMARK, newVal);
- }
+ _props.setFRMark(mark);
+
+ byte newVal = (byte)(mark ? 1 : 0);
+ _chpx.addSprm(SPRM_FRMARK, newVal);
+
}
public boolean isStrikeThrough()
{
- return isFStrike();
+ return _props.isFStrike();
}
public void strikeThrough(boolean strike)
{
- super.setFStrike(strike);
- if (_chpx != null && strike != isFStrike())
- {
- byte newVal = (byte)(strike ? 1 : 0);
- _chpx.addSprm(SPRM_FSTRIKE, newVal);
- }
+ _props.setFStrike(strike);
+
+ byte newVal = (byte)(strike ? 1 : 0);
+ _chpx.addSprm(SPRM_FSTRIKE, newVal);
}
+
public boolean isShadowed()
{
- return isFShadow();
+ return _props.isFShadow();
}
public void setShadow(boolean shadow)
{
- super.setFShadow(shadow);
- if (_chpx != null && shadow != isFShadow())
- {
- byte newVal = (byte)(shadow ? 1 : 0);
- _chpx.addSprm(SPRM_FSHADOW, newVal);
- }
+ _props.setFShadow(shadow);
+
+ byte newVal = (byte)(shadow ? 1 : 0);
+ _chpx.addSprm(SPRM_FSHADOW, newVal);
}
public boolean isEmbossed()
{
- return isFEmboss();
+ return _props.isFEmboss();
}
public void setEmbossed(boolean emboss)
{
- super.setFEmboss(emboss);
- if (_chpx != null && emboss != isFEmboss())
- {
- byte newVal = (byte)(emboss ? 1 : 0);
- _chpx.addSprm(SPRM_FEMBOSS, newVal);
- }
+ _props.setFEmboss(emboss);
+
+ byte newVal = (byte)(emboss ? 1 : 0);
+ _chpx.addSprm(SPRM_FEMBOSS, newVal);
}
public boolean isImprinted()
{
- return isFImprint();
+ return _props.isFImprint();
}
public void setImprinted(boolean imprint)
{
- super.setFImprint(imprint);
- if (_chpx != null && imprint != isFImprint())
- {
- byte newVal = (byte)(imprint ? 1 : 0);
- _chpx.addSprm(SPRM_FIMPRINT, newVal);
- }
+ _props.setFImprint(imprint);
+
+ byte newVal = (byte)(imprint ? 1 : 0);
+ _chpx.addSprm(SPRM_FIMPRINT, newVal);
}
public boolean isDoubleStrikeThrough()
{
- return isFDStrike();
+ return _props.isFDStrike();
}
public void setDoubleStrikethrough(boolean dstrike)
{
- super.setFDStrike(dstrike);
- if (_chpx != null && dstrike != isFDStrike())
- {
- byte newVal = (byte)(dstrike ? 1 : 0);
- _chpx.addSprm(SPRM_FDSTRIKE, newVal);
- }
+ _props.setFDStrike(dstrike);
+
+ byte newVal = (byte)(dstrike ? 1 : 0);
+ _chpx.addSprm(SPRM_FDSTRIKE, newVal);
+
}
public void setFtcAscii(int ftcAscii)
{
- super.setFtcAscii(ftcAscii);
- if (_chpx != null && ftcAscii != getFtcAscii())
- {
- _chpx.addSprm(SPRM_RGFTCASCII, (short)ftcAscii);
- }
+ _props.setFtcAscii(ftcAscii);
+
+ _chpx.addSprm(SPRM_RGFTCASCII, (short)ftcAscii);
+
}
public void setFtcFE(int ftcFE)
{
- super.setFtcFE(ftcFE);
- if (_chpx != null && ftcFE != getFtcFE())
- {
- _chpx.addSprm(SPRM_RGFTCFAREAST, (short)ftcFE);
- }
+ _props.setFtcFE(ftcFE);
+
+ _chpx.addSprm(SPRM_RGFTCFAREAST, (short)ftcFE);
+
}
public void setFtcOther(int ftcOther)
{
- super.setFtcOther(ftcOther);
- if (_chpx != null && ftcOther != getFtcOther())
- {
- _chpx.addSprm(SPRM_RGFTCNOTFAREAST, (short)ftcOther);
- }
+ _props.setFtcOther(ftcOther);
+
+ _chpx.addSprm(SPRM_RGFTCNOTFAREAST, (short)ftcOther);
+
}
public int getFontSize()
{
- return getHps();
+ return _props.getHps();
}
public void setFontSize(int halfPoints)
{
- super.setHps(halfPoints);
- if (_chpx != null && halfPoints != getHps())
- {
- _chpx.addSprm(SPRM_HPS, (short)halfPoints);
- }
+ _props.setHps(halfPoints);
+
+ _chpx.addSprm(SPRM_HPS, (short)halfPoints);
+
}
public int getCharacterSpacing()
{
- return getDxaSpace();
+ return _props.getDxaSpace();
}
public void setCharacterSpacing(int twips)
{
- super.setDxaSpace(twips);
- if (_chpx != null && twips != getDxaSpace())
- {
- _chpx.addSprm(SPRM_DXASPACE, twips);
- }
+ _props.setDxaSpace(twips);
+
+ _chpx.addSprm(SPRM_DXASPACE, twips);
+
}
public short getSubSuperScriptIndex()
{
- return getIss();
+ return _props.getIss();
}
public void setSubSuperScriptIndex(short iss)
{
- super.setDxaSpace(iss);
- if (_chpx != null && iss != getIss())
- {
- _chpx.addSprm(SPRM_DXASPACE, iss);
- }
+ _props.setDxaSpace(iss);
+
+ _chpx.addSprm(SPRM_DXASPACE, iss);
+
+ }
+ public int getUnderlineCode()
+ {
+ return _props.getKul();
+ }
+
+ public void setUnderlineCode(int kul)
+ {
+ _props.setKul((byte)kul);
+ _chpx.addSprm(SPRM_KUL, (byte)kul);
}
+ public int getColor()
+ {
+ return _props.getIco();
+ }
+
+ public void setColor(int color)
+ {
+ _props.setIco((byte)color);
+ _chpx.addSprm(SPRM_ICO, (byte)color);
+ }
+
+ public int getVerticalOffset()
+ {
+ return _props.getHpsPos();
+ }
+
+ public void setVerticalOffset(int hpsPos)
+ {
+ _props.setHpsPos(hpsPos);
+ _chpx.addSprm(SPRM_HPSPOS, (byte)hpsPos);
+ }
+
+ public int getKerning()
+ {
+ return _props.getHpsKern();
+ }
+
+ public void setKerning(int kern)
+ {
+ _props.setHpsKern(kern);
+ _chpx.addSprm(SPRM_HPSKERN, (short)kern);
+ }
+
+ public boolean isHighlighted()
+ {
+ return _props.isFHighlight();
+ }
+
+ public void setHighlighted(byte color)
+ {
+ _props.setFHighlight(true);
+ _props.setIcoHighlight(color);
+ _chpx.addSprm(SPRM_HIGHLIGHT, color);
+ }
public Object clone()
throws CloneNotSupportedException
{
CharacterRun cp = (CharacterRun)super.clone();
- cp.field_22_dttmRMark = (DateAndTime)field_22_dttmRMark.clone();
- cp.field_23_dttmRMarkDel = (DateAndTime)field_23_dttmRMarkDel.clone();
- cp.field_36_dttmPropRMark = (DateAndTime)field_36_dttmPropRMark.clone();
- cp.field_40_dttmDispFldRMark = (DateAndTime)field_40_dttmDispFldRMark.clone();
- cp.field_41_xstDispFldRMark = (byte[])field_41_xstDispFldRMark.clone();
- cp.field_42_shd = (ShadingDescriptor)field_42_shd.clone();
+ cp._props.setDttmRMark((DateAndTime)_props.getDttmRMark().clone());
+ cp._props.setDttmRMarkDel((DateAndTime)_props.getDttmRMarkDel().clone());
+ cp._props.setDttmPropRMark((DateAndTime)_props.getDttmPropRMark().clone());
+ cp._props.setDttmDispFldRMark((DateAndTime)_props.getDttmDispFldRMark().
+ clone());
+ cp._props.setXstDispFldRMark((byte[])_props.getXstDispFldRMark().clone());
+ cp._props.setShd((ShadingDescriptor)_props.getShd().clone());
return cp;
}
-
}
1.3 +7 -0
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/LineSpacingDescriptor.java
Index: LineSpacingDescriptor.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/LineSpacingDescriptor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LineSpacingDescriptor.java 11 Nov 2003 11:42:51 -0000 1.2
+++ LineSpacingDescriptor.java 2 Mar 2004 06:19:41 -0000 1.3
@@ -83,6 +83,13 @@
_fMultiLinespace = fMultiLinespace;
}
+ public int toInt()
+ {
+ byte[] intHolder = new byte[4];
+ serialize(intHolder, 0);
+ return LittleEndian.getInt(intHolder);
+ }
+
public void serialize(byte[] buf, int offset)
{
LittleEndian.putShort(buf, offset, _dyaLine);
1.2 +372 -30
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Paragraph.java
Index: Paragraph.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Paragraph.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Paragraph.java 11 Nov 2003 11:42:57 -0000 1.1
+++ Paragraph.java 2 Mar 2004 06:19:41 -0000 1.2
@@ -54,13 +54,17 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.PAPAbstractType;
-import org.apache.poi.hwpf.model.hdftypes.StyleDescription;
+import org.apache.poi.hwpf.model.types.PAPAbstractType;
+import org.apache.poi.hwpf.model.StyleDescription;
+import org.apache.poi.hwpf.model.StyleSheet;
+import org.apache.poi.hwpf.model.PAPX;
import org.apache.poi.hwpf.sprm.SprmBuffer;
+import org.apache.poi.hwpf.sprm.ParagraphSprmCompressor;
+import org.apache.poi.hwpf.sprm.TableSprmCompressor;
public class Paragraph
- extends PAPAbstractType
+ extends Range
implements Cloneable
{
public final static short SPRM_JC = 0x2403;
@@ -121,41 +125,379 @@
public final static short SPRM_FADJUSTRIGHT = 0x2448;
- private StyleDescription _baseStyle;
- private SprmBuffer _papx;
+ private short _istd;
+ private ParagraphProperties _props;
+ protected SprmBuffer _papx;
- public Paragraph()
+ protected Paragraph(int startIdx, int endIdx, Table parent)
{
- field_21_lspd = new LineSpacingDescriptor();
- field_24_phe = new byte[12];
- field_46_brcTop = new BorderCode();
- field_47_brcLeft = new BorderCode();
- field_48_brcBottom = new BorderCode();
- field_49_brcRight = new BorderCode();
- field_50_brcBetween = new BorderCode();
- field_51_brcBar = new BorderCode();
- field_60_anld = new byte[84];
- this.field_17_fWidowControl = 1;
- this.field_21_lspd.setMultiLinespace((short)1);
- this.field_21_lspd.setDyaLine((short)240);
- this.field_12_ilvl = (byte)9;
+ super(startIdx, endIdx, Range.PARAGRAPH_INDEX, parent);
+ PAPX papx = (PAPX)_paragraphs.get(_parEnd - 1);
+ _props = papx.getParagraphProperties(_doc.getStyleSheet());
+ _papx = papx.getSprmBuf();
+ }
+
+ public Paragraph(int start, int end, ParagraphProperties pap, SprmBuffer papx,
Range parent)
+ {
+ super(start, end, parent);
+ _props = pap;
+ _papx = papx;
+ }
+
+ public boolean isInTable()
+ {
+ return _props.getFInTable() != 0;
+ }
+
+ public boolean isTableRowEnd()
+ {
+ return _props.getFTtp() != 0 || _props.getFTtpEmbedded() != 0;
+ }
+
+ public int getTableLevel()
+ {
+ return _props.getTableLevel();
+ }
+
+ public boolean isEmbeddedCellMark()
+ {
+ return _props.getEmbeddedCellMark() != 0;
+ }
+
+ public int getJustification()
+ {
+ return _props.getJc();
+ }
+
+ public void setJustification(byte jc)
+ {
+ _props.setJc(jc);
+ _papx.addSprm(SPRM_JC, jc);
+ }
+
+ public boolean keepOnPage()
+ {
+ return _props.getFKeep() != 0;
+ }
+
+ public void setKeepOnPage(boolean fKeep)
+ {
+ byte keep = (byte)(fKeep ? 1 : 0);
+ _props.setFKeep(keep);
+ _papx.addSprm(SPRM_FKEEP, keep);
+ }
+
+ public boolean keepWithNext()
+ {
+ return _props.getFKeepFollow() != 0;
+ }
+
+ public void setKeepWithNext(boolean fKeepFollow)
+ {
+ byte keepFollow = (byte)(fKeepFollow ? 1 : 0);
+ _props.setFKeepFollow(keepFollow);
+ _papx.addSprm(SPRM_FKEEPFOLLOW, keepFollow);
+ }
+
+ public boolean pageBreakBefore()
+ {
+ return _props.getFPageBreakBefore() != 0;
+ }
+
+ public void setPageBreakBefore(boolean fPageBreak)
+ {
+ byte pageBreak = (byte)(fPageBreak ? 1 : 0);
+ _props.setFPageBreakBefore(pageBreak);
+ _papx.addSprm(SPRM_FPAGEBREAKBEFORE, pageBreak);
+ }
+
+ public boolean isLineNotNumbered()
+ {
+ return _props.getFNoLnn() != 0;
+ }
+
+ public void setLineNotNumbered(boolean fNoLnn)
+ {
+ byte noLnn = (byte)(fNoLnn ? 1 : 0);
+ _props.setFNoLnn(noLnn);
+ _papx.addSprm(SPRM_FNOLINENUMB, noLnn);
+ }
+
+ public boolean isSideBySide()
+ {
+ return _props.getFSideBySide() != 0;
+ }
+
+ public void setSideBySide(boolean fSideBySide)
+ {
+ byte sideBySide = (byte)(fSideBySide ? 1 : 0);
+ _props.setFSideBySide(sideBySide);
+ _papx.addSprm(SPRM_FSIDEBYSIDE, sideBySide);
+ }
+
+ public boolean isAutoHyphenated()
+ {
+ return _props.getFNoAutoHyph() == 0;
+ }
+ public void setAutoHyphenated(boolean autoHyph)
+ {
+ byte auto = (byte)(!autoHyph ? 1 : 0);
+ _props.setFNoAutoHyph(auto);
+ _papx.addSprm(SPRM_FNOAUTOHYPH, auto);
+ }
+
+ public boolean isWidowControlled()
+ {
+ return _props.getFWidowControl() != 0;
+ }
+
+ public void setWidowControl(boolean widowControl)
+ {
+ byte widow = (byte)(widowControl ? 1 : 0);
+ _props.setFWidowControl(widow);
+ _papx.addSprm(SPRM_FWIDOWCONTROL, widow);
+ }
+
+ public int getIndentFromRight()
+ {
+ return _props.getDxaRight();
+ }
+
+ public void setIndentFromRight(int dxaRight)
+ {
+ _props.setDxaRight(dxaRight);
+ _papx.addSprm(SPRM_DXARIGHT, (short)dxaRight);
+ }
+
+ public int getIndentFromLeft()
+ {
+ return _props.getDxaLeft();
+ }
+
+ public void setIndentFromLeft(int dxaLeft)
+ {
+ _props.setDxaLeft(dxaLeft);
+ _papx.addSprm(SPRM_DXALEFT, (short)dxaLeft);
+ }
+
+ public int getFirstLineIndent()
+ {
+ return _props.getDxaLeft1();
+ }
+
+ public void setFirstLineIndent(int first)
+ {
+ _props.setDxaLeft1(first);
+ _papx.addSprm(SPRM_DXALEFT1, (short)first);
+ }
+
+ public LineSpacingDescriptor getLineSpacing()
+ {
+ return _props.getLspd();
+ }
+
+ public void setLineSpacing(LineSpacingDescriptor lspd)
+ {
+ _props.setLspd(lspd);
+ _papx.addSprm(SPRM_DYALINE, lspd.toInt());
+ }
+
+ public int getSpacingBefore()
+ {
+ return _props.getDyaBefore();
+ }
+
+ public void setSpacingBefore(int before)
+ {
+ _props.setDyaBefore(before);
+ _papx.addSprm(SPRM_DYABEFORE, (short)before);
+ }
+
+ public int getSpacingAfter()
+ {
+ return _props.getDyaAfter();
+ }
+
+ public void setSpacingAfter(int after)
+ {
+ _props.setDyaAfter(after);
+ _papx.addSprm(SPRM_DYAAFTER, (short)after);
+ }
+
+ public boolean isKinsoku()
+ {
+ return _props.getFKinsoku() != 0;
+ }
+
+ public void setKinsoku(boolean kinsoku)
+ {
+ byte kin = (byte)(kinsoku ? 1 : 0);
+ _props.setFKinsoku(kin);
+ _papx.addSprm(SPRM_FKINSOKU, kin);
+ }
+
+ public boolean isWordWrapped()
+ {
+ return _props.getFWordWrap() != 0;
+ }
+
+ public void setWordWrapped(boolean wrap)
+ {
+ byte wordWrap = (byte)(wrap ? 1 : 0);
+ _props.setFWordWrap(wordWrap);
+ _papx.addSprm(SPRM_FWORDWRAP, wordWrap);
+ }
+
+ public int getFontAlignment()
+ {
+ return _props.getWAlignFont();
+ }
+
+ public void setFontAlignment(int align)
+ {
+ _props.setWAlignFont(align);
+ _papx.addSprm(SPRM_WALIGNFONT, (short)align);
+ }
+
+ public boolean isVertical()
+ {
+ return _props.isFVertical();
+ }
+
+ public void setVertical(boolean vertical)
+ {
+ _props.setFVertical(vertical);
+ _papx.addSprm(SPRM_FRAMETEXTFLOW, getFrameTextFlow());
+ }
+
+ public boolean isBackward()
+ {
+ return _props.isFBackward();
+ }
+
+ public void setBackward(boolean bward)
+ {
+ _props.setFBackward(bward);
+ _papx.addSprm(SPRM_FRAMETEXTFLOW, getFrameTextFlow());
+ }
+
+ public BorderCode getTopBorder()
+ {
+ return _props.getBrcTop();
+ }
+
+ public void setTopBorder(BorderCode top)
+ {
+ _props.setBrcTop(top);
+ _papx.addSprm(SPRM_BRCTOP, top.toInt());
+ }
+
+ public BorderCode getLeftBorder()
+ {
+ return _props.getBrcLeft();
+ }
+
+ public void setLeftBorder(BorderCode left)
+ {
+ _props.setBrcLeft(left);
+ _papx.addSprm(SPRM_BRCLEFT, left.toInt());
+ }
+
+ public BorderCode getBottomBorder()
+ {
+ return _props.getBrcBottom();
+ }
+
+ public void setBottomBorder(BorderCode bottom)
+ {
+ _props.setBrcBottom(bottom);
+ _papx.addSprm(SPRM_BRCBOTTOM, bottom.toInt());
+ }
+
+ public BorderCode getRightBorder()
+ {
+ return _props.getBrcRight();
+ }
+
+ public void setRightBorder(BorderCode right)
+ {
+ _props.setBrcRight(right);
+ _papx.addSprm(SPRM_BRCRIGHT, right.toInt());
+ }
+
+ public BorderCode getBarBorder()
+ {
+ return _props.getBrcBar();
+ }
+
+ public void setBarBorder(BorderCode bar)
+ {
+ _props.setBrcBar(bar);
+ _papx.addSprm(SPRM_BRCBAR, bar.toInt());
+ }
+
+ public ShadingDescriptor getShading()
+ {
+ return _props.getShd();
+ }
+
+ public void setShading(ShadingDescriptor shd)
+ {
+ _props.setShd(shd);
+ _papx.addSprm(SPRM_SHD, shd.toShort());
+ }
+
+ public DropCapSpecifier getDropCap()
+ {
+ return _props.getDcs();
+ }
+
+ public void setDropCap(DropCapSpecifier dcs)
+ {
+ _props.setDcs(dcs);
+ _papx.addSprm(SPRM_DCS, dcs.toShort());
+ }
+
+ void setTableRowEnd(TableProperties props)
+ {
+ setTableRowEnd((byte)1);
+ byte[] grpprl = TableSprmCompressor.compressTableProperty(props);
+ _papx.append(grpprl);
+ }
+
+ private void setTableRowEnd(byte val)
+ {
+ _props.setFTtp(val);
+ _papx.addSprm(SPRM_FTTP, val);
}
public Object clone()
throws CloneNotSupportedException
{
- Paragraph pp = (Paragraph)super.clone();
- pp.field_21_lspd = (LineSpacingDescriptor)field_21_lspd.clone();
- pp.field_24_phe = (byte[])field_24_phe.clone();
- pp.field_46_brcTop = (BorderCode)field_46_brcTop.clone();
- pp.field_47_brcLeft = (BorderCode)field_47_brcLeft.clone();
- pp.field_48_brcBottom = (BorderCode)field_48_brcBottom.clone();
- pp.field_49_brcRight = (BorderCode)field_49_brcRight.clone();
- pp.field_50_brcBetween = (BorderCode)field_50_brcBetween.clone();
- pp.field_51_brcBar = (BorderCode)field_51_brcBar.clone();
- pp.field_60_anld = (byte[])field_60_anld.clone();
- return pp;
+ Paragraph p = (Paragraph)super.clone();
+ p._props = (ParagraphProperties)_props.clone();
+ //p._baseStyle = _baseStyle;
+ p._papx = new SprmBuffer();
+ return p;
+ }
+
+ private short getFrameTextFlow()
+ {
+ short retVal = 0;
+ if (_props.isFVertical())
+ {
+ retVal |= 1;
+ }
+ if (_props.isFBackward())
+ {
+ retVal |= 2;
+ }
+ if (_props.isFRotateFont())
+ {
+ retVal |= 4;
+ }
+ return retVal;
}
}
1.3 +265 -2
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ParagraphProperties.java
Index: ParagraphProperties.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ParagraphProperties.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ParagraphProperties.java 10 Nov 2003 11:53:54 -0000 1.2
+++ ParagraphProperties.java 2 Mar 2004 06:19:41 -0000 1.3
@@ -54,8 +54,8 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.PAPAbstractType;
-import org.apache.poi.hwpf.model.hdftypes.StyleDescription;
+import org.apache.poi.hwpf.model.types.PAPAbstractType;
+import org.apache.poi.hwpf.model.StyleDescription;
import org.apache.poi.hwpf.sprm.SprmBuffer;
@@ -139,7 +139,270 @@
this.field_21_lspd.setMultiLinespace((short)1);
this.field_21_lspd.setDyaLine((short)240);
this.field_12_ilvl = (byte)9;
+ this.field_66_rgdxaTab = new int[0];
+ this.field_67_rgtbd = new byte[0];
+ this.field_63_dttmPropRMark = new DateAndTime();
+ }
+
+ public int getJustification()
+ {
+ return super.getJc();
+ }
+
+ public void setJustification(byte jc)
+ {
+ super.setJc(jc);
+ }
+
+ public boolean keepOnPage()
+ {
+ return super.getFKeep() != 0;
+ }
+
+ public void setKeepOnPage(boolean fKeep)
+ {
+ super.setFKeep((byte)(fKeep ? 1 : 0));
+ }
+
+ public boolean keepWithNext()
+ {
+ return super.getFKeepFollow() != 0;
+ }
+
+ public void setKeepWithNext(boolean fKeepFollow)
+ {
+ super.setFKeepFollow((byte)(fKeepFollow ? 1 : 0));
+ }
+
+ public boolean pageBreakBefore()
+ {
+ return super.getFPageBreakBefore() != 0;
+ }
+
+ public void setPageBreakBefore(boolean fPageBreak)
+ {
+ super.setFPageBreakBefore((byte)(fPageBreak ? 1 : 0));
+ }
+
+ public boolean isLineNotNumbered()
+ {
+ return super.getFNoLnn() != 0;
+ }
+
+ public void setLineNotNumbered(boolean fNoLnn)
+ {
+ super.setFNoLnn((byte)(fNoLnn ? 1 : 0));
+ }
+
+ public boolean isSideBySide()
+ {
+ return super.getFSideBySide() != 0;
+ }
+
+ public void setSideBySide(boolean fSideBySide)
+ {
+ super.setFSideBySide((byte)(fSideBySide ? 1 : 0));
+ }
+
+ public boolean isAutoHyphenated()
+ {
+ return super.getFNoAutoHyph() == 0;
+ }
+
+ public void setAutoHyphenated(boolean auto)
+ {
+ super.setFNoAutoHyph((byte)(!auto ? 1 : 0));
+ }
+
+ public boolean isWidowControlled()
+ {
+ return super.getFWidowControl() != 0;
+ }
+
+ public void setWidowControl(boolean widowControl)
+ {
+ super.setFWidowControl((byte)(widowControl ? 1 : 0));
+ }
+
+ public int getIndentFromRight()
+ {
+ return super.getDxaRight();
+ }
+
+ public void setIndentFromRight(int dxaRight)
+ {
+ super.setDxaRight(dxaRight);
+ }
+
+ public int getIndentFromLeft()
+ {
+ return super.getDxaLeft();
+ }
+
+ public void setIndentFromLeft(int dxaLeft)
+ {
+ super.setDxaLeft(dxaLeft);
+ }
+
+ public int getFirstLineIndent()
+ {
+ return super.getDxaLeft1();
+ }
+
+ public void setFirstLineIndent(int first)
+ {
+ super.setDxaLeft1(first);
+ }
+
+ public LineSpacingDescriptor getLineSpacing()
+ {
+ return super.getLspd();
+ }
+
+ public void setLineSpacing(LineSpacingDescriptor lspd)
+ {
+ super.setLspd(lspd);
+ }
+
+ public int getSpacingBefore()
+ {
+ return super.getDyaBefore();
+ }
+
+ public void setSpacingBefore(int before)
+ {
+ super.setDyaBefore(before);
+ }
+
+ public int getSpacingAfter()
+ {
+ return super.getDyaAfter();
+ }
+
+ public void setSpacingAfter(int after)
+ {
+ super.setDyaAfter(after);
+ }
+
+ public boolean isKinsoku()
+ {
+ return super.getFKinsoku() != 0;
+ }
+
+ public void setKinsoku(boolean kinsoku)
+ {
+ super.setFKinsoku((byte)(kinsoku ? 1 : 0));
+ }
+
+ public boolean isWordWrapped()
+ {
+ return super.getFWordWrap() != 0;
+ }
+
+ public void setWordWrapped(boolean wrap)
+ {
+ super.setFWordWrap((byte)(wrap ? 1 : 0));
+ }
+
+ public int getFontAlignment()
+ {
+ return super.getWAlignFont();
+ }
+
+ public void setFontAlignment(int align)
+ {
+ super.setWAlignFont(align);
+ }
+
+ public boolean isVertical()
+ {
+ return super.isFVertical();
+ }
+
+ public void setVertical(boolean vertical)
+ {
+ super.setFVertical(vertical);
+ }
+
+ public boolean isBackward()
+ {
+ return super.isFBackward();
+ }
+
+ public void setBackward(boolean bward)
+ {
+ super.setFBackward(bward);
+ }
+
+ public BorderCode getTopBorder()
+ {
+ return super.getBrcTop();
+ }
+
+ public void setTopBorder(BorderCode top)
+ {
+ super.setBrcTop(top);
+ }
+
+ public BorderCode getLeftBorder()
+ {
+ return super.getBrcLeft();
+ }
+
+ public void setLeftBorder(BorderCode left)
+ {
+ super.setBrcLeft(left);
+ }
+
+ public BorderCode getBottomBorder()
+ {
+ return super.getBrcBottom();
+ }
+
+ public void setBottomBorder(BorderCode bottom)
+ {
+ super.setBrcBottom(bottom);
+ }
+
+ public BorderCode getRightBorder()
+ {
+ return super.getBrcRight();
+ }
+
+ public void setRightBorder(BorderCode right)
+ {
+ super.setBrcRight(right);
+ }
+
+ public BorderCode getBarBorder()
+ {
+ return super.getBrcBar();
+ }
+
+ public void setBarBorder(BorderCode bar)
+ {
+ super.setBrcBar(bar);
+ }
+
+ public ShadingDescriptor getShading()
+ {
+ return super.getShd();
+ }
+
+ public void setShading(ShadingDescriptor shd)
+ {
+ super.setShd(shd);
+ }
+
+ public DropCapSpecifier getDropCap()
+ {
+ return super.getDcs();
+ }
+
+ public void setDropCap(DropCapSpecifier dcs)
+ {
+ super.setDcs(dcs);
}
public Object clone()
1.2 +14 -18
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Section.java
Index: Section.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/Section.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Section.java 11 Nov 2003 11:43:07 -0000 1.1
+++ Section.java 2 Mar 2004 06:19:41 -0000 1.2
@@ -54,31 +54,27 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.SEPAbstractType;
+import org.apache.poi.hwpf.model.SEPX;
public class Section
- extends SEPAbstractType
+ extends Range
{
- public Section()
+
+ private SectionProperties _props;
+
+ public Section(SEPX sepx, Range parent)
{
- field_20_brcTop = new BorderCode();
- field_21_brcLeft = new BorderCode();
- field_22_brcBottom = new BorderCode();
- field_23_brcRight = new BorderCode();
- field_26_dttmPropRMark = new DateAndTime();
+ super(sepx.getStart(), sepx.getEnd(), parent);
+ _props = sepx.getSectionProperties();
}
public Object clone()
- throws CloneNotSupportedException
- {
- Section copy = (Section)super.clone();
- copy.field_20_brcTop = (BorderCode)field_20_brcTop.clone();
- copy.field_21_brcLeft = (BorderCode)field_21_brcLeft.clone();
- copy.field_22_brcBottom = (BorderCode)field_22_brcBottom.clone();
- copy.field_23_brcRight = (BorderCode)field_23_brcRight.clone();
- copy.field_26_dttmPropRMark = (DateAndTime)field_26_dttmPropRMark.clone();
+ throws CloneNotSupportedException
+ {
+ Section s = (Section)super.clone();
+ s._props = (SectionProperties)_props.clone();
+ return s;
+ }
- return copy;
- }
}
1.2 +32 -1
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/SectionProperties.java
Index: SectionProperties.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/SectionProperties.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SectionProperties.java 10 Nov 2003 11:54:42 -0000 1.1
+++ SectionProperties.java 2 Mar 2004 06:19:41 -0000 1.2
@@ -54,7 +54,11 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.SEPAbstractType;
+import org.apache.poi.hwpf.model.types.SEPAbstractType;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Array;
public class SectionProperties
extends SEPAbstractType
@@ -79,6 +83,33 @@
copy.field_26_dttmPropRMark = (DateAndTime)field_26_dttmPropRMark.clone();
return copy;
+ }
+
+ public boolean equals(Object obj)
+ {
+ Field[] fields = SectionProperties.class.getSuperclass().getDeclaredFields();
+ AccessibleObject.setAccessible(fields, true);
+ try
+ {
+ for (int x = 0; x < fields.length; x++)
+ {
+ Object obj1 = fields[x].get(this);
+ Object obj2 = fields[x].get(obj);
+ if (obj1 == null && obj2 == null)
+ {
+ continue;
+ }
+ if (!obj1.equals(obj2))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
}
}
1.2 +6 -1
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ShadingDescriptor.java
Index: ShadingDescriptor.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ShadingDescriptor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ShadingDescriptor.java 10 Nov 2003 11:54:56 -0000 1.1
+++ ShadingDescriptor.java 2 Mar 2004 06:19:41 -0000 1.2
@@ -73,7 +73,12 @@
public ShadingDescriptor(byte[] buf, int offset)
{
- _info = LittleEndian.getShort(buf, offset);
+ this(LittleEndian.getShort(buf, offset));
+ }
+
+ public ShadingDescriptor(short info)
+ {
+ _info = info;
}
public short toShort()
1.2 +6 -1
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableCellDescriptor.java
Index: TableCellDescriptor.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableCellDescriptor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TableCellDescriptor.java 10 Nov 2003 11:55:03 -0000 1.1
+++ TableCellDescriptor.java 2 Mar 2004 06:19:41 -0000 1.2
@@ -54,7 +54,7 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.TCAbstractType;
+import org.apache.poi.hwpf.model.types.TCAbstractType;
public class TableCellDescriptor
extends TCAbstractType
@@ -63,6 +63,11 @@
public TableCellDescriptor()
{
+ field_3_brcTop = new BorderCode();
+ field_4_brcLeft = new BorderCode();
+ field_5_brcBottom = new BorderCode();
+ field_6_brcRight = new BorderCode();
+
}
public Object clone()
1.2 +24 -1
jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableProperties.java
Index: TableProperties.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableProperties.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TableProperties.java 10 Nov 2003 11:55:11 -0000 1.1
+++ TableProperties.java 2 Mar 2004 06:19:41 -0000 1.2
@@ -54,14 +54,37 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.model.hdftypes.definitions.TAPAbstractType;
+import org.apache.poi.hwpf.model.types.TAPAbstractType;
public class TableProperties
extends TAPAbstractType
implements Cloneable
{
+
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()
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]