// Path: src/org/twak/camp/ui/Marker.java
// public class Marker extends Point2d
// {
//     @Deprecated
//     public Tag feature;
//     
//     public Bar bar;
// 
//     // what created this marker?
//     public Object generator;
// 
//     @Deprecated
//     public Map<String, Object> properties = new HashMap();
//     
//     @Deprecated
//     public final static String TYPE = "type";
// 
// 
// 
//     public enum Type
//     {
//         AbsStart ("absolute from start"), AbsEnd ("absolute from end"), Rel  ("relative");
//         String name;
//         
//         Type(String name)
//         {
//             this.name = name;
//         }
// 
//         @Override
//         public String toString()
//         {
//             return name;
//         }
//     }
// 
//     @Deprecated
//     public Marker(Tag feature) {
//         this.feature = feature;
//         properties.put(TYPE, Type.Rel);
//     }
// 
//     public Marker() {
//     }
// }
// 
// Path: src/org/twak/camp/ui/Marker.java
// public enum Type
// {
//     AbsStart ("absolute from start"), AbsEnd ("absolute from end"), Rel  ("relative");
//     String name;
//         
//     Type(String name)
//     {
//         this.name = name;
//     }
// 
//     @Override
//     public String toString()
//     {
//         return name;
//     }
// }


import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Comparator;
import javax.swing.ButtonGroup;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import org.twak.camp.ui.Marker;
import org.twak.camp.ui.Marker.Type;
import org.twak.utils.ui.Rainbow;
        colorName = Rainbow.lastAsString( this.getClass() );
        this.name = name;
    }

    public static Comparator<Feature> nameComparator = new Comparator<Feature> ()
    {
        public int compare( Feature o1, Feature o2 )
        {
            return String.CASE_INSENSITIVE_ORDER.compare(o1.name, o2.name);
        }
    };

    @Override
    public String toString()
    {
        return name +"("+colorName+")";
    }

    /**
     * This menu is shown when someone clicks on the marker
     * @return
     */
    public JPopupMenu createMenu(final Marker m)
    {
        JPopupMenu popup = new JPopupMenu();
        JMenu menu = new JMenu( "type:" );
        popup.add( menu );

        ButtonGroup group = new ButtonGroup();

// Path: src/org/twak/camp/ui/Marker.java
// public class Marker extends Point2d
// {
//     @Deprecated
//     public Tag feature;
//     
//     public Bar bar;
// 
//     // what created this marker?
//     public Object generator;
// 
//     @Deprecated
//     public Map<String, Object> properties = new HashMap();
//     
//     @Deprecated
//     public final static String TYPE = "type";
// 
// 
// 
//     public enum Type
//     {
//         AbsStart ("absolute from start"), AbsEnd ("absolute from end"), Rel  ("relative");
//         String name;
//         
//         Type(String name)
//         {
//             this.name = name;
//         }
// 
//         @Override
//         public String toString()
//         {
//             return name;
//         }
//     }
// 
//     @Deprecated
//     public Marker(Tag feature) {
//         this.feature = feature;
//         properties.put(TYPE, Type.Rel);
//     }
// 
//     public Marker() {
//     }
// }
// 
// Path: src/org/twak/camp/ui/Marker.java
// public enum Type
// {
//     AbsStart ("absolute from start"), AbsEnd ("absolute from end"), Rel  ("relative");
//     String name;
//         
//     Type(String name)
//     {
//         this.name = name;
//     }
// 
//     @Override
//     public String toString()
//     {
//         return name;
//     }
// }


// Path: src/org/twak/camp/Feature.java
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Comparator;
import javax.swing.ButtonGroup;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import org.twak.camp.ui.Marker;
import org.twak.camp.ui.Marker.Type;
import org.twak.utils.ui.Rainbow;

        colorName = Rainbow.lastAsString( this.getClass() );
        this.name = name;
    }

    public static Comparator<Feature> nameComparator = new Comparator<Feature> ()
    {
        public int compare( Feature o1, Feature o2 )
        {
            return String.CASE_INSENSITIVE_ORDER.compare(o1.name, o2.name);
        }
    };

    @Override
    public String toString()
    {
        return name +"("+colorName+")";
    }

    /**
     * This menu is shown when someone clicks on the marker
     * @return
     */
    public JPopupMenu createMenu(final Marker m)
    {
        JPopupMenu popup = new JPopupMenu();
        JMenu menu = new JMenu( "type:" );
        popup.add( menu );

        ButtonGroup group = new ButtonGroup();

        for (Type t : Marker.Type.values())