Change-Id: Ib2b9ecc995ec6fe2627c545efc2a312a59df6b9ctags/7.5.0.alpha1
} | } | ||||
} | } | ||||
@Override | |||||
public void onResize() { | |||||
super.onResize(); | |||||
/* | |||||
* Delay calculation to be deferred so Escalator can do it's magic. | |||||
*/ | |||||
Scheduler.get().scheduleDeferred(new ScheduledCommand() { | |||||
@Override | |||||
public void execute() { | |||||
if (!autoColumnWidthsRecalculator.isScheduled()) { | |||||
autoColumnWidthsRecalculator.schedule(); | |||||
} | |||||
} | |||||
}); | |||||
} | |||||
/** | /** | ||||
* Grid does not support adding Widgets this way. | * Grid does not support adding Widgets this way. | ||||
* <p> | * <p> |
/* | |||||
* Copyright 2000-2014 Vaadin Ltd. | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||||
* use this file except in compliance with the License. You may obtain a copy of | |||||
* the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||||
* License for the specific language governing permissions and limitations under | |||||
* the License. | |||||
*/ | |||||
package com.vaadin.tests.components.grid; | |||||
import com.vaadin.server.VaadinRequest; | |||||
import com.vaadin.tests.components.AbstractTestUI; | |||||
import com.vaadin.ui.Button; | |||||
import com.vaadin.ui.Button.ClickEvent; | |||||
import com.vaadin.ui.Grid; | |||||
public class GridWidthIncrease extends AbstractTestUI { | |||||
public static int COLUMN_COUNT = 5; | |||||
@Override | |||||
protected void setup(VaadinRequest request) { | |||||
final Grid grid = new Grid(); | |||||
Object[] rowData = new String[COLUMN_COUNT]; | |||||
for (int i = 0; i < COLUMN_COUNT; ++i) { | |||||
grid.addColumn("Column " + i, String.class); | |||||
rowData[i] = "Foo (0, " + i + ")"; | |||||
} | |||||
grid.addRow(rowData); | |||||
grid.setWidth(400 + "px"); | |||||
addComponent(grid); | |||||
addComponent(new Button("Increase Grid Width", | |||||
new Button.ClickListener() { | |||||
@Override | |||||
public void buttonClick(ClickEvent event) { | |||||
grid.setWidth((grid.getWidth() + 50) + "px"); | |||||
} | |||||
})); | |||||
} | |||||
} |
/* | |||||
* Copyright 2000-2014 Vaadin Ltd. | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||||
* use this file except in compliance with the License. You may obtain a copy of | |||||
* the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||||
* License for the specific language governing permissions and limitations under | |||||
* the License. | |||||
*/ | |||||
package com.vaadin.tests.components.grid; | |||||
import static org.junit.Assert.assertEquals; | |||||
import static org.junit.Assert.assertTrue; | |||||
import org.junit.Test; | |||||
import com.vaadin.testbench.elements.ButtonElement; | |||||
import com.vaadin.testbench.elements.GridElement; | |||||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||||
public class GridWidthIncreaseTest extends MultiBrowserTest { | |||||
private static int INCREASE_COUNT = 3; | |||||
@Test | |||||
public void testColumnsExpandWithGrid() { | |||||
openTestURL(); | |||||
GridElement grid = $(GridElement.class).first(); | |||||
int[] widths = new int[GridWidthIncrease.COLUMN_COUNT]; | |||||
for (int i = 0; i < INCREASE_COUNT; ++i) { | |||||
int totalWidth = 0; | |||||
$(ButtonElement.class).first().click(); | |||||
for (int c = 0; c < GridWidthIncrease.COLUMN_COUNT; ++c) { | |||||
int width = grid.getCell(0, c).getSize().getWidth(); | |||||
totalWidth += width; | |||||
widths[c] = width; | |||||
if (c > 0) { | |||||
// check that columns are roughly the same width. | |||||
assertEquals("Difference in column widths", widths[c], | |||||
widths[c - 1], 1.0d); | |||||
} | |||||
} | |||||
// Column widths should be the same as table wrapper size | |||||
assertTrue(totalWidth == grid.getTableWrapper().getSize() | |||||
.getWidth()); | |||||
} | |||||
} | |||||
} |