}
}
public Canvas getViewPanel() {
Canvas canvas = new Canvas();
final ListGrid countryGrid = new ListGrid();
countryGrid.setWidth(500);
countryGrid.setHeight(224);
countryGrid.setShowAllRecords(true);
countryGrid.setWrapCells(true);
// taller rows to fit 'government' values
countryGrid.setCellHeight(32);
countryGrid.setHoverWidth(300);
ListGridField countryCodeField = new ListGridField("countryCode", "Flag", 50);
countryCodeField.setAlign(Alignment.CENTER);
countryCodeField.setType(ListGridFieldType.IMAGE);
countryCodeField.setImageURLPrefix("flags/16/");
countryCodeField.setImageURLSuffix(".png");
ListGridField nameField = new ListGridField("countryName", "Country");
ListGridField governmentField = new ListGridField("government", "Government", 120);
governmentField.setShowHover(true);
governmentField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) {
CountryRecord countryRecord = (CountryRecord) record;
int governmentDesc = countryRecord.getGovernmentDesc();
return governmentDescription[governmentDesc];
}
});
countryGrid.setFields(countryCodeField, nameField, governmentField);
countryGrid.setCanResizeFields(true);
countryGrid.setData(CountryData.getRecords());
canvas.addChild(countryGrid);
IButton everyCell = new IButton("Show Hover on every cell");
everyCell.setWidth(250);
everyCell.setTop(250);
everyCell.setActionType(SelectionType.RADIO);
everyCell.setRadioGroup("canHover");
everyCell.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// When canHover is true on a ListGrid, cells will show hover text unless field.showHover is false
countryGrid.setCanHover(true);
}
});
canvas.addChild(everyCell);
IButton governmentCell = new IButton("Show Hover on <i>Government</i> cells only");
governmentCell.setWidth(250);
governmentCell.setTop(300);
governmentCell.setActionType(SelectionType.RADIO);
governmentCell.setRadioGroup("canHover");
governmentCell.setSelected(true);
governmentCell.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// When canHover is unset on a ListGrid, cells will show hover text if field.showHover is true
countryGrid.setCanHover(null);
}
});
canvas.addChild(governmentCell);
IButton noCell = new IButton("Suppress all cell hovers");
noCell.setWidth(250);
noCell.setTop(350);
noCell.setActionType(SelectionType.RADIO);
noCell.setRadioGroup("canHover");
noCell.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// When canHover is false on a ListGrid, cells will not show any hover text
countryGrid.setCanHover(false);
//countryGrid.setHoverWidth(5);
}
});
canvas.addChild(noCell);
return canvas;
}