package com.revolsys.swing.map.layer;
import java.util.Map;
import com.revolsys.swing.menu.MenuFactory;
public class BaseMapLayerGroup extends LayerGroup {
static {
final MenuFactory menu = MenuFactory.getMenu(BaseMapLayerGroup.class);
menu.deleteGroup("scale");
menu.deleteMenuItem("zoom", "Zoom to Layer");
menu.deleteMenuItem("group", "Add Group");
menu.deleteMenuItem("group", "Open File Layer...");
menu.deleteMenuItem("layer", "Delete");
menu.deleteMenuItem("layer", "Layer Properties");
}
public static LayerGroup newLayer(final Map<String, Object> properties) {
final BaseMapLayerGroup layerGroup = new BaseMapLayerGroup();
layerGroup.loadLayers(properties);
return layerGroup;
}
public BaseMapLayerGroup() {
setType("baseMapLayerGroup");
setOpen(false);
}
@Override
public void addLayer(final int index, final Layer layer) {
if (layer == null) {
} else if (layer instanceof BaseMapLayer) {
super.addLayer(index, layer);
} else {
throw new IllegalArgumentException("Layer " + layer.getName() + " must be a subclass of "
+ BaseMapLayer.class + " not " + layer.getClass());
}
}
@Override
public String getName() {
return "Base Maps";
}
@Override
protected void importProject(final Project importProject) {
final BaseMapLayerGroup importBaseMaps = importProject.getBaseMapLayers();
addLayers(importBaseMaps);
}
@Override
public boolean isSingleLayerVisible() {
return true;
}
}