package org.openntf.domino.nsfdata.structs.cd;
import org.openntf.domino.nsfdata.structs.COLOR_VALUE;
import org.openntf.domino.nsfdata.structs.FONTID;
import org.openntf.domino.nsfdata.structs.SIG;
import org.openntf.domino.nsfdata.structs.WSIG;
/**
* This record was added because the Pre Table Begin Record can not be expanded and R6 required more data to be stored. (editods.h)
*
* @since Lotus Notes/Domino 6.0
*
*/
public class CDTABLEDATAEXTENSION extends CDRecord {
public final WSIG Header = inner(new WSIG());
public final Unsigned32 dwColumnSizeToFitBits1 = new Unsigned32();
public final Unsigned32 dwColumnSizeToFitBits2 = new Unsigned32();
public final Unsigned16 wEqualSizeTabsWidthX = new Unsigned16();
public final Unsigned16 wTabsIndentWidthX = new Unsigned16();
public final Unsigned16 wAvailable3 = new Unsigned16();
public final Unsigned16 wAvailable4 = new Unsigned16();
public final Unsigned32 dwAvailable5 = new Unsigned32();
public final Unsigned32 dwAvailable6 = new Unsigned32();
public final Unsigned32 dwAvailable7 = new Unsigned32();
public final Unsigned32 dwAvailable8 = new Unsigned32();
public final Unsigned32 dwAvailable9 = new Unsigned32();
public final Unsigned16 wcTabLabelFont = new Unsigned16();
public final Unsigned16 wAvailableLength11 = new Unsigned16();
public final Unsigned16 wAvailableLength12 = new Unsigned16();
public final Unsigned16 wExtension2Length = new Unsigned16();
public final FONTID FontID = inner(new FONTID());
public final Unsigned32 FontSpare = new Unsigned32();
static {
// The COLOR_VALUE is missing from data created by some R6 beta releases
addVariableArray("FontColor", "getFontColorCount", COLOR_VALUE.class);
addVariableData("Available11", "wAvailableLength11");
addVariableData("Available12", "wAvailableLength12");
addVariableData("Extension2", "wExtension2Length");
}
@Override
public SIG getHeader() {
return Header;
}
public int getFontColorCount() {
return wcTabLabelFont.get() > 8 ? 1 : 0;
}
public COLOR_VALUE getFontColor() {
COLOR_VALUE[] fontColor = (COLOR_VALUE[]) getVariableElement("FontColor");
return fontColor.length > 0 ? fontColor[0] : null;
}
public byte[] getAvailable11() {
return (byte[]) getVariableElement("Available11");
}
public byte[] getAvailable12() {
return (byte[]) getVariableElement("Available12");
}
public byte[] getExtension2() {
return (byte[]) getVariableElement("Extension2");
}
}