package org.csstudio.sds.ui.internal.editor.newproperties.colorservice; import org.csstudio.sds.util.ColorAndFontUtil; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.FontData; /** * Describes a named color. * * @author Sven Wende * */ public class NamedFont { private String name; private String description; private String fontName; private int fontSize; private boolean italic; private boolean bold; public NamedFont(String name, String description, String fontName, int fontSize, boolean bold, boolean italic) { assert name != null : "name != null"; assert name.trim().length() > 0 : "name.trim().length() > 0"; assert description != null : "description != null"; assert description.trim().length() > 0 : "description.trim().length() > 0"; assert fontName != null : "fontName != null"; assert fontName.trim().length() > 0 : "fontName.trim().length() > 0"; assert fontSize > 0 : "fontSize > 0"; this.name = name; this.description = description; this.fontName = fontName; this.fontSize = fontSize; this.bold = bold; this.italic = italic; } public String getName() { return name; } public String getDescription() { return description; } public FontData getFontData(){ FontData fd = new FontData(); // .. font type fd.setName(fontName); // .. height if(fontSize>0) { fd.setHeight(fontSize); } // .. style int style = SWT.None; if(bold) { style|=SWT.BOLD; } if(italic) { style|=SWT.ITALIC; } fd.setStyle(style); return fd; } public String toFontString() { return ColorAndFontUtil.toFontString(fontName, fontSize, bold, italic); } }