diff options
author | Henrik Paul <henrik@vaadin.com> | 2013-11-11 15:04:45 +0200 |
---|---|---|
committer | Henrik Paul <henrik@vaadin.com> | 2013-11-11 15:04:45 +0200 |
commit | d060b01d3cc34620a12fcc9b858f5956680f7e07 (patch) | |
tree | cf8b6919f785c7a449331612ee32e066c830e142 /uitest/src/com/vaadin | |
parent | ecb954092f2bb3e3b2c5b1acfc7447993ed84468 (diff) | |
download | vaadin-framework-d060b01d3cc34620a12fcc9b858f5956680f7e07.tar.gz vaadin-framework-d060b01d3cc34620a12fcc9b858f5956680f7e07.zip |
Add scrollToRow/Column, also some final declarations (#12645)
Change-Id: I4142edff9bc078c35ee70643fc3368bec10003f9
Diffstat (limited to 'uitest/src/com/vaadin')
5 files changed, 143 insertions, 9 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/GridTest.java b/uitest/src/com/vaadin/tests/components/grid/GridTest.java index aab3c66acf..27b1d6387d 100644 --- a/uitest/src/com/vaadin/tests/components/grid/GridTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/GridTest.java @@ -25,6 +25,7 @@ import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Layout; +import com.vaadin.ui.NativeSelect; import com.vaadin.ui.TextField; /** @@ -48,9 +49,9 @@ public class GridTest extends AbstractTestUI { @Override @SuppressWarnings("boxing") public void buttonClick(final ClickEvent event) { - int offset = Integer.valueOf(insertRowsOffset + final int offset = Integer.valueOf(insertRowsOffset .getValue()); - int amount = Integer.valueOf(insertRowsAmount + final int amount = Integer.valueOf(insertRowsAmount .getValue()); grid.insertRows(offset, amount); } @@ -67,9 +68,9 @@ public class GridTest extends AbstractTestUI { @Override @SuppressWarnings("boxing") public void buttonClick(final ClickEvent event) { - int offset = Integer.valueOf(removeRowsOffset + final int offset = Integer.valueOf(removeRowsOffset .getValue()); - int amount = Integer.valueOf(removeRowsAmount + final int amount = Integer.valueOf(removeRowsAmount .getValue()); grid.removeRows(offset, amount); } @@ -86,9 +87,9 @@ public class GridTest extends AbstractTestUI { @Override @SuppressWarnings("boxing") public void buttonClick(final ClickEvent event) { - int offset = Integer.valueOf(insertColumnsOffset + final int offset = Integer.valueOf(insertColumnsOffset .getValue()); - int amount = Integer.valueOf(insertColumnsAmount + final int amount = Integer.valueOf(insertColumnsAmount .getValue()); grid.insertColumns(offset, amount); } @@ -105,14 +106,88 @@ public class GridTest extends AbstractTestUI { @Override @SuppressWarnings("boxing") public void buttonClick(final ClickEvent event) { - int offset = Integer.valueOf(removeColumnsOffset + final int offset = Integer.valueOf(removeColumnsOffset .getValue()); - int amount = Integer.valueOf(removeColumnsAmount + final int amount = Integer.valueOf(removeColumnsAmount .getValue()); grid.removeColumns(offset, amount); } })); addComponent(removeColumnsLayout); + + final HorizontalLayout rowScroll = new HorizontalLayout(); + final NativeSelect destination = new NativeSelect(); + destination.setNullSelectionAllowed(false); + destination.addItem("any"); + destination.setValue("any"); + destination.addItem("start"); + destination.addItem("end"); + destination.addItem("middle"); + rowScroll.addComponent(destination); + final TextField rowIndex = new TextField(); + rowScroll.addComponent(rowIndex); + final TextField rowPadding = new TextField(); + rowScroll.addComponent(rowPadding); + rowScroll.addComponent(new Button("scroll to row", + new Button.ClickListener() { + @Override + public void buttonClick(final ClickEvent event) { + int index; + try { + index = Integer.valueOf(rowIndex.getValue()); + } catch (NumberFormatException e) { + index = 0; + } + + int padding; + try { + padding = Integer.valueOf(rowPadding.getValue()); + } catch (NumberFormatException e) { + padding = 0; + } + + grid.scrollToRow(index, + (String) destination.getValue(), padding); + } + })); + addComponent(rowScroll); + + final HorizontalLayout colScroll = new HorizontalLayout(); + final NativeSelect colDestination = new NativeSelect(); + colDestination.setNullSelectionAllowed(false); + colDestination.addItem("any"); + colDestination.setValue("any"); + colDestination.addItem("start"); + colDestination.addItem("end"); + colDestination.addItem("middle"); + colScroll.addComponent(colDestination); + final TextField colIndex = new TextField(); + colScroll.addComponent(colIndex); + final TextField colPadding = new TextField(); + colScroll.addComponent(colPadding); + colScroll.addComponent(new Button("scroll to column", + new Button.ClickListener() { + @Override + public void buttonClick(final ClickEvent event) { + int index; + try { + index = Integer.valueOf(colIndex.getValue()); + } catch (NumberFormatException e) { + index = 0; + } + + int padding; + try { + padding = Integer.valueOf(colPadding.getValue()); + } catch (NumberFormatException e) { + padding = 0; + } + + grid.scrollToColumn(index, + (String) colDestination.getValue(), padding); + } + })); + addComponent(colScroll); } @Override diff --git a/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridClientRpc.java b/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridClientRpc.java index 878e04ef39..3c831d2cb4 100644 --- a/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridClientRpc.java +++ b/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridClientRpc.java @@ -25,4 +25,8 @@ public interface TestGridClientRpc extends ClientRpc { void insertColumns(int offset, int amount); void removeColumns(int offset, int amount); + + void scrollToRow(int index, String destination, int padding); + + void scrollToColumn(int index, String destination, int padding); } diff --git a/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridConnector.java b/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridConnector.java index 382d01e04e..80eeeb6849 100644 --- a/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridConnector.java +++ b/uitest/src/com/vaadin/tests/widgetset/client/grid/TestGridConnector.java @@ -16,6 +16,7 @@ package com.vaadin.tests.widgetset.client.grid; import com.vaadin.client.ui.AbstractComponentConnector; +import com.vaadin.client.ui.grid.ScrollDestination; import com.vaadin.shared.ui.Connect; import com.vaadin.tests.widgetset.server.grid.TestGrid; @@ -50,6 +51,33 @@ public class TestGridConnector extends AbstractComponentConnector { getWidget().getColumnConfiguration().insertColumns(offset, amount); } + + @Override + public void scrollToRow(int index, String destination, int padding) { + getWidget().scrollToRow(index, getDestination(destination), + padding); + } + + @Override + public void scrollToColumn(int index, String destination, + int padding) { + getWidget().scrollToColumn(index, getDestination(destination), + padding); + } + + private ScrollDestination getDestination(String destination) { + final ScrollDestination d; + if (destination.equals("start")) { + d = ScrollDestination.START; + } else if (destination.equals("middle")) { + d = ScrollDestination.MIDDLE; + } else if (destination.equals("end")) { + d = ScrollDestination.END; + } else { + d = ScrollDestination.ANY; + } + return d; + } }); } diff --git a/uitest/src/com/vaadin/tests/widgetset/client/grid/VTestGrid.java b/uitest/src/com/vaadin/tests/widgetset/client/grid/VTestGrid.java index b3dff67338..04fe5561be 100644 --- a/uitest/src/com/vaadin/tests/widgetset/client/grid/VTestGrid.java +++ b/uitest/src/com/vaadin/tests/widgetset/client/grid/VTestGrid.java @@ -6,6 +6,7 @@ import com.vaadin.client.ui.grid.CellRenderer; import com.vaadin.client.ui.grid.ColumnConfiguration; import com.vaadin.client.ui.grid.Escalator; import com.vaadin.client.ui.grid.RowContainer; +import com.vaadin.client.ui.grid.ScrollDestination; public class VTestGrid extends Composite { public static class HeaderRenderer implements CellRenderer { @@ -58,7 +59,7 @@ public class VTestGrid extends Composite { public VTestGrid() { initWidget(escalator); final ColumnConfiguration cConf = escalator.getColumnConfiguration(); - cConf.insertColumns(cConf.getColumnCount(), 5); + cConf.insertColumns(cConf.getColumnCount(), 10); final RowContainer h = escalator.getHeader(); h.setCellRenderer(new HeaderRenderer()); @@ -84,4 +85,22 @@ public class VTestGrid extends Composite { public ColumnConfiguration getColumnConfiguration() { return escalator.getColumnConfiguration(); } + + public void scrollToRow(int index, ScrollDestination destination, + int padding) { + if (padding != 0) { + escalator.scrollToRow(index, destination, padding); + } else { + escalator.scrollToRow(index, destination); + } + } + + public void scrollToColumn(int index, ScrollDestination destination, + int padding) { + if (padding != 0) { + escalator.scrollToColumn(index, destination, padding); + } else { + escalator.scrollToColumn(index, destination); + } + } } diff --git a/uitest/src/com/vaadin/tests/widgetset/server/grid/TestGrid.java b/uitest/src/com/vaadin/tests/widgetset/server/grid/TestGrid.java index 7fc20420d2..c4a642aafe 100644 --- a/uitest/src/com/vaadin/tests/widgetset/server/grid/TestGrid.java +++ b/uitest/src/com/vaadin/tests/widgetset/server/grid/TestGrid.java @@ -53,4 +53,12 @@ public class TestGrid extends AbstractComponent { private TestGridClientRpc rpc() { return getRpcProxy(TestGridClientRpc.class); } + + public void scrollToRow(int index, String destination, int padding) { + rpc().scrollToRow(index, destination, padding); + } + + public void scrollToColumn(int index, String destination, int padding) { + rpc().scrollToColumn(index, destination, padding); + } } |