Revision 8173 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java

View differences:

FLayers.java
303 303
	 */
304 304
	public FLayer[] getVisibles() {
305 305
		ArrayList array = new ArrayList();
306

  
307
		for (Iterator iter = layers.iterator(); iter.hasNext();) {
308
			if (((FLayer) iter.next()).isVisible()) {
309
				array.add((FLayer) iter.next());
306
		LayersIterator iter = new LayersIterator(this) {
307
			public boolean evaluate(FLayer layer) {
308
				return layer.isVisible();
310 309
			}
310
			
311
		};
312

  
313
		while (iter.hasNext()) {
314
			array.add(iter.nextLayer());			
311 315
		}
312 316

  
313 317
		return (FLayer[]) array.toArray(new FLayer[0]);
......
883 887
	 */
884 888
	public FLayer[] getActives() {
885 889
		ArrayList ret = new ArrayList();
886
		SingleLayerIterator it = new SingleLayerIterator(this);
890
		LayersIterator it = new LayersIterator(this) {
891

  
892
			public boolean evaluate(FLayer layer) {				
893
				return layer.isActive();
894
			}
895
			 
896
		};
897
			
887 898
		while (it.hasNext())
888 899
		{
889
			FLayer lyr = it.next();
890
			if (lyr.isActive())
891
				ret.add(lyr);
900
			ret.add(it.next());
892 901
		}
893

  
894
//		for (int i = 0; i < layers.size(); i++) {
895
//			if (((FLayer) layers.get(i)).isActive()) {
896
//				ret.add(layers.get(i));
897
//			}else{
898
//				if (layers.get(i) instanceof FLayers){
899
//					FLayer[] lyrs=((FLayers) layers.get(i)).getActives();
900
//					for (int j=0;j<lyrs.length;j++){
901
//						ret.add(lyrs[j]);
902
//					}
903
//				}
904
//			}
905
//		}
906

  
907 902
		return (FLayer[]) ret.toArray(new FLayer[0]);
908 903
	}
909 904

  

Also available in: Unified diff