Revision 8173 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
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