}
@Override
public Void visitColumnGroup(ColumnGroup columnGroup)
{
Cell cell = columnGroupCell(columnGroup);
int rowSpan;
if (cell == null)
{
rowSpan = 0;
}
else if (cell.getRowSpan() == null)
{
rowSpan = 1;
}
else
{
rowSpan = cell.getRowSpan();
}
int origXOffset = xOffset;
int origYOffset = yOffset;
for (FillColumn subcolumn : fillColumn.getSubcolumns())
{
ReportBandCreator subVisitor = createSubVisitor(subcolumn,
xOffset, origYOffset, level + rowSpan);
subVisitor.visit();
xOffset = subVisitor.xOffset;
if (subVisitor.yOffset > yOffset)
{
yOffset = subVisitor.yOffset;
}
}
if (cell != null)
{
JRDesignFrame cellFrame = createCellFrame(cell,
columnGroup.getWidth(), fillColumn.getWidth(),
origXOffset, yOffset);
bandInfo.addElement(level + rowSpan - 1, cellFrame);
yOffset += cell.getHeight();
}
return null;
}