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

Get rid of HorizontalLayout in MapOutputTab and use manual resizing. The OpenLayers Map widget is now resized and positioned manually by a ResizeHandler method. The automatic HorizontalLayout was obviously broken in combination with the OpenLayers widget. This should fix various layout issues with the OpenLayers Map.
author Christian Lins <christian.lins@intevation.de>
date Mon, 05 Nov 2012 15:17:58 +0100
parents 61020a61ed38
children 6fb4e29a2a9b
line wrap: on
line source
package de.intevation.flys.client.client.ui.map;

import com.google.gwt.user.client.ui.HorizontalPanel;

import com.smartgwt.client.widgets.Canvas;
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;


public class MapPanel extends VLayout {

    protected MapToolbar      toolbar;
    protected HorizontalPanel mapArea;

    protected FloodMap floodMap;
    protected boolean  digitizeEnabled;


    public MapPanel(MapInfo mapInfo, boolean digitizeEnabled) {
        super();

        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()),
                "100%", "100%");

        initLayout();
    }


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

        mapArea = new HorizontalPanel();
        mapArea.setWidth("99%");
        mapArea.setHeight("99%");
        mapArea.add(floodMap.getMapWidget());

        Canvas wrapper = new Canvas();
        wrapper.setWidth100();
        wrapper.setHeight100();
        wrapper.addChild(mapArea);
        wrapper.setRedrawOnResize(true);

        toolbar = new MapToolbar(floodMap, digitizeEnabled);

        addMember(toolbar);
        addMember(wrapper);
    }


    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