static void TableRemoveRow (Table table, uint row, Widget column1, Widget column2, bool destroy)
{
uint rows = table.NRows;
foreach (var child in table.Children) {
var tr = (Table.TableChild) table[child];
uint bottom = tr.BottomAttach;
uint top = tr.TopAttach;
if (top >= row && top < rows) {
tr.BottomAttach = bottom - 1;
tr.TopAttach = top - 1;
}
}
if (column1 != null) {
table.Remove (column1);
if (destroy)
column1.Destroy ();
}
if (column2 != null) {
table.Remove (column2);
if (destroy)
column2.Destroy ();
}
table.NRows--;
}