001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.conflict.tags;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006/**
007 * This represents the decision a user can make regarding a relation conflict
008 */
009public enum RelationMemberConflictDecisionType {
010    /**
011     * keep the respective relation member for the target primitive (the target node
012     * in a node merge operation or the target way in a combine way operation)
013     */
014    KEEP,
015
016    /**
017     * remove the respective relation member
018     */
019    REMOVE,
020
021    /**
022     * not yet decided
023     */
024    UNDECIDED;
025
026    String getLabelText() {
027        switch (this) {
028            case REMOVE:
029                return tr("Remove");
030            case KEEP:
031                return tr("Keep");
032            case UNDECIDED:
033            default:
034                return tr("Undecided");
035        }
036    }
037
038    String getLabelToolTipText() {
039        switch (this) {
040            case REMOVE:
041                return tr("Remove this relation member from the relation");
042            case KEEP:
043                return tr("Keep this relation member for the target object");
044            case UNDECIDED:
045            default:
046                return tr("Not decided yet");
047        }
048    }
049}