Oct 07
GWT-Ext Combo helper method
While working with a GWT-Ext application, I found that most of the Combo boxes used are just meant to be readonly drop down lists. Like the style 2 combo boxes we had in VB. A 2D array with display and value fields is all that is needed. Yet, every combo needs 6-7 lines to get going.
This utility method may be handy in such situations:
public static ComboBox getDropDownCombo(Object[][] data, String fieldLabel, String emptyText, int width, int listWidth) { Store store = new SimpleStore(new String[]{"display", "value"}, data); ComboBox combo = new ComboBox(); combo.setEditable(false); combo.setStore(store); combo.setDisplayField("display"); combo.setValueField("value"); combo.setMode(ComboBox.LOCAL); combo.setTriggerAction(ComboBox.ALL); if(fieldLabel != null) combo.setFieldLabel(fieldLabel); else combo.setHideLabel(true); if(width != -1) combo.setWidth(width); if(listWidth != -1) combo.setListWidth(listWidth); if(emptyText != null) combo.setEmptyText(emptyText); else // if there is no empty text, select the first value by default combo.setValue(data[0][1].toString()); return combo; }
Sample usage could be:
String[][] data = {{ "Mark as read", "1"}, {"Mark as unread", "2"}, {"Add star", "3"}, {"Remove star", "4"}}; ComboBox cmbMin = UIHelper.getDropDownCombo(data, "Actions", "[Select]", 275, -1);
