summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/ui/grid/Grid.java52
-rw-r--r--client/src/com/vaadin/client/ui/grid/GridColumn.java43
-rw-r--r--uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java14
-rw-r--r--uitest/src/com/vaadin/tests/widgetset/client/grid/GridClientDataSourcesWidget.java6
4 files changed, 97 insertions, 18 deletions
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
@@ -876,6 +876,21 @@ public class Grid<T> extends ResizeComposite implements
}
/**
+ * 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.
*
* @param renderer
@@ -890,6 +905,23 @@ public class Grid<T> extends ResizeComposite implements
}
/**
+ * 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
*
* @param grid
@@ -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();
}
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}.
*
@@ -36,12 +37,52 @@ public abstract class GridColumn<C, T> extends Grid.AbstractGridColumn<C, T> {
*/
/**
+ * 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);
+ }
}
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<String, String[]>(new TextRenderer()) {
- {
- setHeader("column");
- }
+ grid.addColumn(new GridColumn<String, String[]>("column",
+ new TextRenderer()) {
@Override
public String getValue(String[] row) {