// prepare row interval
if (m_rowIntervals[row] == null) {
Object trElement = dom.getParent(td);
Rectangle trBounds = state.getAbsoluteBounds(trElement);
container.absoluteToModel(trBounds);
Interval trInterval = new Interval(trBounds.y, trBounds.height);
if (rowSpan == 1) {
m_rowIntervals[row] = trInterval;
} else {
Rectangle tdBounds = state.getAbsoluteBounds(td);
Interval spannedInterval = new Interval(trBounds.y, tdBounds.height);
spannedRowIntervals.put(new Interval(row, rowSpan), spannedInterval);
}
}
// prepare column interval
if (m_columnIntervals[column] == null) {
Rectangle tdBounds = state.getAbsoluteBounds(td);
container.absoluteToModel(tdBounds);
Interval columnInterval = new Interval(tdBounds.x, tdBounds.width);
if (colSpan == 1) {
m_columnIntervals[column] = columnInterval;
} else {
spannedColumnIntervals.put(new Interval(column, colSpan), columnInterval);
}
}
//Object widgetElement = dom.getElementById(Container_Info.getID(widget));
}
// fix spanned columns/rows
fetchCells_fixSpannedColumns(spannedColumnIntervals);
fetchCells_fixSpannedRows(spannedRowIntervals);
// fill empty columns
{
int lastIntervalEnd = 0;
for (int i = 0; i < m_columnIntervals.length; i++) {
if (m_columnIntervals[i] != null) {
lastIntervalEnd = m_columnIntervals[i].end();
} else {
Interval in = new Interval(lastIntervalEnd, TableLayoutInfo.E_WIDTH);
m_columnIntervals[i] = in;
lastIntervalEnd = in.end();
}
}
}
// if no rows, fill empty column intervals
/*if (m_rowIntervals.length == 0) {