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