package org.limewire.setting; import java.util.Properties; /** * Provides a font name setting value. As a subclass of * <code>Setting</code>, the setting has a key. * <p> * Create a <code>FontNameSetting</code> object with a * {@link SettingsFactory#createFontNameSetting(String, String)}. */ /* TODO: look into creating a true 'FontSetting' that keeps a Font * object rather than just the name. This will require changes * to the themes.txt format since right now it has three properties * (name, style, size) that define a single font. */ public final class FontNameSetting extends AbstractSetting<String> { private String _fontName; FontNameSetting(Properties defaultProps, Properties props, String key, String defaultStr) { super(defaultProps, props, key, defaultStr); _fontName = defaultStr; } public void set(String fontName) { setValueInternal(fontName); } public String get() { return _fontName; } /** * Most of the theme files have a font (like Verdana) * specified that can not display languages other than * those using Roman alphabets. Therefore, if the locale * is determined not to be one that uses a Roman alphabet * then do not set _fontName. The variable _fontName * is set to the default (dialog) in the constructor. */ @Override protected void loadValue(String sValue) { _fontName = sValue; } }