package com.baselet.element.facet.common;
import com.baselet.control.enums.ElementStyle;
import com.baselet.element.facet.FirstRunKeyValueFacet;
import com.baselet.element.facet.PropertiesParserState;
public class ElementStyleFacet extends FirstRunKeyValueFacet {
private static final ValueInfo NORESIZE_VALUE = new ValueInfo(ElementStyle.NORESIZE, "disable manual resizing");
private static final ValueInfo WORDWRAP_VALUE = new ValueInfo(ElementStyle.WORDWRAP, "wrap lines at the end of the line");
private static final ValueInfo AUTORESIZE_VALUE = new ValueInfo(ElementStyle.AUTORESIZE, "resizes element as text grows");
public static final ElementStyleFacet INSTANCE = new ElementStyleFacet(AUTORESIZE_VALUE, WORDWRAP_VALUE, NORESIZE_VALUE);
public static final ElementStyleFacet INSTANCE_AUTORESIZEONLY = new ElementStyleFacet(AUTORESIZE_VALUE);
private final ValueInfo[] valueInfo;
private ElementStyleFacet(ValueInfo... valueInfo) {
this.valueInfo = valueInfo;
}
@Override
public KeyValue getKeyValue() {
return new KeyValue("style", valueInfo);
}
@Override
public void handleValue(String value, PropertiesParserState state) {
state.setElementStyle(ElementStyle.valueOf(value.toUpperCase()));
}
}