Revision 37328 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/CircleCADTool.java

View differences:

CircleCADTool.java
25 25
import java.awt.geom.Point2D;
26 26

  
27 27
import org.gvsig.andami.PluginServices;
28
import org.gvsig.editing.gui.cad.DefaultCADTool;
29 28
import org.gvsig.editing.gui.cad.exception.CommandException;
30 29
import org.gvsig.editing.gui.cad.tools.smc.CircleCADToolContext;
31 30
import org.gvsig.editing.gui.cad.tools.smc.CircleCADToolContext.CircleCADToolState;
32 31
import org.gvsig.fmap.geom.Geometry;
33
import org.gvsig.fmap.geom.operation.DrawOperationContext;
34 32
import org.gvsig.fmap.geom.primitive.Circle;
35 33
import org.gvsig.fmap.mapcontrol.MapControlDrawer;
36 34

  
......
39 37
 * 
40 38
 * @author Vicente Caballero Navarro
41 39
 */
42
public class CircleCADTool extends DefaultCADTool {
40
public class CircleCADTool extends AbstractSurfaceCADTool {
43 41

  
44 42
    protected CircleCADToolContext _fsm;
45 43
    protected Point2D center;
......
48 46
    protected Point2D thirdPoint;
49 47

  
50 48
    /**
51
     * Crea un nuevo LineCADTool.
52
     */
53
    public CircleCADTool() {
54
    }
55

  
56
    /**
57 49
     * M?todo de incio, para poner el c?digo de todo lo que se requiera de una
58 50
     * carga previa a la utilizaci?n de la herramienta.
59 51
     */
......
61 53
        _fsm = new CircleCADToolContext(this);
62 54
    }
63 55

  
64
    /*
65
     * (non-Javadoc)
66
     * 
67
     * @see
68
     * com.iver.cit.gvsig.gui.cad.CADTool#transition(com.iver.cit.gvsig.fmap
69
     * .layers.FBitSet, double, double)
70
     */
71 56
    public void transition(double x, double y, InputEvent event) {
72 57
        _fsm.addPoint(x, y, event);
73 58
    }
74 59

  
75
    /*
76
     * (non-Javadoc)
77
     * 
78
     * @see
79
     * com.iver.cit.gvsig.gui.cad.CADTool#transition(com.iver.cit.gvsig.fmap
80
     * .layers.FBitSet, double)
81
     */
82 60
    public void transition(double d) {
83 61
        _fsm.addValue(d);
84 62
    }
85 63

  
86
    /*
87
     * (non-Javadoc)
88
     * 
89
     * @see
90
     * com.iver.cit.gvsig.gui.cad.CADTool#transition(com.iver.cit.gvsig.fmap
91
     * .layers.FBitSet, java.lang.String)
92
     */
93 64
    public void transition(String s) throws CommandException {
94 65
        if (!super.changeCommand(s)) {
95 66
            _fsm.addOption(s);
......
161 132

  
162 133
        if (status == "Circle.PointOrRadius") {
163 134
            Point2D currentPoint = new Point2D.Double(x, y);
164
            DrawOperationContext doc = new DrawOperationContext();
165 135
            Circle circle =
166 136
                createCircle(createPoint(center), createPoint(currentPoint));
167 137
            renderer.draw(circle, mapControlManager.getAxisReferenceSymbol());
......
227 197
        return "_circle";
228 198
    }
229 199

  
230
    public boolean isApplicable(int shapeType) {
231
        switch (shapeType) {
232
        case Geometry.TYPES.POINT:
233
        case Geometry.TYPES.MULTIPOINT:
234
            return false;
235
        }
236
        return true;
200
    @Override
201
    protected int getSupportedPrimitiveGeometryType() {
202
        return CIRCLE;
237 203
    }
238

  
239 204
}

Also available in: Unified diff