// Work out what is our first indented column. It's the one with the firstIndent property
// set true, or the first one after that if that column is invisible.
Array_Of_OutlineColumnDesc<OutlineColumnDesc> columnList = this.parent.getColumnList(false);
boolean found = false;
for (int col=0; col<columnList.size(); col++) {
OutlineColumnDesc colDec = columnList.get(col);
if (colDec.getIsFirstIndent()) {
found = true;
}
if (colDec.getState() != Constants.FS_INVISIBLE && found) {
firstIndentCol = col;
break;
}
}
// Layout the data into a grid, setting the correct width of each data item to
// match the column width.
int col = 0;
for (int realCol=0; realCol<columnList.size(); realCol++) {
OutlineColumnDesc colDec = columnList.get(realCol);
if (colDec.getState() != Constants.FS_INVISIBLE) {
Object data = this.parent.getData((DisplayNode)value,realCol);
this.parent.setJLabel(data, this.cachedJLabels[col]);
// Set the column alignment
switch (colDec.getAlignment()) {
case Constants.TA_RIGHT:
this.cachedJLabels[col].setHorizontalAlignment(SwingConstants.RIGHT);
break;
case Constants.TA_CENTER:
this.cachedJLabels[col].setHorizontalAlignment(SwingConstants.CENTER);