Revision 12645

View differences:

branches/v10/extensions/extCAD/src/com/iver/cit/gvsig/StopEditing.java
30 30
import com.iver.cit.gvsig.fmap.layers.FLayers;
31 31
import com.iver.cit.gvsig.fmap.layers.FLyrAnnotation;
32 32
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
33
import com.iver.cit.gvsig.fmap.layers.LayersIterator;
33 34
import com.iver.cit.gvsig.fmap.rendering.VectorialLegend;
34 35
import com.iver.cit.gvsig.layers.VectorialLayerEdited;
35 36
import com.iver.cit.gvsig.project.documents.table.gui.Table;
......
406 407

  
407 408
			for (int i=0;i<views.length;i++) {
408 409
				FLayers layers=views[i].getMapContext().getLayers();
409
				FLayer[] activeLayers=layers.getActives();
410
				if (activeLayers.length>0) {
410
				LayersIterator iter = getEditingLayer(layers);
411
				if (iter.hasNext()) {
411 412
					return true;
412 413
				}
413 414
			}
......
446 447
			ArrayList unsavedLayers=new ArrayList();
447 448
			for (int i=0;i<views.length;i++) {
448 449
				FLayers layers = views[i].getMapContext().getLayers();
449
				FLayer[] activeLayers=layers.getActives();
450
				for (int j=0;j<activeLayers.length;j++) {
450
				LayersIterator iter = getEditingLayer(layers);
451
				while (iter.hasNext()){
451 452
					UnsavedLayer ul=new UnsavedLayer(StopEditing.this);
452
					ul.setLayer(activeLayers[j]);
453
					ul.setLayer(iter.nextLayer());
453 454
					unsavedLayers.add(ul);
454 455
				}
455 456
			}
456 457
			return (IUnsavedData[])unsavedLayers.toArray(new IUnsavedData[0]);
457 458
		}
459

  
460
		private LayersIterator getEditingLayer(FLayers layers){
461
			return new LayersIterator(layers){
462
				public boolean evaluate(FLayer layer) {
463
					return layer.isEditing();
464
				}
465
			};
466
		}
458 467
	}
459 468
}

Also available in: Unified diff