package org.bndtools.utils.jface;
import org.eclipse.jface.preference.JFacePreferences;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.viewers.StyledString.Styler;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.TextStyle;
public class BoldStyler extends Styler {
public static BoldStyler INSTANCE_DEFAULT = new BoldStyler(JFaceResources.DEFAULT_FONT, null, null);
public static BoldStyler INSTANCE_COUNTER = new BoldStyler(JFaceResources.DEFAULT_FONT, JFacePreferences.COUNTER_COLOR, null);
private final String fontName;
private final String fForegroundColorName;
private final String fBackgroundColorName;
public BoldStyler(String fontName, String foregroundColorName, String backgroundColorName) {
this.fontName = fontName;
fForegroundColorName = foregroundColorName;
fBackgroundColorName = backgroundColorName;
}
@Override
public void applyStyles(TextStyle textStyle) {
ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
Font font = JFaceResources.getFontRegistry().getBold(fontName);
if (fForegroundColorName != null) {
textStyle.foreground = colorRegistry.get(fForegroundColorName);
}
if (fBackgroundColorName != null) {
textStyle.background = colorRegistry.get(fBackgroundColorName);
}
textStyle.font = font;
}
}