view flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapPanel.java @ 4553:fac54b8470d4

Map view in DigitizePanel now shows OSM background, river axis and manual drawn barriers again. Please note that this change requires changes in conf/floodmap.xml in artifact-server.
author Christian Lins <christian.lins@intevation.de>
date Fri, 16 Nov 2012 12:36:10 +0100
parents 7b454c6e2bcb
children 8ca06d3040d0
line wrap: on
line source
package de.intevation.flys.client.client.ui.map;

import com.google.gwt.core.client.GWT;

import com.smartgwt.client.widgets.events.ResizedEvent;
import com.smartgwt.client.widgets.events.ResizedHandler;
import com.smartgwt.client.widgets.layout.VLayout;

import de.intevation.flys.client.shared.model.BBox;
import de.intevation.flys.client.shared.model.MapInfo;

import org.gwtopenmaps.openlayers.client.Bounds;
import org.gwtopenmaps.openlayers.client.MapWidget;

/**
 * Panel that contains a MapWidget and a MapToolbar.
 * This panel is used by the flood map calculation input helper.
 */
public class MapPanel extends VLayout {

    protected MapToolbar      toolbar;

    protected FloodMap  floodMap;
    protected MapWidget floodMapWidget;
    protected boolean   digitizeEnabled;

    public MapPanel(MapInfo mapInfo, boolean digitizeEnabled) {
        BBox bbox = mapInfo.getBBox();

        this.digitizeEnabled = digitizeEnabled;
        this.floodMap        = new FloodMap(
            String.valueOf(mapInfo.getSrid()),
            new Bounds(
                bbox.getLowerX(),
                bbox.getLowerY(),
                bbox.getUpperX(),
                bbox.getUpperY()),
                640, 480);

        initLayout();
    }


    private void initLayout() {
        setWidth100();
        setHeight100();

        floodMapWidget = floodMap.getMapWidget();
        toolbar = new MapToolbar(floodMap, digitizeEnabled);

        addMember(toolbar);
        addMember(floodMapWidget);

        addResizedHandler(new ResizedHandler() {

            @Override
            public void onResized(ResizedEvent event) {
                doLayout();
            }
        });
    }


    protected void doLayout() {
        int width = getWidth();
        int height = getHeight();
        GWT.log("MapPanel.size: " + width + "x" + height);

        width -= 2; // minus black borders
        height -= toolbar.getHeight() + 4;

        floodMapWidget.setSize(Integer.toString(width), Integer.toString(height));
        floodMapWidget.getMap().updateSize();
    }


    public FloodMap getFloodMap() {
        return floodMap;
    }

    public MapToolbar getMapToolbar () {
        return toolbar;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org