001 // License: GPL. See LICENSE file for details.
002 package org.openstreetmap.josm.data.validation;
003
004 import static org.openstreetmap.josm.tools.I18n.marktr;
005 import static org.openstreetmap.josm.tools.I18n.tr;
006
007 import java.awt.Color;
008
009 import org.openstreetmap.josm.Main;
010
011 /** The error severity */
012 public enum Severity {
013 /** Error messages */
014 ERROR(tr("Errors"), /* ICON(data/) */"error", Main.pref.getColor(marktr("validation error"), Color.RED)),
015 /** Warning messages */
016 WARNING(tr("Warnings"), /* ICON(data/) */"warning", Main.pref.getColor(marktr("validation warning"), Color.YELLOW)),
017 /** Other messages */
018 OTHER(tr("Other"), /* ICON(data/) */"other", Main.pref.getColor(marktr("validation other"), Color.CYAN));
019
020 /** Description of the severity code */
021 private final String message;
022
023 /** Associated icon */
024 private final String icon;
025
026 /** Associated color */
027 private final Color color;
028
029 /**
030 * Constructor
031 *
032 * @param message Description
033 * @param icon Associated icon
034 * @param color The color of this severity
035 */
036 Severity(String message, String icon, Color color) {
037 this.message = message;
038 this.icon = icon;
039 this.color = color;
040 }
041
042 public static void getColors() {
043 for (Severity c:values()) {
044 c.getColor();
045 }
046 }
047
048 @Override
049 public String toString() {
050 return message;
051 }
052
053 /**
054 * Gets the associated icon
055 * @return the associated icon
056 */
057 public String getIcon() {
058 return icon;
059 }
060
061 /**
062 * Gets the associated color
063 * @return The associated color
064 */
065 public Color getColor() {
066 return color;
067 }
068
069
070 }