/** * */ package de.jwic.mobile.demos; import java.util.ArrayList; import java.util.List; import java.util.Random; import de.jwic.base.Control; import de.jwic.base.ControlContainer; import de.jwic.base.IControlContainer; import de.jwic.controls.combo.LifeSearchCombo; import de.jwic.controls.mobile.MCombo; import de.jwic.data.DataLabel; import de.jwic.data.IBaseLabelProvider; import de.jwic.demo.advanced.PartObject; import de.jwic.demo.advanced.PartObjectContentProvider; import de.jwic.events.ElementSelectedEvent; import de.jwic.events.ElementSelectedListener; import de.jwic.mobile.MobileDemoModule; /** * @author vedad * */ public final class ComboDemo extends MobileDemoModule { private List<PartObject> demoData = new ArrayList<PartObject>(); public ComboDemo() { super("Combo Demo"); } private void createDemoData() { String[] color = { "Red", "Green", "Blue", "White", "Black" }; String[] type = { "Book", "Wheel", "Chair", "Computer" }; String[] extension = { "Light", "Premium", "Express", "Master" }; Random rnd = new Random(0l); for (int i = 0; i < 10000; i++) { PartObject po = new PartObject(); String name = color[rnd.nextInt(color.length)] + " " + type[rnd.nextInt(type.length)] + " X" + (i % 10) + "00 " + extension[rnd.nextInt(extension.length)]; po.setName(name); po.setPartNumber(name.substring(0, 1) + "XX-" + i); demoData.add(po); } } /* * (non-Javadoc) * * @see de.jwic.mobile.MobileDemoModule#createPage(de.jwic.base. * IControlContainer) */ @Override public Control createPage(IControlContainer controlContainer) { final ControlContainer container = new ControlContainer(controlContainer, "controlContainer"); createDemoData(); MCombo<PartObject> firstcombo = new MCombo<PartObject>(container, "firstcombo"); firstcombo.setFilterReveal(true); firstcombo.setRemote(true); firstcombo.setFilterPlaceholder("Enter at least 3 characters of a part number or name"); firstcombo.setBaseLabelProvider(new IBaseLabelProvider<PartObject>() { public DataLabel getBaseLabel(PartObject object) { return new DataLabel(object.getTitle()); } }); firstcombo.setWidth(400); firstcombo.getComboBehavior().setTransferFullObject(true); firstcombo.getComboBehavior().setMaxFetchRows(10); firstcombo.setContentProvider(new PartObjectContentProvider(demoData)); return container; } }