/* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * as published by the Free Software Foundation. Smart GWT is also * available under typical commercial license terms - see * http://smartclient.com/license * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ import java.util.LinkedHashMap; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.ComboBoxItem; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.grid.CellFormatter; import com.smartgwt.client.widgets.grid.HoverCustomizer; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.sample.showcase.client.data.ItemSupplyXmlDS; import com.google.gwt.core.client.EntryPoint; public class ComboBoxStyledSample implements EntryPoint { public void onModuleLoad() { final DynamicForm form = new DynamicForm(); form.setWidth(250); ComboBoxItem cbItem = new ComboBoxItem(); cbItem.setTitle("Select"); cbItem.setHint("
A simple ComboBoxItem
"); cbItem.setType("comboBox"); cbItem.setValueMap("Cat", "Dog", "Giraffe", "Goat", "Marmoset", "Mouse"); SelectItem selectItem = new SelectItem(); selectItem.setTitle("Select"); selectItem.setHint("
A SelectItem with icons
"); LinkedHashMap
valueMap = new LinkedHashMap
(); valueMap.put("US", "
United States
"); valueMap.put("CH", "China"); valueMap.put("JA", "
Japan
"); valueMap.put("IN", "India"); valueMap.put("GM", "Germany"); valueMap.put("FR", "France"); valueMap.put("IT", "Italy"); valueMap.put("RS", "Russia"); valueMap.put("BR", "
Brazil
"); valueMap.put("CA", "Canada"); valueMap.put("MX", "Mexico"); valueMap.put("SP", "Spain"); selectItem.setValueMap(valueMap); selectItem.setImageURLPrefix("flags/16/"); selectItem.setImageURLSuffix(".png"); LinkedHashMap
valueIcons = new LinkedHashMap
(); 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("
A SelectItem with styled entries
"); selectItem2.setValueMap("
Red
", "
Green
", "
Blue
"); 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 = "
" + "
" + itemName + "
" + "
" + unitCost + "
" + "
" + descStr + "
"; 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); form.draw(); } }