view flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapPanel.java @ 5539:8d0af912351c

Revert config.yaml to usable version. Some changes to Map resizing in DigitizePanel.
author Christian Lins <christian.lins@intevation.de>
date Wed, 03 Apr 2013 15:59:01 +0200
parents ef32ab3c1679
children
line wrap: on
line source
package de.intevation.flys.client.client.ui.map;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.AbsolutePanel;

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 AbsolutePanel {

    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() {
        setWidth("100%");
        setHeight("100%");

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

        add(toolbar);
        add(floodMapWidget);
    }

    public void doLayout(int w, int h) {
        int width = w;
        int height = h;
        GWT.log("MapPanel.size: " + width + "x" + height);

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

        if (width < 0 || height < 0) {
            GWT.log("MapPanel: Oops what a size!");
            return;
        }

        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