Statistics
| Revision:

gvsig-geoprocess / org.gvsig.geoprocess / trunk / org.gvsig.geoprocess / org.gvsig.geoprocess.app / org.gvsig.geoprocess.app.mainplugin / src / main / java / org / gvsig / geoprocess / extension / GeoprocessPointSelectionExtension.java @ 230

History | View | Annotate | Download (1.74 KB)

1
package org.gvsig.geoprocess.extension;
2

    
3
import org.gvsig.andami.plugins.Extension;
4
import org.gvsig.app.ApplicationLocator;
5
import org.gvsig.app.ApplicationManager;
6
import org.gvsig.app.project.documents.view.gui.IView;
7
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener;
8
import org.gvsig.fmap.mapcontrol.MapControl;
9
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior;
10
import org.gvsig.fmap.mapcontrol.tools.Behavior.MouseMovementBehavior;
11
import org.gvsig.fmap.mapcontrol.tools.Behavior.PointBehavior;
12

    
13
/**
14
 * Collector of points over the gvSIG view document window, to be used
15
 * in the geoprocess parameters extension definition.
16
 * 
17
 * @author gvSIG Team
18
 * @version $Id$
19
 */
20
public class GeoprocessPointSelectionExtension extends Extension {
21

    
22
    private final static String TOOL_NAME = "GeoprocessingPointSelector";
23
    private ApplicationManager manager;
24

    
25
    public void initialize() {
26
        manager = ApplicationLocator.getManager();
27
    }
28

    
29
    public void execute(final String s) {
30
        MapControl mapControl =
31
            ((IView) manager.getActiveWindow()).getMapControl();
32
        GeoprocessPointSelectionListener pointSelectorListener =
33
            new GeoprocessPointSelectionListener(mapControl);
34
        StatusBarListener listener = new StatusBarListener(mapControl);
35
        mapControl.addBehavior(TOOL_NAME, new Behavior[] {
36
            new PointBehavior(pointSelectorListener),
37
            new MouseMovementBehavior(listener) });
38
        mapControl.setTool(TOOL_NAME);
39
    }
40

    
41
    public boolean isEnabled() {
42
        return manager.getActiveWindow() instanceof IView;
43
    }
44

    
45
    public boolean isVisible() {
46
        return manager.getActiveWindow() instanceof IView;
47
    }
48
}