Revision 30335 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/StretchCADTool.java

View differences:

StretchCADTool.java
40 40
 */
41 41
package org.gvsig.editing.gui.cad.tools;
42 42

  
43
import java.awt.Graphics;
44
import java.awt.Graphics2D;
45 43
import java.awt.Image;
46 44
import java.awt.event.InputEvent;
47 45
import java.awt.geom.Point2D;
......
65 63
import org.gvsig.fmap.dal.feature.FeatureStore;
66 64
import org.gvsig.fmap.geom.Geometry;
67 65
import org.gvsig.fmap.geom.handler.Handler;
68
import org.gvsig.fmap.geom.operation.Draw;
69
import org.gvsig.fmap.geom.operation.DrawOperationContext;
70
import org.gvsig.fmap.geom.operation.GeometryOperationException;
71
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
72 66
import org.gvsig.fmap.geom.primitive.GeneralPathX;
73
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.FGraphicUtilities;
67
import org.gvsig.fmap.mapcontrol.MapControlDrawer;
74 68

  
75 69

  
76 70
/**
......
142 136

  
143 137
			if (selection.getSize() == 0
144 138
					&& !CADExtension
145
							.getCADTool()
146
							.getClass()
147
							.getName()
148
							.equals(
149
									"com.iver.cit.gvsig.gui.cad.tools.SelectionCADTool")) {
139
					.getCADTool()
140
					.getClass()
141
					.getName()
142
					.equals(
143
							"com.iver.cit.gvsig.gui.cad.tools.SelectionCADTool")) {
150 144
				CADExtension.setCADTool("_selection", false);
151 145
				((SelectionCADTool) CADExtension.getCADTool())
152
						.setNextTool("_stretch");
146
				.setNextTool("_stretch");
153 147
			}
154 148
		} catch (ReadException e) {
155 149
			// TODO Auto-generated catch block
......
171 165
	 */
172 166
	public void addPoint(double x, double y, InputEvent event) {
173 167
		StretchCADToolState actualState = (StretchCADToolState) _fsm
174
				.getPreviousState();
168
		.getPreviousState();
175 169
		String status = actualState.getName();
176 170

  
177 171
		if (status.equals("Stretch.SelFirstPoint")) {
......
213 207
				// VectorialEditableAdapter vea=vle.getVEA();
214 208
				featureStore.beginEditingGroup(getName());
215 209
				// ArrayList selectedRow=getSelectedRows();
216
//				ArrayList selectedRowAux = new ArrayList();
217
//				PluginServices.getMDIManager().setWaitCursor();
210
				//				ArrayList selectedRowAux = new ArrayList();
211
				//				PluginServices.getMDIManager().setWaitCursor();
218 212
				movelastPoint = new Point2D.Double(x, y);
219 213

  
220 214
				Handler[] handlers = null;
......
233 227
					// edRow.getLinkedRow().cloneRow();
234 228
					Geometry geometry = null;
235 229
					geometry = (feature.getDefaultGeometry())
236
							.cloneGeometry();
230
					.cloneGeometry();
237 231

  
238 232
					handlers = geometry.getHandlers(Geometry.STRETCHINGHANDLER);
239 233

  
......
250 244
							.getDefaultGeometryAttributeName(), geometry);
251 245
					// vea.modifyRow(edRow.getIndex(),fea,getName(),EditionEvent.GRAPHIC);
252 246
					featureStore.update(eFeature);
253
//					selectedRowAux.add(feature);
247
					//					selectedRowAux.add(feature);
254 248
				}
255 249
				featureStore.endEditingGroup();
256 250
				// vle.setSelectionCache(VectorialLayerEdited.NOTSAVEPREVIOUS,
257 251
				// selectedRowAux);
258 252

  
259
//				PluginServices.getMDIManager().restoreCursor();
253
				//				PluginServices.getMDIManager().restoreCursor();
