package org.jgrasstools.nww.gui;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import com.jgoodies.forms.layout.CellConstraints;
import gov.nasa.worldwind.layers.Layer;
import gov.nasa.worldwind.layers.LayerList;
public class LayersPanelController extends LayersPanelView implements LayerEventsListener {
private NwwPanel wwdPanel;
/**
* Default constructor
* @param wwdPanel
* @param impiantiList
*/
public LayersPanelController(NwwPanel wwdPanel) {
this.wwdPanel = wwdPanel;
// setMinimumSize(new Dimension(450, 300));
setMaximumSize(new Dimension(400, 2300));
refreshLayersList();
}
public void refreshLayersList() {
_layersGridView.removeAll();
LayerList layerList = wwdPanel.getWwd().getModel().getLayers();
List<Layer> layersReverse = new ArrayList<>();
for (int i = 0; i < layerList.size(); i++) {
Layer layer = layerList.get(i);
if (layer.getName().startsWith("hide")) {
continue;
}
layersReverse.add(0, layer);
}
int index = 1;
CellConstraints cc = new CellConstraints();
for (int i = 0; i < layersReverse.size(); i++) {
Layer layer = layersReverse.get(i);
LayerListRowPanel row = new LayerListRowPanel(this, wwdPanel, layer);
_layersGridView.add(row, cc.xy(1, index));
index = index + 2;
}
_layersGridView.revalidate();
_layersGridView.repaint();
}
@Override
public void onLayerAdded(Layer addedLayer) {
refreshLayersList();
}
@Override
public void onLayerRemoved(Layer removeLayer) {
refreshLayersList();
}
@Override
public void onLayerSelected(Layer selectdLayer, boolean isSelected) {
}
}