Revision 333 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.rectangle/src/main/java/org/gvsig/vectorediting/lib/prov/rectangle/RectangleEditingProvider.java

View differences:

RectangleEditingProvider.java
59 59
import org.gvsig.fmap.geom.primitive.Line;
60 60
import org.gvsig.fmap.geom.primitive.Point;
61 61
import org.gvsig.fmap.geom.type.GeometryType;
62
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
62 63
import org.gvsig.tools.dynobject.DynObject;
63 64
import org.gvsig.tools.exception.BaseException;
64 65
import org.gvsig.tools.service.spi.ProviderServices;
......
74 75
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter;
75 76
import org.gvsig.vectorediting.lib.spi.EditingProvider;
76 77
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory;
78
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
79
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
77 80
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
78 81

  
79 82
/**
......
129 132
        throws DrawServiceException {
130 133
        DefaultDrawingStatus drawingStatus = new DefaultDrawingStatus();
131 134

  
135
        EditingProviderManager editingProviderManager =
136
            EditingProviderLocator.getProviderManager();
137
        ISymbol lineSymbolEditing = editingProviderManager.getSymbol("line-symbol-editing");
138
//        ISymbol auxiliaryLineSymbolEditing = editingProviderManager.getSymbol("auxiliary-line-symbol-editing");
139
        ISymbol auxiliaryPointSymbolEditing = editingProviderManager.getSymbol("auxiliary-point-symbol-editing");
140

  
141

  
132 142
        if (values != null) {
133 143

  
134 144
            Point firstPointValue = (Point) values.get(firstPoint);
145

  
135 146
            if (firstPointValue != null) {
147
                drawingStatus.addStatus(firstPointValue, auxiliaryPointSymbolEditing, "");
148
                drawingStatus.addStatus(mousePosition, auxiliaryPointSymbolEditing, "");
136 149

  
137 150
                EditingProviderServices editingProviderServices =
138 151
                    (EditingProviderServices) getProviderServices();
......
163 176
                    rectangle.addVertex(thirdPoint);
164 177

  
165 178
                    rectangle.addVertex(firstPointValue);
179
                    drawingStatus.addStatus(rectangle, lineSymbolEditing, "");
166 180

  
167
                    drawingStatus.addGeometry(rectangle);
181
//                    drawingStatus.addGeometry(rectangle);
168 182
                } catch (BaseException e) {
169 183
                    throw new DrawServiceException(e);
170 184
                }
......
222 236
        if (values != null) {
223 237
            Point oppistePointValue = (Point) values.get(oppositePoint);
224 238

  
239
            EditingProviderServices editingProviderServices =
240
                (EditingProviderServices) getProviderServices();
241
            GeometryManager geometryManager =
242
                GeometryLocator.getGeometryManager();
243

  
225 244
            try {
245
                int subtype =
246
                    editingProviderServices.getSubType(featureStore);
226 247

  
227
                DrawingStatus drawingStatus =
228
                    getDrawingStatus(oppistePointValue);
229
                Line rectangle = (Line) drawingStatus.getGeometries().get(0);
248
                Line rectangle = geometryManager.createLine(subtype);
249
                Point firstPointValue = (Point) values.get(firstPoint);
250
                rectangle.addVertex(firstPointValue);
251
                Point secondPoint =
252
                    editingProviderServices.createPoint(
253
                        oppistePointValue.getX(), firstPointValue.getY(),
254
                        subtype);
230 255

  
231
                EditingProviderServices editingProviderServices =
232
                    (EditingProviderServices) getProviderServices();
256
                rectangle.addVertex(secondPoint);
257

  
258
                rectangle.addVertex(oppistePointValue);
259

  
260
                Point fourthPoint =
261
                    editingProviderServices.createPoint(
262
                        firstPointValue.getX(), oppistePointValue.getY(),
263
                        subtype);
264

  
265
                rectangle.addVertex(fourthPoint);
266

  
267
                rectangle.addVertex(firstPointValue);
268

  
233 269
                GeometryType geomType =
234 270
                    editingProviderServices.getGeomType(featureStore);
235 271

  

Also available in: Unified diff