Revision 30335 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/SplitGeometryCADTool.java
SplitGeometryCADTool.java | ||
---|---|---|
48 | 48 |
*/ |
49 | 49 |
package org.gvsig.editing.gui.cad.tools; |
50 | 50 |
|
51 |
import java.awt.Graphics; |
|
52 |
import java.awt.Graphics2D; |
|
53 | 51 |
import java.awt.Image; |
54 | 52 |
import java.awt.event.InputEvent; |
55 | 53 |
import java.awt.event.MouseEvent; |
... | ... | |
82 | 80 |
import org.gvsig.fmap.geom.util.Converter; |
83 | 81 |
import org.gvsig.fmap.mapcontext.layers.SpatialCache; |
84 | 82 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
83 |
import org.gvsig.fmap.mapcontrol.MapControlDrawer; |
|
85 | 84 |
import org.gvsig.tools.locator.LocatorException; |
86 | 85 |
|
87 | 86 |
import statemap.State; |
... | ... | |
356 | 355 |
* @param x last x mouse pointer position |
357 | 356 |
* @param y last y mouse pointer position |
358 | 357 |
*/ |
359 |
protected void drawPolyLine(Graphics2D g, double x, double y) {
|
|
358 |
protected void drawPolyLine(MapControlDrawer renderer, double x, double y) {
|
|
360 | 359 |
GeneralPathX gpx = |
361 | 360 |
new GeneralPathX(GeneralPathX.WIND_EVEN_ODD, |
362 | 361 |
clickedPoints.size()); |
... | ... | |
371 | 370 |
org.gvsig.fmap.geom.Geometry geom; |
372 | 371 |
try { |
373 | 372 |
geom = GeometryLocator.getGeometryManager().createCurve(gpx, SUBTYPES.GEOM2D); |
374 |
DrawOperationContext doc=new DrawOperationContext(); |
|
375 |
doc.setGraphics((Graphics2D)g); |
|
376 |
doc.setViewPort(getCadToolAdapter().getMapControl().getViewPort()); |
|
377 |
doc.setSymbol(DefaultCADTool.geometrySelectSymbol); |
|
378 |
geom.invokeOperation(Draw.CODE,doc); |
|
379 |
} catch (GeometryOperationNotSupportedException e) { |
|
380 |
e.printStackTrace(); |
|
381 |
} catch (GeometryOperationException e) { |
|
382 |
e.printStackTrace(); |
|
373 |
renderer.draw(geom, mapControlManager.getGeometrySelectionSymbol()); |
|
383 | 374 |
} catch (LocatorException e) { |
384 | 375 |
e.printStackTrace(); |
385 | 376 |
} catch (CreateGeometryException e) { |
... | ... | |
387 | 378 |
} |
388 | 379 |
} |
389 | 380 |
|
390 |
private void drawRectangleOfSplit(Graphics2D g) throws GeometryOperationNotSupportedException, GeometryOperationException, DataException {
|
|
381 |
private void drawRectangleOfSplit(MapControlDrawer renderer) throws GeometryOperationNotSupportedException, GeometryOperationException, DataException {
|
|
391 | 382 |
VectorialLayerEdited vle = getVLE(); |
392 | 383 |
FeatureStore store=vle.getFeatureStore(); |
393 | 384 |
Iterator<Feature> selected = store.getFeatureSelection().iterator(); |
... | ... | |
397 | 388 |
Geometry jtsG = Converter.geometryToJts(ig); |
398 | 389 |
if (jtsG !=null && jtsG instanceof GeometryCollection && jtsG.getNumGeometries()>1){ |
399 | 390 |
org.gvsig.fmap.geom.Geometry r=ig.getEnvelope().getGeometry(); |
400 |
DrawOperationContext doc=new DrawOperationContext(); |
|
401 |
doc.setGraphics((Graphics2D)g); |
|
402 |
doc.setViewPort(getCadToolAdapter().getMapControl().getViewPort()); |
|
403 |
doc.setSymbol(DefaultCADTool.axisReferencesSymbol); |
|
404 |
r.invokeOperation(Draw.CODE, doc); |
|
391 |
renderer.draw(r, mapControlManager.getAxisReferenceSymbol()); |
|
405 | 392 |
} |
406 | 393 |
} |
407 | 394 |
} |
408 | 395 |
|
409 |
public void drawOperation(Graphics g, double x, double y) {
|
|
396 |
public void drawOperation(MapControlDrawer renderer, double x, double y) {
|
|
410 | 397 |
State actualState = _fsm.getState(); |
411 | 398 |
String status = actualState.getName(); |
412 | 399 |
try { |
413 |
drawRectangleOfSplit((Graphics2D) g);
|
|
400 |
drawRectangleOfSplit(renderer);
|
|
414 | 401 |
// draw splitting line |
415 | 402 |
if ((status.equals("SplitGeometry.DigitizingLine"))) { |
416 |
drawPolyLine((Graphics2D) g, x, y);
|
|
403 |
drawPolyLine(renderer, x, y);
|
|
417 | 404 |
} |
418 | 405 |
|
419 | 406 |
// draw selection |
420 | 407 |
Image imgSel = getVLE().getSelectionImage(); |
421 |
if (imgSel != null) |
|
422 |
g.drawImage(imgSel, 0, 0, null); |
|
408 |
renderer.drawImage(imgSel, 0, 0); |
|
423 | 409 |
} catch (Exception e) { |
424 | 410 |
PluginServices.getLogger().error("Error drawing Editing Selection", e); |
425 | 411 |
} |
Also available in: Unified diff