Ticket #6694: DrawAction.patch

File DrawAction.patch, 2.8 KB (added by akks, 12 years ago)
  • DrawAction.java

     
    3636
    3737import javax.swing.SwingUtilities;
    3838import org.openstreetmap.josm.Main;
     39import org.openstreetmap.josm.actions.JosmAction;
    3940import org.openstreetmap.josm.command.AddCommand;
    4041import org.openstreetmap.josm.command.ChangeCommand;
    4142import org.openstreetmap.josm.command.Command;
     
    5051import org.openstreetmap.josm.data.osm.Way;
    5152import org.openstreetmap.josm.data.osm.WaySegment;
    5253import org.openstreetmap.josm.data.osm.visitor.paint.PaintColors;
     54import org.openstreetmap.josm.gui.MainMenu;
    5355import org.openstreetmap.josm.gui.MapFrame;
    5456import org.openstreetmap.josm.gui.MapView;
    5557import org.openstreetmap.josm.gui.layer.Layer;
     
    100102        extraShortcut = Shortcut.registerShortcut("mapmode:drawfocus", tr("Mode: Draw Focus"), KeyEvent.VK_N, Shortcut.GROUP_EDIT);
    101103        Main.registerActionShortcut(this, extraShortcut);
    102104
     105        MainMenu.addWithCheckbox(Main.main.menu.editMenu, new JosmAction(
     106                tr("Angle snapping"), "help",
     107                tr("Switches angle snapping mode while drawing"),
     108                Shortcut.registerShortcut("draw:anglesnap", tr("Draw: {0}",tr("Angle snapping")),
     109                KeyEvent.VK_TAB, Shortcut.GROUP_DIRECT), false) {
     110                   {
     111                        putValue("selected", false);
     112                   } 
     113                   @Override
     114                    public void actionPerformed(ActionEvent e) {
     115                        if (snapHelper!=null) snapHelper.nextSnapMode();
     116                        putValue("selected", true);
     117                    }
     118                },MainMenu.WINDOW_MENU_GROUP.VOLATILE);
    103119        cursorJoinNode = ImageProvider.getCursor("crosshair", "joinnode");
    104120        cursorJoinWay = ImageProvider.getCursor("crosshair", "joinway");
    105121    }
     
    181197    public void eventDispatched(AWTEvent event) {
    182198        if(Main.map == null || Main.map.mapView == null || !Main.map.mapView.isActiveLayerDrawable())
    183199            return;
    184         if (event instanceof KeyEvent) {
    185                 KeyEvent ke = (KeyEvent) event;
    186                 if (ke.getKeyCode() == KeyEvent.VK_TAB &&
    187                     ke.getID()==KeyEvent.KEY_PRESSED) {
    188                     snapHelper.nextSnapMode();
    189                 }
    190         } //  toggle angle snapping
     200//        if (event instanceof KeyEvent) {
     201//                KeyEvent ke = (KeyEvent) event;
     202//                if (ke.getKeyCode() == KeyEvent.VK_TAB &&
     203//                    ke.getID()==KeyEvent.KEY_PRESSED) {
     204//                    snapHelper.nextSnapMode();
     205//                }
     206//        } //  toggle angle snapping
    191207        updateKeyModifiers((InputEvent) event);
    192208        computeHelperLine();
    193209        addHighlighting();