001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.conflict; 003 004import static org.openstreetmap.josm.tools.I18n.marktr; 005 006import java.awt.Color; 007 008import org.openstreetmap.josm.Main; 009import org.openstreetmap.josm.data.Preferences.ColorKey; 010 011public enum ConflictColors implements ColorKey { 012 013 BGCOLOR_NO_CONFLICT(marktr("Conflict background: no conflict"), new Color(234,234,234)), 014 BGCOLOR_DECIDED(marktr("Conflict background: decided"), new Color(217,255,217)), 015 BGCOLOR_UNDECIDED(marktr("Conflict background: undecided"), new Color(255,197,197)), 016 BGCOLOR_DROP(marktr("Conflict background: drop"), Color.white), 017 BGCOLOR_KEEP(marktr("Conflict background: keep"), new Color(217,255,217)), 018 BGCOLOR_COMBINED(marktr("Conflict background: combined"), new Color(217,255,217)), 019 BGCOLOR_SELECTED(marktr("Conflict background: selected"), new Color(143,170,255)), 020 021 FGCOLOR_UNDECIDED(marktr("Conflict foreground: undecided"), Color.black), 022 FGCOLOR_DROP(marktr("Conflict foreground: drop"), Color.lightGray), 023 FGCOLOR_KEEP(marktr("Conflict foreground: keep"), Color.black), 024 025 BGCOLOR_EMPTY_ROW(marktr("Conflict background: empty row"), new Color(234,234,234)), 026 BGCOLOR_FROZEN(marktr("Conflict background: frozen"), new Color(234,234,234)), 027 BGCOLOR_PARTICIPAING_IN_COMPARISON(marktr("Conflict background: in comparison"), Color.black), 028 FGCOLOR_PARTICIPAING_IN_COMPARISON(marktr("Conflict foreground: in comparison"), Color.white), 029 BGCOLOR(marktr("Conflict background"), Color.white), 030 FGCOLOR(marktr("Conflict foreground"), Color.black), 031 032 BGCOLOR_NOT_IN_OPPOSITE(marktr("Conflict background: not in opposite"), new Color(255,197,197)), 033 BGCOLOR_IN_OPPOSITE(marktr("Conflict background: in opposite"), new Color(255,234,213)), 034 BGCOLOR_SAME_POSITION_IN_OPPOSITE(marktr("Conflict background: same position in opposite"), new Color(217,255,217)); 035 036 private final String name; 037 private final Color defaultColor; 038 039 private static Color backgroundColorCache = null; 040 041 private ConflictColors(String name, Color defaultColor) { 042 this.name = name; 043 this.defaultColor = defaultColor; 044 } 045 046 @Override 047 public String getColorName() { 048 return name; 049 } 050 051 @Override 052 public Color getDefaultValue() { 053 return defaultColor; 054 } 055 056 @Override 057 public String getSpecialName() { 058 return null; 059 } 060 061 public Color get() { 062 return Main.pref.getColor(this); 063 } 064 065 public static void getColors() { 066 for (ConflictColors c:values()) { 067 c.get(); 068 } 069 } 070}