/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2007 - 2008, Open Source Geospatial Foundation (OSGeo)
* (C) 2008 - 2009, Johann Sorel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotoolkit.gui.swing.render2d.control;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.util.logging.Level;
import org.geotoolkit.gui.swing.crschooser.JCRSChooser;
import org.geotoolkit.gui.swing.crschooser.JCRSChooser.ACTION;
import org.geotoolkit.gui.swing.render2d.JMap2D;
import org.geotoolkit.gui.swing.resource.MessageBundle;
import org.opengis.referencing.operation.TransformException;
/**
*
* @author johann sorel
* @module
*/
public class CRSAction extends AbstractMapAction {
public CRSAction(){
this(null);
}
public CRSAction(final JMap2D map){
super(map);
putValue(NAME, "CRS");
putValue(SHORT_DESCRIPTION, MessageBundle.format("map_crs"));
}
@Override
public void actionPerformed(final ActionEvent arg0) {
if (map != null ) {
final Window frame = org.geotoolkit.gui.swing.util.SwingUtilities.windowForComponent(map);
final JCRSChooser chooser = JCRSChooser.create(frame, true);
chooser.setCRS(map.getCanvas().getObjectiveCRS());
ACTION act = chooser.showDialog();
if(ACTION.APPROVE.equals(act)){
try {
map.getCanvas().setObjectiveCRS(chooser.getCRS());
} catch (TransformException ex) {
getLogger().log(Level.WARNING, null, ex);
}
}
}
}
}