package usda.weru.gis.gui;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.beans.beancontext.BeanContextSupport;
import javax.swing.JLayeredPane;

/**
 * holds a single MapRendererLayer
 * @author Joseph A. Levin <joelevin@weru.ksu.edu>
 */
public class MapPane extends JLayeredPane {

    private static final long serialVersionUID = 1L;
    private MapRenderLayer c_renderLayer;
    private Dimension paneSize;

    public MapPane() {        
        initComponents();
    }

    private void initComponents() {
        addComponentListener(new ComponentAdapter() {
            @Override
            public void componentResized(ComponentEvent e) {
                resize();
            }
        });

        BeanContextSupport context = new BeanContextSupport();
        if (!context.isDesignTime()) {
            //zoom bar
            c_renderLayer = new MapRenderLayer();
            add(c_renderLayer, 10);
            //add(new MapPanLayer(c_renderLayer), 0);
            add(new MapNavLayer(c_renderLayer), 0);
            //System.out.println("getting amtzoomed from renderlayer");
        }
        paneSize = getSize();
    }

    private void resize() {
        Dimension size = getSize();
        
        if ( (size.height != paneSize.height) || (size.width != paneSize.width)) {
            for (Component child : getComponents()) {
                child.setSize(size);
                child.repaint();
            }
            paneSize = size;
        }
    }

    public MapRenderLayer getMapLayer() {
        return c_renderLayer;
    }
   
}
