Change-Id: If7a7a5c1e5eff4bdac0f6e5943a9fac2ce98784atags/7.7.2
@@ -3214,7 +3214,6 @@ public class Grid<T> extends ResizeComposite implements | |||
private void calculate() { | |||
isScheduled = false; | |||
rescheduleCount = 0; | |||
assert !dataIsBeingFetched : "Trying to calculate column widths even though data is still being fetched."; | |||
if (columnsAreGuaranteedToBeWiderThanGrid()) { | |||
@@ -5713,7 +5712,7 @@ public class Grid<T> extends ResizeComposite implements | |||
initialWidth = col.getWidthActual(); | |||
minCellWidth = escalator | |||
.getMinCellWidth(getColumns() | |||
.getMinCellWidth(getVisibleColumns() | |||
.indexOf(col)); | |||
for (Column<?, T> c : getVisibleColumns()) { | |||
if (selectionColumn == c) { |
@@ -1211,6 +1211,16 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> { | |||
} | |||
}); | |||
createBooleanAction("Toggle all column hidden state", "Columns", false, | |||
new Command<Grid, Boolean>() { | |||
@Override | |||
public void execute(Grid c, Boolean value, Object data) { | |||
for (Column col : grid.getColumns()) { | |||
col.setHidden(!col.isHidden()); | |||
} | |||
} | |||
}); | |||
createBooleanAction("All columns resizable", "Columns", false, | |||
new Command<Grid, Boolean>() { | |||
@@ -146,4 +146,26 @@ public class GridColumnResizeTest extends GridBasicFeaturesTest { | |||
assertGreaterOrEqual("Cell got too small.", cell.getSize().getWidth(), | |||
10); | |||
} | |||
@Test | |||
public void testShrinkColumnToZeroWithHiddenColumn() { | |||
openTestURL(); | |||
selectMenuPath("Component", "Columns", | |||
"Toggle all column hidden state"); | |||
// Hides although already hidden | |||
selectMenuPath("Component", "Columns", "Column 0", "Hidden"); | |||
// Shows | |||
selectMenuPath("Component", "Columns", "Column 0", "Hidden"); | |||
// Hides although already hidden | |||
selectMenuPath("Component", "Columns", "Column 2", "Hidden"); | |||
// Shows | |||
selectMenuPath("Component", "Columns", "Column 2", "Hidden"); | |||
GridCellElement cell = getGridElement().getCell(0, 1); | |||
dragResizeColumn(1, 0, -cell.getSize().getWidth()); | |||
assertGreaterOrEqual("Cell got too small.", cell.getSize().getWidth(), | |||
10); | |||
assertEquals(getGridElement().getCell(0, 0).getLocation().getY(), | |||
getGridElement().getCell(0, 1).getLocation().getY()); | |||
} | |||
} |