Revision 6480 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
FLayers.java | ||
---|---|---|
164 | 164 |
if (!layerDef.isUnavailable()) { |
165 | 165 |
if (layer instanceof FLyrDefault) |
166 | 166 |
((FLyrDefault)layer).wakeUp(); |
167 |
|
|
167 |
|
|
168 | 168 |
if (layer instanceof FLayers){ |
169 | 169 |
FLayers layers=(FLayers)layer; |
170 | 170 |
fmap.addAsCollectionListener(layers); |
... | ... | |
437 | 437 |
{ |
438 | 438 |
// Copiamos la imagen actual |
439 | 439 |
BufferedImage buff = new BufferedImage(image.getWidth(), image.getHeight(), image.getType()); |
440 |
WritableRaster w = buff.getRaster();
|
|
440 |
WritableRaster w = buff.getRaster(); |
|
441 | 441 |
image.copyData(w); |
442 | 442 |
lyr.setCacheImageDrawnLayers(buff); |
443 | 443 |
System.err.println("RECALCULO LA CACHE CON LO QUE HABIA ANTES DE " + lyr.getName()); |
... | ... | |
448 | 448 |
if (lyr.getCacheImageDrawnLayers() != null) |
449 | 449 |
{ |
450 | 450 |
// Previo a esto hemos tenido que fijar |
451 |
// la imagen que queremos usar, en el
|
|
451 |
// la imagen que queremos usar, en el |
|
452 | 452 |
// prepareDrawing de FMap. |
453 | 453 |
if (lyr.isDirty()) |
454 | 454 |
{ |
... | ... | |
457 | 457 |
} |
458 | 458 |
} |
459 | 459 |
// } |
460 |
}
|
|
460 |
} |
|
461 | 461 |
// Si la capa est? "sucia" o alguna de las de abajo est? sucia |
462 | 462 |
// hay que volver a dibujar. |
463 | 463 |
if (lyr.isDirty() || bNeedRecalculateCache) |
... | ... | |
971 | 971 |
|
972 | 972 |
} |
973 | 973 |
|
974 |
public ImageIcon getTocImageIcon() {
|
|
974 |
public ImageIcon getTocImageIcon() { |
|
975 | 975 |
return new ImageIcon(MapControl.class.getResource("images/layerGroup.png")); |
976 | 976 |
} |
977 |
|
|
977 |
|
|
978 | 978 |
public boolean isDirty() { |
979 | 979 |
for (Iterator iter = layers.iterator(); iter.hasNext();) { |
980 | 980 |
FLayer lyr = (FLayer) iter.next(); |
... | ... | |
982 | 982 |
return true; |
983 | 983 |
} |
984 | 984 |
return false; |
985 |
}
|
|
985 |
} |
|
986 | 986 |
|
987 | 987 |
public void setDirty(boolean dirty) { |
988 | 988 |
for (Iterator iter = layers.iterator(); iter.hasNext();) { |
... | ... | |
991 | 991 |
} |
992 | 992 |
|
993 | 993 |
} |
994 |
|
|
994 |
|
|
995 | 995 |
public boolean addLayerFromXMLEntity(XMLEntity xml, String name) { |
996 | 996 |
fmap.clearErrors(); |
997 | 997 |
this.addLayerFromXML(xml,name); |
998 |
|
|
999 |
return (fmap.getLayersError().size() == 0); |
|
1000 | 998 |
|
999 |
return (fmap.getLayersError().size() == 0); |
|
1000 |
|
|
1001 | 1001 |
} |
1002 | 1002 |
|
1003 | 1003 |
private void addLayerFromXML(XMLEntity xml, String name) { |
1004 |
FLayer layer = null;
|
|
1005 |
|
|
1004 |
FLayer layer = null; |
|
1005 |
|
|
1006 | 1006 |
try { |
1007 | 1007 |
if (name == null) name = xml.getName(); |
1008 | 1008 |
|
... | ... | |
1042 | 1042 |
driver = (VectorialDatabaseDriver) LayerFactory.getDM().getDriver(driverName); |
1043 | 1043 |
//Hay que separar la carga de los datos del XMLEntity del load. |
1044 | 1044 |
driver.setXMLEntity(xml.getChild(2)); |
1045 |
|
|
1045 |
|
|
1046 | 1046 |
((DefaultDBDriver)driver).load(); |
1047 | 1047 |
layer = LayerFactory.createDBLayer(driver, name, proj); |
1048 |
|
|
1048 |
|
|
1049 | 1049 |
} catch (DriverLoadException e) { |
1050 | 1050 |
e.printStackTrace(); |
1051 | 1051 |
throw new XMLException(e); |
... | ... | |
1162 | 1162 |
} |
1163 | 1163 |
|
1164 | 1164 |
this.addLayer(layer); |
1165 |
logger.debug("capa :"+ layer.getName() +"cargada");
|
|
1165 |
logger.debug("layer: "+ layer.getName() +" loaded");
|
|
1166 | 1166 |
// Comprobar que la proyecci?n es la misma que la de FMap |
1167 | 1167 |
// Si no lo es, es una capa que est? reproyectada al vuelo |
1168 | 1168 |
IProjection proj = layer.getProjection(); |
... | ... | |
1201 | 1201 |
logger.debug("No se ha podido cargar la capa : "+xml.getStringProperty("name") + ". Raz?n:"); |
1202 | 1202 |
// logger.debug(e.fillInStackTrace()); |
1203 | 1203 |
e.printStackTrace(); |
1204 |
}
|
|
1204 |
} |
|
1205 | 1205 |
} |
1206 | 1206 |
|
1207 | 1207 |
} |
Also available in: Unified diff