Revision 42075 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/toc/actions/CopyPasteLayersUtils.java
CopyPasteLayersUtils.java | ||
---|---|---|
220 | 220 |
FLayer item = null; |
221 | 221 |
if (actives != null) { |
222 | 222 |
for (int i = 0; i < actives.length; i++) { |
223 |
item = actives[i]; |
|
224 |
try { |
|
225 |
item = item.cloneLayer(); |
|
226 |
} catch (Exception ex) { |
|
227 |
throw new PersistenceException(ex); |
|
223 |
if(actives[i] instanceof FLayers){ |
|
224 |
FLayers aux = (FLayers) actives[i]; |
|
225 |
FLayers copyaux = new FLayers(); |
|
226 |
copyaux.setMapContext(ctxt); |
|
227 |
copyaux.setName(aux.getName()); |
|
228 |
for(int j=0; j<aux.getLayersCount(); j++){ |
|
229 |
copyaux.addLayer(aux.getLayer(j)); |
|
230 |
} |
|
231 |
lyrs.addLayer(copyaux); |
|
232 |
}else{ |
|
233 |
item = actives[i]; |
|
234 |
try { |
|
235 |
item = item.cloneLayer(); |
|
236 |
} catch (Exception ex) { |
|
237 |
throw new PersistenceException(ex); |
|
238 |
} |
|
239 |
lyrs.addLayer(item); |
|
228 | 240 |
} |
229 |
lyrs.addLayer(item); |
|
230 | 241 |
} |
231 | 242 |
} |
232 | 243 |
|
... | ... | |
268 | 279 |
// actives[i].getParentLayer().removeLayer(actives[i]); |
269 | 280 |
// FLayers lyrs=getMapContext().getLayers(); |
270 | 281 |
// lyrs.addLayer(actives[i]); |
271 |
actives[i].getParentLayer().removeLayer(actives[i]); |
|
272 |
|
|
282 |
FLayers parent = actives[i].getParentLayer(); |
|
283 |
if(actives[i] instanceof FLayers){ |
|
284 |
FLayers grouped = (FLayers) actives[i]; |
|
285 |
parent.removeLayer(grouped); |
|
286 |
while(grouped.getLayersCount()>0){ |
|
287 |
FLayer lay = grouped.getLayer(0); |
|
288 |
grouped.removeLayer(lay); |
|
289 |
} |
|
290 |
}else{ |
|
291 |
parent.removeLayer(actives[i]); |
|
292 |
} |
|
293 |
|
|
273 | 294 |
// Cierra todas las ventanas asociadas a la capa |
274 | 295 |
IWindow[] wList = |
275 | 296 |
PluginServices.getMDIManager().getAllWindows(); |
Also available in: Unified diff