260 254
			} catch (DataException e) {
261 255
				NotificationManager.addError(e.getMessage(), e);
262 256
			} finally {
......
278 272
	 * @param y
279 273
	 *            par?metro x del punto que se pase para dibujar.
280 274
	 */
281
	public void drawOperation(Graphics g, double x, double y) {
275
	public void drawOperation(MapControlDrawer renderer, double x, double y) {
282 276
		StretchCADToolState actualState = (_fsm)
283 277
		.getState();
284 278
		String status = actualState.getName();
......
297 291
				elShape.lineTo(selfirstPoint.getX(), y);
298 292
				elShape.lineTo(selfirstPoint.getX(), selfirstPoint.getY());
299 293

  
300
				DrawOperationContext doc = new DrawOperationContext();
301
				doc.setGraphics((Graphics2D) g);
302
				doc.setViewPort(getCadToolAdapter().getMapControl()
303
						.getViewPort());
304
				doc.setSymbol(DefaultCADTool.axisReferencesSymbol);
305
				try {
306
					createCurve(elShape).invokeOperation(Draw.CODE, doc);
307
				} catch (GeometryOperationNotSupportedException e) {
308
					e.printStackTrace();
309
				} catch (GeometryOperationException e) {
310
					e.printStackTrace();
311
				}
312
				// geomFactory.createPolyline2D(elShape).draw((Graphics2D) g,
313
				// getCadToolAdapter().getMapControl().getViewPort(),
314
				// DefaultCADTool.axisReferencesSymbol);
294
				renderer.draw(createCurve(elShape), mapControlManager.getAxisReferenceSymbol());
315 295
			} else if (status.equals("Stretch.MoveFirstPoint")) {
316 296

  
317 297
				Handler[] handlers = null;
318 298
				while (iterator.hasNext()) {
319 299
					Feature feature = (Feature) iterator.next();
320 300

  
321
					// }
322
					// for (int i = 0;i<selectedRow.size();i++) {
323
					// IRowEdited edRow = (IRowEdited) selectedRow.get(i);
324
					// DefaultFeature fea = (DefaultFeature)
325
					// edRow.getLinkedRow().cloneRow();
326 301
					Geometry geometry = null;
327 302
					geometry = (feature.getDefaultGeometry()).cloneGeometry();
328 303

  
......
330 305

  
331 306
					for (int j = 0; j < handlers.length; j++) {
332 307
						if (rect.contains(handlers[j].getPoint())) {
333
							FGraphicUtilities
334
									.DrawHandlers((Graphics2D) g,
335
											getCadToolAdapter().getMapControl()
336
													.getViewPort()
337
													.getAffineTransform(),
338
											new Handler[] { handlers[j] },
339
											DefaultCADTool.handlerSymbol);
308
							renderer.drawHandlers(handlers, 
309
									getCadToolAdapter().getMapControl()
310
									.getViewPort()
311
									.getAffineTransform(),											
312
									mapControlManager.getHandlerSymbol());
340 313
						}
341 314
					}
342 315
				}
......
358 331
							handlers[j].move(x - movefirstPoint.getX(), y
359 332
									- movefirstPoint.getY());
360 333
						}
361
					}
362
					DrawOperationContext doc = new DrawOperationContext();
363
					doc.setGraphics((Graphics2D) g);
364
					doc.setViewPort(getCadToolAdapter().getMapControl()
365
							.getViewPort());
366
					doc.setSymbol(DefaultCADTool.axisReferencesSymbol);
367
					try {
368
						geometry.cloneGeometry()
369
								.invokeOperation(Draw.CODE, doc);
370
					} catch (GeometryOperationNotSupportedException e) {
371
						e.printStackTrace();
372
					} catch (GeometryOperationException e) {
373
						e.printStackTrace();
374
					}
375
					// geometry.draw((Graphics2D) g,
376
					// getCadToolAdapter().getMapControl().getViewPort(),
377
					// DefaultCADTool.axisReferencesSymbol);
334
					}		
335
					renderer.draw(geometry, mapControlManager.getAxisReferenceSymbol());
378 336
				}
379 337
			} else {
380 338
				VectorialLayerEdited vle = getVLE();
......
383 341
				}
384 342
				try {
385 343
					Image imgSel = vle.getSelectionImage();
386
					if (imgSel != null) {
387
						g.drawImage(imgSel, 0, 0, null);
388
					}
344
					renderer.drawImage(imgSel, 0, 0);
345

  
389 346
					Image imgHand = vle.getHandlersImage();
390
					if (imgHand != null) {
391
						g.drawImage(imgHand, 0, 0, null);
392
					}
347
					renderer.drawImage(imgHand, 0, 0);
393 348
				} catch (Exception e) {
394 349
				}
395 350
			}

Also available in: Unified diff