1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
package com.temp.client.foundation.widget.table.column;
import com.temp.client.foundation.handler.DataClickHandler;
import com.temp.client.foundation.handler.DataIsClickableHandler;
import com.temp.client.foundation.widget.table.DataRow;
import com.temp.client.foundation.widget.table.cell.TextDataCell;
import com.temp.shared.utils.DisplayStringHandler;
import com.google.gwt.user.cellview.client.Column;
@SuppressWarnings("rawtypes")
public class ClickableTextDataColumn<R extends DataRow, C> extends Column<R, C> implements DataColumn {
private Object field;
public ClickableTextDataColumn(
Object field,
DataClickHandler<C> clickHandler,
boolean isSortable, boolean isNumeric) {
this(field, null, clickHandler, null, isSortable, isNumeric);
}
public ClickableTextDataColumn(
Object field,
DisplayStringHandler<C> displayStringHandler,
DataClickHandler<C> clickHandler,
boolean isSortable, boolean isNumeric) {
this(field, displayStringHandler, clickHandler, null, isSortable, isNumeric);
}
public ClickableTextDataColumn(
Object field,
DisplayStringHandler<C> displayStringHandler,
DataClickHandler<C> clickHandler,
DataIsClickableHandler<C> isClickableHandler,
boolean isSortable, boolean isNumeric) {
super(new TextDataCell<C>(displayStringHandler, clickHandler, isClickableHandler));
this.field = field;
setSortable(isSortable);
if (isNumeric) {
this.setHorizontalAlignment(ALIGN_RIGHT);
}
}
@Override
public String getFieldString() {
return field.toString();
}
@SuppressWarnings("unchecked")
@Override
public C getValue(R rowData) {
return (C) rowData.getFieldValue(field);
}
}
|