// License: GPL. For details, see Readme.txt file.
package org.openstreetmap.gui.jmapviewer;
import java.util.List;
public class LayerGroup extends AbstractLayer {
private List<AbstractLayer> layers;
public LayerGroup(String name) {
super(name);
}
public LayerGroup(String name, String description) {
super(name, description);
}
public LayerGroup(String name, Style style) {
super(name, style);
}
public LayerGroup(String name, String description, Style style) {
super(name, description, style);
}
public LayerGroup(LayerGroup parent, String name) {
super(parent, name);
}
public LayerGroup(LayerGroup parent, String name, String description, Style style) {
super(name, description, style);
}
public List<AbstractLayer> getLayers() {
return layers;
}
public void setElements(List<AbstractLayer> layers) {
this.layers = layers;
}
public Layer addLayer(String name) {
Layer layer = new Layer(this, name);
layers = add(layers, layer);
return layer;
}
public LayerGroup add(AbstractLayer layer) {
layer.setParent(this);
layers = add(layers, layer);
return this;
}
public void calculateVisibleTexts() {
Boolean calculate = null;
if (layers != null && !layers.isEmpty()) {
calculate = layers.get(0).isVisibleTexts();
for (int i = 1; i < layers.size(); i++) {
calculate = resultOf(calculate, layers.get(i).isVisibleTexts());
}
}
setVisibleTexts(calculate);
if (getParent() != null) getParent().calculateVisibleTexts();
}
public Boolean resultOf(Boolean b1, Boolean b2) {
if (b1 != null && b1.equals(b2)) {
return b1;
}
return Boolean.FALSE;
}
}