*/
private void layoutGroups() {
log.debug("Starting groups layout...");
int i = 0;
for (Iterator iter = getReport().getColumnsGroups().iterator(); iter.hasNext();) {
ColumnsGroup columnsGroup = (ColumnsGroup) iter.next();
JRDesignGroup jgroup = (JRDesignGroup) getDesign().getGroupsList().get(i++);
jgroup.setStartNewPage(columnsGroup.getStartInNewPage().booleanValue());
jgroup.setStartNewColumn(columnsGroup.getStartInNewColumn().booleanValue());
JRDesignBand header = (JRDesignBand) jgroup.getGroupHeader();
JRDesignBand footer = (JRDesignBand) jgroup.getGroupFooter();
header.setHeight(columnsGroup.getHeaderHeight().intValue());
footer.setHeight(columnsGroup.getFooterHeight().intValue());
if (columnsGroup.getLayout().isPrintHeaders()) {
for (Iterator iterator = getVisibleColumns().iterator(); iterator.hasNext();) {
AbstractColumn col = (AbstractColumn) iterator.next();
JRDesignTextField designTextField = createColumnNameTextField(columnsGroup, col);
designTextField.setPositionType(JRDesignElement.POSITION_TYPE_FLOAT); //XXX changeg to see what happens (must come from the column position property)