package magic.ui.widget.cards.table; import java.awt.Color; import java.util.logging.Level; import java.util.logging.Logger; import magic.data.GeneralConfig; import magic.ui.theme.Theme; import magic.ui.utility.MagicStyle; public enum CardsTableStyle { LIGHT(Color.WHITE), DARK(Color.BLACK), THEME(MagicStyle.getTheme().getColor(Theme.COLOR_TITLE_BACKGROUND)); private static final GeneralConfig CONFIG = GeneralConfig.getInstance(); private static final String CONFIG_SETTING = "explorer.table.style"; private static CardsTableStyle style = load(); private static CardsTableStyle load() { try { int ordinal = CONFIG.getInt(CONFIG_SETTING, LIGHT.ordinal()); return CardsTableStyle.values()[ordinal]; } catch (Exception ex) { Logger.getLogger(CardsTableStyle.class.getName()).log(Level.SEVERE, null, ex); return LIGHT; } } public static void save() { CONFIG.set(CONFIG_SETTING, style.ordinal()); } static void setStyle(CardsTableStyle newStyle) { style = newStyle; } private CardsTableStyle next() { return values()[(this.ordinal()+1) % values().length]; } public static void setNextStyle() { style = style.next(); } public static CardsTableStyle getStyle() { return style; } private final Color emptyBackgroundColor; private CardsTableStyle(Color emptyBackgroundColor) { this.emptyBackgroundColor = MagicStyle.getTranslucentColor(emptyBackgroundColor, 230); } public Color getEmptyBackgroundColor() { return this.emptyBackgroundColor; } }