package org.freeplane.features.edge;
import org.freeplane.core.util.LogUtils;
public enum EdgeStyle {
EDGESTYLE_BEZIER("bezier", 1f), EDGESTYLE_HIDDEN("hide_edge", 1f), EDGESTYLE_HORIZONTAL("horizontal", 1f),
EDGESTYLE_LINEAR("linear", 1f), EDGESTYLE_SHARP_BEZIER("sharp_bezier", 0.25f), EDGESTYLE_SHARP_LINEAR("sharp_linear", 0f),
EDGESTYLE_SUMMARY("summary", 1f);
private String name;
private float nodeLineWeight;
private EdgeStyle(final String name, final float nodeLineWeight) {
this.name = name;
this.nodeLineWeight = nodeLineWeight;
}
@Override
public String toString() {
return name;
}
public int getNodeLineWidth(final int width) {
final int nlWidth = (int) (nodeLineWeight * width);
if (nlWidth == 0) {
return 1;
}
return nlWidth;
}
static public EdgeStyle getStyle(final String name) {
if (name == null) {
return null;
}
for (final EdgeStyle style : EdgeStyle.class.getEnumConstants()) {
if (style.name.equals(name)) {
return style;
}
}
LogUtils.warn("unknown edge style name " + name);
return null;
}
static public String toString(final EdgeStyle style) {
return style == null ? null : style.toString();
}
}