package org.esa.snap.rcp.placemark;
import com.bc.ceres.swing.figure.Figure;
import com.bc.ceres.swing.figure.FigureCollection;
import com.bc.ceres.swing.figure.support.DefaultFigureStyle;
import org.esa.snap.core.datamodel.Placemark;
import org.esa.snap.rcp.SnapApp;
import org.esa.snap.ui.product.ProductSceneView;
import org.esa.snap.ui.product.SimpleFeaturePointFigure;
import org.opengis.feature.simple.SimpleFeature;
import java.awt.Color;
public class PlacemarkUtils {
public static Color getPlacemarkColor(Placemark placemark) {
return getPlacemarkColor(placemark, SnapApp.getDefault().getSelectedProductSceneView());
}
public static Color getPlacemarkColor(Placemark placemark, ProductSceneView view) {
final String styleCss = placemark.getStyleCss();
if (styleCss.contains(DefaultFigureStyle.FILL_COLOR.getName())) {
return DefaultFigureStyle.createFromCss(styleCss).getFillColor();
}
final Figure[] figures = getFigures(view);
for (Figure figure : figures) {
if (figure instanceof SimpleFeaturePointFigure) {
final SimpleFeature simpleFeature = ((SimpleFeaturePointFigure) figure).getSimpleFeature();
if (simpleFeature.getID().equals(placemark.getName())) {
return figure.getNormalStyle().getFillColor();
}
}
}
return Color.BLUE;
}
private static Figure[] getFigures(ProductSceneView view) {
if (view == null) {
return new Figure[0];
}
final FigureCollection figureCollection = view.getFigureEditor().getFigureCollection();
return figureCollection.getFigures();
}
}