ColumnSortEvent.ListHandler<PropertyRecord> sortHandler =
new ColumnSortEvent.ListHandler<PropertyRecord>(propertyProvider.getList());
// Create columns
Column<PropertyRecord, String> keyColumn = new Column<PropertyRecord, String>(new DefaultEditTextCell()) {
{
setFieldUpdater(new FieldUpdater<PropertyRecord, String>() {
@Override
public void update(int index, PropertyRecord object, String value) {
object.setKey(value);
presenter.onChangeProperty(reference, object);
}
});
}
@Override
public String getValue(PropertyRecord object) {
return object.getKey();
}
};
keyColumn.setSortable(true);
sortHandler.setComparator(keyColumn, new Comparator<PropertyRecord>() {
@Override
public int compare(PropertyRecord o1, PropertyRecord o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
Column<PropertyRecord, String> valueColumn = new Column<PropertyRecord, String>(new DefaultEditTextCell()) {
{
setFieldUpdater(new FieldUpdater<PropertyRecord, String>() {
@Override
public void update(int index, PropertyRecord object, String value) {
object.setValue(value);
presenter.onChangeProperty(reference, object);
}
});
}
@Override
public String getValue(PropertyRecord object) {
return object.getValue();
}
};
/*Column<PropertyRecord, SafeHtml> valueColumn = new Column<PropertyRecord, SafeHtml>(new SafeHtmlCell()) {
@Override
public SafeHtml getValue(PropertyRecord object) {
String val = object.getValue();
return new SafeHtmlBuilder().appendHtmlConstant("<span title='" +
new SafeHtmlBuilder().appendEscaped(val).toSafeHtml().asString() + "'>" + val + "</span>").toSafeHtml();
}
};*/
Column<PropertyRecord, String> bootColumn = new Column<PropertyRecord, String>(new DefaultEditTextCell()) {
{
setFieldUpdater(new FieldUpdater<PropertyRecord, String>() {
@Override
public void update(int index, PropertyRecord object, String value) {