ingo@20: package de.intevation.flys.client.client.ui; ingo@20: ingo@20: import com.google.gwt.core.client.GWT; ingo@39: import com.google.gwt.resources.client.ImageResource; ingo@20: ingo@20: import com.smartgwt.client.types.VerticalAlignment; ingo@20: import com.smartgwt.client.widgets.Canvas; ingo@39: import com.smartgwt.client.widgets.Img; ingo@20: import com.smartgwt.client.widgets.layout.HLayout; ingo@20: ingo@51: import de.intevation.flys.client.shared.model.DataList; ingo@39: import de.intevation.flys.client.client.FLYSImages; raimund@282: import de.intevation.flys.client.client.event.HasStepForwardHandlers; raimund@282: import de.intevation.flys.client.shared.model.Data; ingo@20: ingo@20: ingo@20: /** ingo@20: * This UIProvider displays the DataItems contained in the Data object in a ingo@20: * combo box as SelectProvider does. Furthermore, there is a map displayed that ingo@20: * lets the user choose a river by selecting it on the map. ingo@20: * ingo@20: * @author Ingo Weinzierl ingo@20: */ ingo@20: public class MapSelection extends SelectProvider { ingo@20: ingo@39: /** The interface that provides the image resources. */ ingo@39: private FLYSImages IMAGES = GWT.create(FLYSImages.class); ingo@39: raimund@282: protected ModuleSelection moduleSelection; ingo@39: ingo@20: public MapSelection() { ingo@20: } ingo@20: ingo@20: ingo@20: /** ingo@20: * This method currently returns a ingo@20: * {@link com.smartgwt.client.widgets.form.DynamicForm} that contains all ingo@20: * data items in a combobox stored in data.
ingo@20: * ingo@20: * TODO: The map panel for the river selection needs to be ingo@20: * implemented! ingo@20: * ingo@51: * @param data The {@link DataList} object. ingo@20: * ingo@20: * @return a combobox. ingo@20: */ ingo@51: protected Canvas createWidget(DataList data) { ingo@20: GWT.log("MapSelection - create()"); ingo@20: ingo@20: HLayout h = new HLayout(); ingo@20: h.setAlign(VerticalAlignment.TOP); raimund@282: h.setHeight(100); raimund@282: moduleSelection = new ModuleSelection(); ingo@20: raimund@282: Canvas form = moduleSelection.create(data); ingo@30: form.setWidth(250); ingo@53: form.setLayoutAlign(VerticalAlignment.TOP); ingo@20: ingo@39: ImageResource mapRes = IMAGES.riverMap(); ingo@39: Img map = new Img(mapRes.getURL(), 400, 452); ingo@20: ingo@39: // TODO implement event handling in the river map ingo@20: ingo@20: h.addMember(form); ingo@83: helperContainer.addChild(map); ingo@20: ingo@20: return h; ingo@20: } raimund@282: raimund@282: protected Data[] getData() { raimund@282: if (moduleSelection != null) { raimund@282: return moduleSelection.getData(); raimund@282: } raimund@282: else { raimund@282: return null; raimund@282: } raimund@282: } ingo@20: } ingo@20: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :