]> source.dussan.org Git - vaadin-framework.git/commitdiff
Add constructor with header text for client side GridColumn (#13334)
authorTeemu Suo-Anttila <teemusa@vaadin.com>
Mon, 20 Oct 2014 11:02:01 +0000 (14:02 +0300)
committerJohannes Dahlström <johannesd@vaadin.com>
Wed, 22 Oct 2014 10:55:40 +0000 (10:55 +0000)
Change-Id: I72c5f0dbb3b6770e552ad2f75d2f612b66cfb17b

client/src/com/vaadin/client/ui/grid/Grid.java
client/src/com/vaadin/client/ui/grid/GridColumn.java
uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java
uitest/src/com/vaadin/tests/widgetset/client/grid/GridClientDataSourcesWidget.java

index c19f5a7c09ce0658d7358d8d4626566dec23db2e..38590507aa8a8c3001ce93a3025c182023fa59b5 100644 (file)
@@ -875,6 +875,21 @@ public class Grid<T> 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<T> 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<? super C> renderer) throws IllegalArgumentException {
+            this(renderer);
+            setHeaderText(headerText);
+        }
+
         /**
          * Internally used by the grid to set itself
          * 
@@ -909,14 +941,22 @@ public class Grid<T> 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();
                 }
index 69be2d553249185a4014633e115280da4ab1d9fa..e0bd27bc62945a699afb00a20448bd7b672a9cfe 100644 (file)
@@ -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<C, T> extends Grid.AbstractGridColumn<C, T> {
      * 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<? super C> renderer) {
+    public GridColumn(Renderer<? super C> 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<? super C> renderer)
+            throws IllegalArgumentException {
+        super(headerText, renderer);
+    }
 }
index d6d0437a68fe3e59ee980d2a90820569a952acf9..59f2d7fd1741643c821a440a92ec18e80f9afe38 100644 (file)
@@ -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() {
index 2126d2d335376bb9eac9e1c84690fde123a6ae13..c829464c1241b4c2024b122d8f16977a268f0328 100644 (file)
@@ -165,10 +165,8 @@ public class GridClientDataSourcesWidget extends
 
             restishDataSource = new RestishDataSource();
             grid.setDataSource(restishDataSource);
-            grid.addColumn(new GridColumn<String, String[]>(new TextRenderer()) {
-                {
-                    setHeader("column");
-                }
+            grid.addColumn(new GridColumn<String, String[]>("column",
+                    new TextRenderer()) {
 
                 @Override
                 public String getValue(String[] row) {