Revision 36036 branches/v2_0_0_prep/extensions/extWFS2/src/org/gvsig/wfs/gui/panels/WFSAreaPanel.java
WFSAreaPanel.java | ||
---|---|---|
43 | 43 |
import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorer; |
44 | 44 |
import org.gvsig.fmap.geom.Geometry; |
45 | 45 |
import org.gvsig.fmap.geom.Geometry.SUBTYPES; |
46 |
import org.gvsig.fmap.geom.Geometry.TYPES; |
|
46 | 47 |
import org.gvsig.fmap.geom.GeometryLocator; |
47 | 48 |
import org.gvsig.fmap.geom.GeometryManager; |
48 | 49 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
49 | 50 |
import org.gvsig.fmap.geom.primitive.Envelope; |
50 |
import org.gvsig.fmap.geom.primitive.GeneralPathX;
|
|
51 |
import org.gvsig.fmap.geom.primitive.Surface;
|
|
51 | 52 |
import org.gvsig.fmap.mapcontext.ExtentHistory; |
52 | 53 |
import org.gvsig.fmap.mapcontext.MapContext; |
53 | 54 |
import org.gvsig.fmap.mapcontext.ViewPort; |
... | ... | |
863 | 864 |
return null; // Return null if there is no coordinate |
864 | 865 |
} |
865 | 866 |
else { |
866 |
if (getCoordinatesPanel().validVertexes()) { |
|
867 |
Rectangle2D r2d = getCoordinatesPanel().getExtent(); |
|
868 |
GeneralPathX generalPath = new GeneralPathX(); |
|
869 |
generalPath.moveTo(r2d.getMinX(), r2d.getMinY()); |
|
870 |
generalPath.lineTo(r2d.getMaxX(), r2d.getMinY()); |
|
871 |
generalPath.lineTo(r2d.getMaxX(), r2d.getMaxY()); |
|
872 |
generalPath.lineTo(r2d.getMinX(), r2d.getMaxY()); |
|
873 |
generalPath.lineTo(r2d.getMinX(), r2d.getMinY()); |
|
867 |
if (getCoordinatesPanel().validVertexes()) { |
|
874 | 868 |
try { |
875 |
return geometryManager.createSurface(generalPath, SUBTYPES.GEOM2D);
|
|
869 |
return getCoordinatesPanel().getSurface();
|
|
876 | 870 |
} catch (CreateGeometryException e) { |
877 | 871 |
logger.error("Creating the area", e); |
878 | 872 |
return null; |
... | ... | |
883 | 877 |
} |
884 | 878 |
} |
885 | 879 |
} |
880 |
|
|
881 |
public void setArea(Geometry area){ |
|
882 |
if ((area != null) && (area.getType() == TYPES.SURFACE)){ |
|
883 |
getCoordinatesPanel().setSurface((Surface)area); |
|
884 |
} |
|
885 |
} |
|
886 | 886 |
|
887 | 887 |
/** |
888 | 888 |
* Set parent's 'Applicable' button enable or disable according the value of the parameter |
... | ... | |
2620 | 2620 |
|
2621 | 2621 |
return new Rectangle2D.Double(v2x, v2y, (v1x - v2x), (v1y - v2y)); |
2622 | 2622 |
} |
2623 |
|
|
2624 |
public Surface getSurface() throws CreateGeometryException { |
|
2625 |
double v1x = getDoubleValueOfJTextFieldV1X(); |
|
2626 |
double v1y = getDoubleValueOfJTextFieldV1Y(); |
|
2627 |
double v2x = getDoubleValueOfJTextFieldV2X(); |
|
2628 |
double v2y = getDoubleValueOfJTextFieldV2Y(); |
|
2629 |
|
|
2630 |
Surface surface = (Surface)geometryManager.create(TYPES.SURFACE, SUBTYPES.GEOM2D); |
|
2631 |
surface.addMoveToVertex(geometryManager.createPoint(v1x, v1y, SUBTYPES.GEOM2D)); |
|
2632 |
surface.addVertex(geometryManager.createPoint(v1x, v2y, SUBTYPES.GEOM2D)); |
|
2633 |
surface.addVertex(geometryManager.createPoint(v2x, v2y, SUBTYPES.GEOM2D)); |
|
2634 |
surface.addVertex(geometryManager.createPoint(v2x, v1y, SUBTYPES.GEOM2D)); |
|
2635 |
surface.closePrimitive(); |
|
2636 |
|
|
2637 |
return surface; |
|
2638 |
} |
|
2639 |
|
|
2640 |
public void setSurface(Surface surface){ |
|
2641 |
getJTextFieldVertex1X().setText(String.valueOf(surface.getVertex(0).getX())); |
|
2642 |
getJTextFieldVertex1Y().setText(String.valueOf(surface.getVertex(0).getY())); |
|
2643 |
getJTextFieldVertex2X().setText(String.valueOf(surface.getVertex(2).getX())); |
|
2644 |
getJTextFieldVertex2Y().setText(String.valueOf(surface.getVertex(2).getY())); |
|
2645 |
} |
|
2623 | 2646 |
|
2624 | 2647 |
/** |
2625 | 2648 |
* Returns true if there is some coordinate text field with data; else returns false |
Also available in: Unified diff