From: Teemu Suo-Anttila Date: Mon, 20 Oct 2014 11:02:01 +0000 (+0300) Subject: Add constructor with header text for client side GridColumn (#13334) X-Git-Tag: 7.4.0.beta1~9^2~133 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f53ba6dfcf531b917deda959f341aa6f85da99c0;p=vaadin-framework.git Add constructor with header text for client side GridColumn (#13334) Change-Id: I72c5f0dbb3b6770e552ad2f75d2f612b66cfb17b --- diff --git a/client/src/com/vaadin/client/ui/grid/Grid.java b/client/src/com/vaadin/client/ui/grid/Grid.java index c19f5a7c09..38590507aa 100644 --- a/client/src/com/vaadin/client/ui/grid/Grid.java +++ b/client/src/com/vaadin/client/ui/grid/Grid.java @@ -875,6 +875,21 @@ public class Grid extends ResizeComposite implements setRenderer(new DefaultTextRenderer()); } + /** + * Constructs a new column with a simple TextRenderer. + * + * @param headerText + * The header text for this column + * + * @throws IllegalArgumentException + * if given header text is null + */ + public AbstractGridColumn(String headerText) + throws IllegalArgumentException { + this(); + setHeaderText(headerText); + } + /** * Constructs a new column with a custom renderer. * @@ -889,6 +904,23 @@ public class Grid extends ResizeComposite implements setRenderer(renderer); } + /** + * Constructs a new column with a custom renderer. + * + * @param renderer + * The renderer to use for rendering the cells + * @param headerText + * The header text for this column + * + * @throws IllegalArgumentException + * if given Renderer or header text is null + */ + public AbstractGridColumn(String headerText, + Renderer renderer) throws IllegalArgumentException { + this(renderer); + setHeaderText(headerText); + } + /** * Internally used by the grid to set itself * @@ -909,14 +941,22 @@ public class Grid extends ResizeComposite implements } /** - * Sets a header caption for this column. + * Sets a header text for this column. + * + * @param headerText + * The header text for this column * - * @param caption - * caption text for header + * @throws IllegalArgumentException + * if given header text is null */ - public void setHeader(String caption) { - if (!headerText.equals(caption)) { - headerText = caption; + public void setHeaderText(String headerText) { + if (headerText == null) { + throw new IllegalArgumentException( + "Header text cannot be null."); + } + + if (!this.headerText.equals(headerText)) { + this.headerText = headerText; if (grid != null) { updateHeader(); } diff --git a/client/src/com/vaadin/client/ui/grid/GridColumn.java b/client/src/com/vaadin/client/ui/grid/GridColumn.java index 69be2d5532..e0bd27bc62 100644 --- a/client/src/com/vaadin/client/ui/grid/GridColumn.java +++ b/client/src/com/vaadin/client/ui/grid/GridColumn.java @@ -15,6 +15,7 @@ */ package com.vaadin.client.ui.grid; + /** * Represents a column in the {@link Grid}. * @@ -35,13 +36,53 @@ public abstract class GridColumn extends Grid.AbstractGridColumn { * should be in the abstract class. */ + /** + * Constructs a new column with a simple TextRenderer. + */ + public GridColumn() { + super(); + } + + /** + * Constructs a new column with a simple TextRenderer. + * + * @param headerText + * The header text for this column + * + * @throws IllegalArgumentException + * if given Renderer is null + */ + public GridColumn(String headerText) throws IllegalArgumentException { + super(headerText); + } + /** * Constructs a new column with a custom renderer. * * @param renderer * The renderer to use for rendering the cells + * + * @throws IllegalArgumentException + * if given Renderer is null */ - public GridColumn(Renderer renderer) { + public GridColumn(Renderer renderer) + throws IllegalArgumentException { super(renderer); } + + /** + * Constructs a new column with a custom renderer. + * + * @param renderer + * The renderer to use for rendering the cells + * @param headerText + * The header text for this column + * + * @throws IllegalArgumentException + * if given Renderer or header text is null + */ + public GridColumn(String headerText, Renderer renderer) + throws IllegalArgumentException { + super(headerText, renderer); + } } diff --git a/uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java b/uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java index d6d0437a68..59f2d7fd17 100644 --- a/uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java +++ b/uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java @@ -265,7 +265,7 @@ public class GridBasicClientFeaturesWidget extends }; column.setWidth(50 + c * 25); - column.setHeader("Header (0," + c + ")"); + column.setHeaderText("Header (0," + c + ")"); grid.addColumn(column); } @@ -281,7 +281,7 @@ public class GridBasicClientFeaturesWidget extends } }; grid.addColumn(column); - column.setHeader("Header (0," + c + ")"); + column.setHeaderText("Header (0," + c + ")"); } // Some date @@ -295,7 +295,7 @@ public class GridBasicClientFeaturesWidget extends } }; grid.addColumn(column); - column.setHeader("Header (0," + c + ")"); + column.setHeaderText("Header (0," + c + ")"); } // Row number as a HTML string @@ -309,7 +309,7 @@ public class GridBasicClientFeaturesWidget extends } }; grid.addColumn(column); - column.setHeader("Header (0," + c + ")"); + column.setHeaderText("Header (0," + c + ")"); } // Random integer value @@ -323,7 +323,7 @@ public class GridBasicClientFeaturesWidget extends } }; grid.addColumn(column); - column.setHeader("Header (0," + c + ")"); + column.setHeaderText("Header (0," + c + ")"); } // Random integer value between 0 and 5 @@ -337,7 +337,7 @@ public class GridBasicClientFeaturesWidget extends } }; grid.addColumn(column); - column.setHeader("Header (0," + c + ")"); + column.setHeaderText("Header (0," + c + ")"); } HeaderRow row = grid.getHeader().getDefaultRow(); @@ -529,7 +529,7 @@ public class GridBasicClientFeaturesWidget extends addMenuCommand("Text Header", new ScheduledCommand() { @Override public void execute() { - column.setHeader("Text Header"); + column.setHeaderText("Text Header"); } }, "Component", "Columns", "Column " + i, "Header Type"); addMenuCommand("HTML Header", new ScheduledCommand() { diff --git a/uitest/src/com/vaadin/tests/widgetset/client/grid/GridClientDataSourcesWidget.java b/uitest/src/com/vaadin/tests/widgetset/client/grid/GridClientDataSourcesWidget.java index 2126d2d335..c829464c12 100644 --- a/uitest/src/com/vaadin/tests/widgetset/client/grid/GridClientDataSourcesWidget.java +++ b/uitest/src/com/vaadin/tests/widgetset/client/grid/GridClientDataSourcesWidget.java @@ -165,10 +165,8 @@ public class GridClientDataSourcesWidget extends restishDataSource = new RestishDataSource(); grid.setDataSource(restishDataSource); - grid.addColumn(new GridColumn(new TextRenderer()) { - { - setHeader("column"); - } + grid.addColumn(new GridColumn("column", + new TextRenderer()) { @Override public String getValue(String[] row) {