public Canvas getViewPanel() {
final DynamicForm form = new DynamicForm();
form.setWidth(250);
ComboBoxItem cbItem = new ComboBoxItem();
cbItem.setTitle("Select");
cbItem.setHint("<nobr>A simple ComboBoxItem</nobr>");
cbItem.setType("comboBox");
cbItem.setValueMap("Cat", "Dog", "Giraffe", "Goat", "Marmoset", "Mouse");
SelectItem selectItem = new SelectItem();
selectItem.setTitle("Select");
selectItem.setHint("<nobr>A SelectItem with icons</nobr>");
LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>();
valueMap.put("US", "<b>United States</b>");
valueMap.put("CH", "China");
valueMap.put("JA", "<b>Japan</b>");
valueMap.put("IN", "India");
valueMap.put("GM", "Germany");
valueMap.put("FR", "France");
valueMap.put("IT", "Italy");
valueMap.put("RS", "Russia");
valueMap.put("BR", "<b>Brazil</b>");
valueMap.put("CA", "Canada");
valueMap.put("MX", "Mexico");
valueMap.put("SP", "Spain");
selectItem.setValueMap(valueMap);
selectItem.setImageURLPrefix("flags/16/");
selectItem.setImageURLSuffix(".png");
LinkedHashMap<String, String> valueIcons = new LinkedHashMap<String, String>();
valueIcons.put("US", "US");
valueIcons.put("CH", "CH");
valueIcons.put("JA", "JA");
valueIcons.put("IN", "IN");
valueIcons.put("GM", "GM");
valueIcons.put("FR", "FR");
valueIcons.put("IT", "IT");
valueIcons.put("RS", "RS");
valueIcons.put("BR", "BR");
valueIcons.put("CA", "CA");
valueIcons.put("MX", "MX");
valueIcons.put("SP", "SP");
selectItem.setValueIcons(valueIcons);
SelectItem selectItem2 = new SelectItem();
selectItem2.setTitle("Select");
selectItem2.setHint("<nobr>A SelectItem with styled entries</nobr>");
selectItem2.setValueMap("<span style='color:#FF0000;'>Red</span>",
"<span style='color:#00FF00;'>Green</span>",
"<span style='color:#0000FF;'>Blue</span>");
ComboBoxItem comboBoxItem = new ComboBoxItem("itemName", "Custom");
comboBoxItem.setOptionDataSource(ItemSupplyXmlDS.getInstance());
comboBoxItem.setWidth(260);
ListGrid pickListProperties = new ListGrid();
pickListProperties.setCellHeight(50);
pickListProperties.setCanHover(true);
pickListProperties.setShowHover(true);
pickListProperties.setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
String descStr = record.getAttribute("description");
if (descStr == null) descStr = "[no description]";
String itemName = record.getAttribute("itemName");
String unitCost = record.getAttribute("unitCost");
String styleStr = "font-family:arial;font-size:11px;white-space:nowrap;overflow:hidden;";
String retStr = "<table>" +
"<tr><td ><span style='" + styleStr + "width:170px;float:left'>" + itemName + "<span></td>" +
"<td align='right'><span style='" + styleStr + "width:50px;float:right;font-weight:bold'>" + unitCost + "<span></td></tr>" +
"<tr><td colSpan=2><span style='" + styleStr + "width:220px;float:left'>" + descStr + "</span></td></tr></table>";
return retStr;
}
});
pickListProperties.setHoverCustomizer(new HoverCustomizer() {
@Override
public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) {
String descStr = record.getAttribute("description");
if (descStr == null) descStr = "[no description]";
return descStr;
}
});
comboBoxItem.setPickListProperties(pickListProperties);
form.setFields(cbItem, selectItem, selectItem2, comboBoxItem);
return form;
}