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 }