Statistics
| Revision:

gvsig-geoprocess / org.gvsig.sextante / trunk / org.gvsig.sextante.app / org.gvsig.sextante.app.extension / src / main / java / org / gvsig / geoprocess / extensions / PointSelectorListener.java @ 172

History | View | Annotate | Download (2.08 KB)

1
package org.gvsig.geoprocess.extensions;
2

    
3
import java.awt.Image;
4
import java.awt.geom.Point2D;
5

    
6
import javax.swing.ImageIcon;
7
import javax.swing.JOptionPane;
8

    
9
import es.unex.sextante.core.Sextante;
10
import es.unex.sextante.gui.core.NamedPoint;
11
import es.unex.sextante.gui.core.SextanteGUI;
12

    
13
import org.gvsig.andami.PluginServices;
14
import org.gvsig.app.project.documents.view.gui.IView;
15
import org.gvsig.fmap.mapcontext.ViewPort;
16
import org.gvsig.fmap.mapcontrol.MapControl;
17
import org.gvsig.fmap.mapcontrol.tools.BehaviorException;
18
import org.gvsig.fmap.mapcontrol.tools.Events.PointEvent;
19
import org.gvsig.fmap.mapcontrol.tools.Listeners.PointListener;
20

    
21
public class PointSelectorListener implements PointListener {
22

    
23
    private final Image img = new ImageIcon(
24
        MapControl.class.getResource("images/PointSelectCursor.gif"))
25
        .getImage();
26

    
27
    public PointSelectorListener() {
28
        super();
29
    }
30

    
31
    public void point(final PointEvent event) throws BehaviorException {
32

    
33
        IView view;
34

    
35
        try {
36
            view = (IView) PluginServices.getMDIManager().getActiveWindow();
37
        } catch (final ClassCastException exc) {
38
            return;
39
        }
40

    
41
        final ViewPort viewPort =
42
            view.getMapControl().getMapContext().getViewPort();
43
        final Point2D wcPoint = viewPort.toMapPoint(event.getPoint());
44
        final String sPointName =
45
            JOptionPane.showInputDialog(
46
                null,
47
                "X: " + Double.toString(wcPoint.getX()) + "\n" + "Y: "
48
                    + Double.toString(wcPoint.getY()),
49
                Sextante.getText("New point"));
50
        if (sPointName != null) {
51
            final NamedPoint namedPoint = new NamedPoint(sPointName, wcPoint);
52
            SextanteGUI.getGUIFactory().getCoordinatesList().add(namedPoint);
53
        }
54

    
55
    }
56

    
57

    
58
    public boolean cancelDrawing() {
59
        return false;
60
    }
61

    
62

    
63
    public void pointDoubleClick(final PointEvent event)
64
        throws BehaviorException {
65

    
66
    }
67

    
68
    public Image getImageCursor() {
69
        return img;
70
    }
71
}