/*********************************************************************
*
* Copyright (C) 2002 Andrew Khan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***************************************************************************/
package jxl.read.biff;
import jxl.biff.IntegerHelper;
import jxl.biff.RecordData;
import jxl.biff.Type;
/**
* Contains the display info data which affects the entire columns
*/
public class ColumnInfoRecord extends RecordData
{
/**
* The raw data
*/
private byte[] data;
/**
* The start for which to apply the format information
*/
private int startColumn;
/**
* The end column for which to apply the format information
*/
private int endColumn;
/**
* The index to the XF record, which applies to each cell in this column
*/
private int xfIndex;
/**
* The width of the column in 1/256 of a character
*/
private int width;
/**
* A hidden flag
*/
private boolean hidden;
/**
* The column's outline level
*/
private int outlineLevel;
/**
* The column collapsed flag
*/
private boolean collapsed;
/**
* Constructor which creates this object from the binary data
*
* @param t the record
*/
ColumnInfoRecord(Record t)
{
super(Type.COLINFO);
data = t.getData();
startColumn = IntegerHelper.getInt(data[0], data[1]);
endColumn = IntegerHelper.getInt(data[2], data[3]);
width = IntegerHelper.getInt(data[4], data[5]);
xfIndex = IntegerHelper.getInt(data[6], data[7]);
int options = IntegerHelper.getInt(data[8], data[9]);
hidden = ((options & 0x1) != 0);
outlineLevel = ((options & 0x700) >> 8);
collapsed = ((options & 0x1000) != 0);
}
/**
* Accessor for the start column of this range
*
* @return the start column index
*/
public int getStartColumn()
{
return startColumn;
}
/**
* Accessor for the end column of this range
*
* @return the end column index
*/
public int getEndColumn()
{
return endColumn;
}
/**
* Accessor for the column format index
*
* @return the format index
*/
public int getXFIndex()
{
return xfIndex;
}
/**
* Accessor for the column's outline level
*
* @return the column's outline level
*/
public int getOutlineLevel()
{
return outlineLevel;
}
/**
* Accessor for whether the column is collapsed
*
* @return the column's collapsed state
*/
public boolean getCollapsed()
{
return collapsed;
}
/**
* Accessor for the width of the column
*
* @return the width
*/
public int getWidth()
{
return width;
}
/**
* Accessor for the hidden flag. Used when copying sheets
*
* @return TRUE if the columns are hidden, FALSE otherwise
*/
public boolean getHidden()
{
return hidden;
}
}
|