introduce named colors in JBColor

This commit is contained in:
Konstantin Bulenkov
2018-04-18 11:22:56 +03:00
parent b21352c7f0
commit 20bf03fe20
@@ -2,6 +2,7 @@
package com.intellij.ui;
import com.intellij.util.NotNullProducer;
import com.intellij.util.ObjectUtils;
import com.intellij.util.containers.hash.HashMap;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NotNull;
@@ -43,6 +44,21 @@ public class JBColor extends Color {
func = function;
}
public static JBColor namedColor(@NotNull String propertyName, int defaultValueRGB) {
return namedColor(propertyName, new Color(defaultValueRGB));
}
public static JBColor namedColor(@NotNull final String propertyName, @NotNull final Color defaultColor) {
return new JBColor(new NotNullProducer<Color>() {
@NotNull
@Override
public Color produce() {
return ObjectUtils.notNull(UIManager.getColor(propertyName), defaultColor);
}
});
}
@NotNull
public static Color link() {
return new JBColor(new NotNullProducer<Color>() {