package jetbrains.mps.editor.runtime.style;
/*Generated by MPS */
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.openapi.editor.style.Style;
import jetbrains.mps.openapi.editor.style.StyleRegistry;
public abstract class AbstractStyleKey {
private String myKey;
private int myPriority;
public AbstractStyleKey(@NotNull String key) {
myKey = key;
}
public AbstractStyleKey(@NotNull String key, int priority) {
this(key);
myPriority = priority;
}
public void apply(Style toStyle) {
Style style = StyleRegistry.getInstance().getStyle(myKey);
if (style == null) {
return;
}
toStyle.putAll(style, myPriority);
}
public void unapply(Style toStyle) {
Style style = StyleRegistry.getInstance().getStyle(myKey);
if (style == null) {
return;
}
if (myPriority != 0) {
Style toRemove = new StyleImpl();
toRemove.putAll(style, myPriority);
style = toRemove;
}
toStyle.removeAll(style);
}
}