Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapOutputTab.java @ 805:f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
flys-client/trunk@2366 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 20 Jul 2011 07:52:19 +0000 |
parents | 95cc560ce7c4 |
children | e50da1f74e58 |
line wrap: on
line source
package de.intevation.flys.client.client.ui.map; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Widget; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.events.ResizedEvent; import com.smartgwt.client.widgets.events.ResizedHandler; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; import org.gwtopenmaps.openlayers.client.Bounds; import org.gwtopenmaps.openlayers.client.LonLat; import org.gwtopenmaps.openlayers.client.layer.WMS; import org.gwtopenmaps.openlayers.client.layer.WMSParams; import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.shared.model.OutputMode; import de.intevation.flys.client.client.ui.CollectionView; import de.intevation.flys.client.client.ui.OutputTab; import de.intevation.flys.client.client.ui.chart.ChartThemePanel; public class MapOutputTab extends OutputTab { protected CollectionView parent; protected Canvas controlPanel; protected Canvas themePanel; protected Widget mapPanel; protected FloodMap floodMap; public MapOutputTab( String title, Collection collection, OutputMode mode, CollectionView collectionView ){ super(title, collection, mode); this.parent = collectionView; floodMap = new FloodMap(); initLayout(); initLayers(); } protected void initLayout() { VLayout rootLayout = new VLayout(); rootLayout.setHeight100(); rootLayout.setWidth100(); rootLayout.setMembersMargin(2); final Canvas wrapper = new Canvas(); wrapper.setWidth100(); wrapper.setHeight100(); controlPanel = createControlPanel(wrapper); themePanel = createThemePanel(); mapPanel = floodMap.getMapWidget(); final HorizontalPanel layout = new HorizontalPanel(); layout.setWidth("99%"); layout.setHeight("99%"); layout.add(mapPanel); wrapper.addChild(layout); HLayout hlayout = new HLayout(); hlayout.setHeight("*"); hlayout.setWidth100(); hlayout.setMembersMargin(2); hlayout.addMember(themePanel); hlayout.addMember(wrapper); rootLayout.addMember(controlPanel); rootLayout.addMember(hlayout); wrapper.addResizedHandler(new ResizedHandler() { public void onResized(ResizedEvent e) { Integer height = wrapper.getHeight(); Integer width = wrapper.getWidth(); height = height * 99 / 100; width = width * 99 / 100; String w = String.valueOf(width) + "px"; String h = String.valueOf(height) + "px"; floodMap.setSize(w, h); } }); setPane(rootLayout); } protected void initLayers() { // TODO Initialize correct layers here String url = "http://vmap0.tiles.osgeo.org/wms/vmap0"; String layers = "basic"; WMSParams params = new WMSParams(); params.setLayers(layers); params.setFormat("image/png"); params.setIsTransparent(false); params.setMaxExtent(new Bounds(90, 180, -90, -180)); WMS wms = new WMS("vmap0", url, params); wms.setIsBaseLayer(true); wms.setIsVisible(true); floodMap.getMap().addLayer(wms); floodMap.getMap().setCenter(new LonLat(0, 0)); } protected Canvas createControlPanel(Canvas wrapper) { return new MapToolbar(floodMap, wrapper); } protected Canvas createThemePanel() { Canvas c = new Canvas(); c.setWidth(200); c.setHeight100(); c.setBorder("1px solid black"); ChartThemePanel ctp = new ChartThemePanel(collection, mode); c.addChild(ctp); return c; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :