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_PARTICIPATING_IN_COMPARISON(marktr("Conflict background: in comparison"), Color.black), 028 FGCOLOR_PARTICIPATING_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 BGCOLOR_TAG_KEEP_ONE (marktr("Conflict background: keep one tag"), new Color(217,255,217)), 037 FGCOLOR_TAG_KEEP_ONE (marktr("Conflict foreground: keep one tag"), Color.black), 038 BGCOLOR_TAG_KEEP_NONE(marktr("Conflict background: drop tag"), Color.lightGray), 039 FGCOLOR_TAG_KEEP_NONE(marktr("Conflict foreground: drop tag"), Color.black), 040 BGCOLOR_TAG_KEEP_ALL (marktr("Conflict background: keep all tags"), new Color(255,234,213)), 041 FGCOLOR_TAG_KEEP_ALL (marktr("Conflict foreground: keep all tags"), Color.black), 042 043 BGCOLOR_MEMBER_KEEP (marktr("Conflict background: keep member"), new Color(217,255,217)), 044 FGCOLOR_MEMBER_KEEP (marktr("Conflict foreground: keep member"), Color.black), 045 BGCOLOR_MEMBER_REMOVE(marktr("Conflict background: remove member"), Color.lightGray), 046 FGCOLOR_MEMBER_REMOVE(marktr("Conflict foreground: remove member"), Color.black); 047 048 private final String name; 049 private final Color defaultColor; 050 051 private ConflictColors(String name, Color defaultColor) { 052 this.name = name; 053 this.defaultColor = defaultColor; 054 } 055 056 @Override 057 public String getColorName() { 058 return name; 059 } 060 061 @Override 062 public Color getDefaultValue() { 063 return defaultColor; 064 } 065 066 @Override 067 public String getSpecialName() { 068 return null; 069 } 070 071 /** 072 * Returns the color. 073 * @return the color 074 */ 075 public Color get() { 076 return Main.pref.getColor(this); 077 } 078 079 /** 080 * Loads all colors from preferences. 081 */ 082 public static void getColors() { 083 for (ConflictColors c : values()) { 084 c.get(); 085 } 086 } 087}