Revision 30011 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/layout/fframes/FFrameGraphics.java
FFrameGraphics.java | ||
---|---|---|
58 | 58 |
import org.gvsig.app.project.documents.layout.fframes.gui.dialogs.IFFrameDialog; |
59 | 59 |
import org.gvsig.app.project.documents.layout.geometryadapters.CircleAdapter; |
60 | 60 |
import org.gvsig.app.project.documents.layout.geometryadapters.GeometryAdapter; |
61 |
import org.gvsig.app.project.documents.layout.geometryadapters.PointAdapter; |
|
62 |
import org.gvsig.app.project.documents.layout.geometryadapters.PolyLineAdapter; |
|
63 |
import org.gvsig.app.project.documents.layout.geometryadapters.PolygonAdapter; |
|
64 |
import org.gvsig.app.project.documents.layout.geometryadapters.RectangleAdapter; |
|
65 | 61 |
import org.gvsig.app.project.documents.layout.gui.Layout; |
66 | 62 |
import org.gvsig.compat.print.PrintAttributes; |
67 | 63 |
import org.gvsig.fmap.geom.Geometry; |
68 |
import org.gvsig.fmap.mapcontext.rendering.symbols.IMarkerSymbol; |
|
64 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
|
65 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
|
69 | 66 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
70 |
import org.gvsig.fmap.mapcontext.rendering.symbols.SimpleFillSymbol;
|
|
71 |
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbologyFactory;
|
|
67 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.impl.SimpleFillSymbol;
|
|
68 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMarkerSymbol;
|
|
72 | 69 |
import org.gvsig.utils.XMLEntity; |
73 | 70 |
|
74 | 71 |
|
... | ... | |
96 | 93 |
private boolean editing = false; |
97 | 94 |
private double size = 0.5; |
98 | 95 |
private BitSet index = new BitSet(); |
96 |
|
|
97 |
private MapContextManager mapContextManager = MapContextLocator |
|
98 |
.getMapContextManager(); |
|
99 | 99 |
|
100 | 100 |
/** |
101 | 101 |
* Crea un nuevo FFrameGraphics. |
... | ... | |
199 | 199 |
break; |
200 | 200 |
} |
201 | 201 |
|
202 |
m_symbol = SymbologyFactory.createDefaultSymbolByShapeType(shapeType);
|
|
202 |
m_symbol = mapContextManager.createSymbol(shapeType);
|
|
203 | 203 |
if (shapeType==Geometry.TYPES.SURFACE){ |
204 | 204 |
((SimpleFillSymbol)m_symbol).setFillColor(null); |
205 | 205 |
} |
... | ... | |
302 | 302 |
} |
303 | 303 |
|
304 | 304 |
/** |
305 |
* @see org.gvsig.app.project.documents.layout.fframes.IFFrame#setXMLEntity(org.gvsig.utils.XMLEntity, |
|
306 |
* org.gvsig.app.project.Project) |
|
305 |
* TODO: replace with the new persistence API. |
|
307 | 306 |
*/ |
308 | 307 |
public void setXMLEntity(XMLEntity xml) { |
309 |
m_Selected = xml.getIntProperty("m_Selected"); |
|
310 |
|
|
311 |
setRotation(xml.getDoubleProperty("m_rotation")); |
|
312 |
// jaume; m_symbol = FSymbol.createFromXML(xml.getChild(0)); |
|
313 |
m_symbol = SymbologyFactory.createSymbolFromXML(xml.getChild(0), null); |
|
314 |
if (xml.contains("m_type")) { |
|
315 |
m_type = xml.getIntProperty("m_type"); |
|
316 |
// return; |
|
317 |
} |
|
318 |
if (m_type==RECTANGLESYMBOL) { |
|
319 |
return; |
|
320 |
} |
|
321 |
if (xml.getChildrenCount() ==1) { |
|
322 |
Rectangle2D r = (Rectangle2D) getBoundBox().clone(); |
|
323 |
|
|
324 |
if (m_type == LINE) { |
|
325 |
geometry = new PolyLineAdapter(); |
|
326 |
} else if (m_type == RECTANGLE || |
|
327 |
m_type == RECTANGLEGROUP) { |
|
328 |
geometry = new RectangleAdapter(); |
|
329 |
geometry.addPoint(new Point2D.Double(r.getX(), r.getY())); |
|
330 |
geometry.addPoint(new Point2D.Double(r.getMaxX(), r.getMaxY())); |
|
331 |
} else if (m_type == POLYLINE) { |
|
332 |
geometry = new PolyLineAdapter(); |
|
333 |
} else if (m_type == POLYGON) { |
|
334 |
geometry = new PolygonAdapter(); |
|
335 |
} else if (m_type == CIRCLE) { |
|
336 |
geometry = new CircleAdapter(); |
|
337 |
geometry.addPoint(new Point2D.Double(r.getCenterX(), |
|
338 |
r.getCenterY())); |
|
339 |
|
|
340 |
if (r.getWidth() < r.getHeight()) { |
|
341 |
geometry.addPoint(new Point2D.Double(r.getMaxX(), |
|
342 |
r.getCenterY())); |
|
343 |
} else { |
|
344 |
geometry.addPoint(new Point2D.Double(r.getCenterX(), |
|
345 |
r.getY())); |
|
346 |
} |
|
347 |
} else if (m_type == POINT) { |
|
348 |
geometry = new PointAdapter(); |
|
349 |
geometry.addPoint(new Point2D.Double(r.getCenterX(), |
|
350 |
r.getCenterY())); |
|
351 |
} |
|
352 |
|
|
353 |
geometry.end(); |
|
354 |
} else { |
|
355 |
geometry = GeometryAdapter.createFromXML(xml.getChild(1)); |
|
356 |
// geometryEdit = GeometryAdapter.createFromXML(xml.getChild(2)); |
|
357 |
} |
|
308 |
// m_Selected = xml.getIntProperty("m_Selected");
|
|
309 |
// |
|
310 |
// setRotation(xml.getDoubleProperty("m_rotation"));
|
|
311 |
// // jaume; m_symbol = FSymbol.createFromXML(xml.getChild(0));
|
|
312 |
// m_symbol = SymbologyFactory.createSymbolFromXML(xml.getChild(0), null);
|
|
313 |
// if (xml.contains("m_type")) {
|
|
314 |
// m_type = xml.getIntProperty("m_type");
|
|
315 |
// // return;
|
|
316 |
// }
|
|
317 |
// if (m_type==RECTANGLESYMBOL) {
|
|
318 |
// return;
|
|
319 |
// }
|
|
320 |
// if (xml.getChildrenCount() ==1) {
|
|
321 |
// Rectangle2D r = (Rectangle2D) getBoundBox().clone();
|
|
322 |
// |
|
323 |
// if (m_type == LINE) {
|
|
324 |
// geometry = new PolyLineAdapter();
|
|
325 |
// } else if (m_type == RECTANGLE ||
|
|
326 |
// m_type == RECTANGLEGROUP) {
|
|
327 |
// geometry = new RectangleAdapter();
|
|
328 |
// geometry.addPoint(new Point2D.Double(r.getX(), r.getY()));
|
|
329 |
// geometry.addPoint(new Point2D.Double(r.getMaxX(), r.getMaxY()));
|
|
330 |
// } else if (m_type == POLYLINE) {
|
|
331 |
// geometry = new PolyLineAdapter();
|
|
332 |
// } else if (m_type == POLYGON) {
|
|
333 |
// geometry = new PolygonAdapter();
|
|
334 |
// } else if (m_type == CIRCLE) {
|
|
335 |
// geometry = new CircleAdapter();
|
|
336 |
// geometry.addPoint(new Point2D.Double(r.getCenterX(),
|
|
337 |
// r.getCenterY()));
|
|
338 |
// |
|
339 |
// if (r.getWidth() < r.getHeight()) {
|
|
340 |
// geometry.addPoint(new Point2D.Double(r.getMaxX(),
|
|
341 |
// r.getCenterY()));
|
|
342 |
// } else {
|
|
343 |
// geometry.addPoint(new Point2D.Double(r.getCenterX(),
|
|
344 |
// r.getY()));
|
|
345 |
// }
|
|
346 |
// } else if (m_type == POINT) {
|
|
347 |
// geometry = new PointAdapter();
|
|
348 |
// geometry.addPoint(new Point2D.Double(r.getCenterX(),
|
|
349 |
// r.getCenterY()));
|
|
350 |
// }
|
|
351 |
// |
|
352 |
// geometry.end();
|
|
353 |
// } else {
|
|
354 |
// geometry = GeometryAdapter.createFromXML(xml.getChild(1));
|
|
355 |
// // geometryEdit = GeometryAdapter.createFromXML(xml.getChild(2));
|
|
356 |
// }
|
|
358 | 357 |
} |
359 | 358 |
|
360 | 359 |
/** |
361 |
* @see org.gvsig.app.project.documents.layout.fframes.IFFrame#setXMLEntity(org.gvsig.utils.XMLEntity, |
|
362 |
* org.gvsig.app.project.Project) |
|
360 |
* TODO: replace with the new persistence API. |
|
363 | 361 |
*/ |
364 | 362 |
public void setXMLEntity03(XMLEntity xml, Layout p) { |
365 |
m_Selected = xml.getIntProperty("m_Selected"); |
|
366 |
m_type = xml.getIntProperty("m_type"); |
|
367 |
// jaume; m_symbol = FSymbol.createFromXML(xml.getChild(0)); |
|
368 |
m_symbol = SymbologyFactory.createSymbolFromXML(xml.getChild(0), null); |
|
369 |
|
|
370 |
Rectangle2D r = (Rectangle2D) getBoundBox().clone(); |
|
371 |
|
|
372 |
if (m_type == LINE) { |
|
373 |
geometry = new PolyLineAdapter(); |
|
374 |
} else if (m_type == RECTANGLE) { |
|
375 |
geometry = new RectangleAdapter(); |
|
376 |
geometry.addPoint(new Point2D.Double(r.getX(), r.getY())); |
|
377 |
geometry.addPoint(new Point2D.Double(r.getMaxX(), r.getMaxY())); |
|
378 |
} else if (m_type == POLYLINE) { |
|
379 |
geometry = new PolyLineAdapter(); |
|
380 |
} else if (m_type == POLYGON) { |
|
381 |
geometry = new PolygonAdapter(); |
|
382 |
} else if (m_type == CIRCLE) { |
|
383 |
geometry = new CircleAdapter(); |
|
384 |
geometry.addPoint(new Point2D.Double(r.getCenterX(), r.getCenterY())); |
|
385 |
|
|
386 |
if (r.getWidth() < r.getHeight()) { |
|
387 |
geometry.addPoint(new Point2D.Double(r.getMaxX(), r.getCenterY())); |
|
388 |
} else { |
|
389 |
geometry.addPoint(new Point2D.Double(r.getCenterX(), r.getY())); |
|
390 |
} |
|
391 |
} else if (m_type == POINT) { |
|
392 |
geometry = new PointAdapter(); |
|
393 |
geometry.addPoint(new Point2D.Double(r.getCenterX(), r.getCenterY())); |
|
394 |
} |
|
395 |
|
|
396 |
geometry.end(); |
|
363 |
// m_Selected = xml.getIntProperty("m_Selected");
|
|
364 |
// m_type = xml.getIntProperty("m_type");
|
|
365 |
// // jaume; m_symbol = FSymbol.createFromXML(xml.getChild(0));
|
|
366 |
// m_symbol = SymbologyFactory.createSymbolFromXML(xml.getChild(0), null);
|
|
367 |
// |
|
368 |
// Rectangle2D r = (Rectangle2D) getBoundBox().clone();
|
|
369 |
// |
|
370 |
// if (m_type == LINE) {
|
|
371 |
// geometry = new PolyLineAdapter();
|
|
372 |
// } else if (m_type == RECTANGLE) {
|
|
373 |
// geometry = new RectangleAdapter();
|
|
374 |
// geometry.addPoint(new Point2D.Double(r.getX(), r.getY()));
|
|
375 |
// geometry.addPoint(new Point2D.Double(r.getMaxX(), r.getMaxY()));
|
|
376 |
// } else if (m_type == POLYLINE) {
|
|
377 |
// geometry = new PolyLineAdapter();
|
|
378 |
// } else if (m_type == POLYGON) {
|
|
379 |
// geometry = new PolygonAdapter();
|
|
380 |
// } else if (m_type == CIRCLE) {
|
|
381 |
// geometry = new CircleAdapter();
|
|
382 |
// geometry.addPoint(new Point2D.Double(r.getCenterX(), r.getCenterY()));
|
|
383 |
// |
|
384 |
// if (r.getWidth() < r.getHeight()) {
|
|
385 |
// geometry.addPoint(new Point2D.Double(r.getMaxX(), r.getCenterY()));
|
|
386 |
// } else {
|
|
387 |
// geometry.addPoint(new Point2D.Double(r.getCenterX(), r.getY()));
|
|
388 |
// }
|
|
389 |
// } else if (m_type == POINT) {
|
|
390 |
// geometry = new PointAdapter();
|
|
391 |
// geometry.addPoint(new Point2D.Double(r.getCenterX(), r.getCenterY()));
|
|
392 |
// }
|
|
393 |
// |
|
394 |
// geometry.end();
|
|
397 | 395 |
} |
398 | 396 |
|
399 | 397 |
/** |
Also available in: Unified diff