Changeset 7217 in josm for trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
- Timestamp:
- 2014-06-06T10:10:31+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
r7005 r7217 6 6 import static org.openstreetmap.josm.tools.I18n.tr; 7 7 8 import java.awt.AWTEvent;9 8 import java.awt.Color; 10 9 import java.awt.Cursor; … … 12 11 import java.awt.Point; 13 12 import java.awt.Stroke; 14 import java.awt.Toolkit;15 import java.awt.event.AWTEventListener;16 import java.awt.event.InputEvent;17 13 import java.awt.event.KeyEvent; 18 14 import java.awt.event.MouseEvent; … … 41 37 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 42 38 import org.openstreetmap.josm.gui.util.GuiHelper; 39 import org.openstreetmap.josm.gui.util.ModifierListener; 43 40 import org.openstreetmap.josm.tools.Geometry; 44 41 import org.openstreetmap.josm.tools.ImageProvider; … … 84 81 * @author Ole Jørgen Brønner (olejorgenb) 85 82 */ 86 public class ParallelWayAction extends MapMode implements AWTEventListener, MapViewPaintable, PreferenceChangedListener {83 public class ParallelWayAction extends MapMode implements ModifierListener, MapViewPaintable, PreferenceChangedListener { 87 84 88 85 private enum Mode { … … 161 158 162 159 //// Needed to update the mouse cursor if modifiers are changed when the mouse is motionless 163 try { 164 Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK); 165 } catch (SecurityException ex) { 166 Main.warn(ex); 167 } 160 Main.map.keyDetector.addModifierListener(this); 168 161 sourceWays = new LinkedHashSet<>(getCurrentDataSet().getSelectedWays()); 169 162 for (Way w : sourceWays) { … … 181 174 Main.map.statusLine.setDist(-1); 182 175 Main.map.statusLine.repaint(); 183 try { 184 Toolkit.getDefaultToolkit().removeAWTEventListener(this); 185 } catch (SecurityException ex) { 186 Main.warn(ex); 187 } 176 Main.map.keyDetector.removeModifierListener(this); 188 177 removeWayHighlighting(sourceWays); 189 178 pWays = null; … … 238 227 239 228 @Override 240 public void eventDispatched(AWTEvent e) {229 public void modifiersChanged(int modifiers) { 241 230 if (Main.map == null || mv == null || !mv.isActiveLayerDrawable()) 242 231 return; 243 232 244 233 // Should only get InputEvents due to the mask in enterMode 245 if (updateModifiersState( (InputEvent) e)) {234 if (updateModifiersState(modifiers)) { 246 235 updateStatusLine(); 247 236 updateCursor(); … … 249 238 } 250 239 251 private boolean updateModifiersState( InputEvent e) {240 private boolean updateModifiersState(int modifiers) { 252 241 boolean oldAlt = alt, oldShift = shift, oldCtrl = ctrl; 253 updateKeyModifiers( e);242 updateKeyModifiers(modifiers); 254 243 return (oldAlt != alt || oldShift != shift || oldCtrl != ctrl); 255 244 } … … 302 291 public void mousePressed(MouseEvent e) { 303 292 requestFocusInMapView(); 304 updateModifiersState(e );293 updateModifiersState(e.getModifiers()); 305 294 // Other buttons are off limit, but we still get events. 306 295 if (e.getButton() != MouseEvent.BUTTON1) … … 327 316 @Override 328 317 public void mouseReleased(MouseEvent e) { 329 updateModifiersState(e );318 updateModifiersState(e.getModifiers()); 330 319 // Other buttons are off limit, but we still get events. 331 320 if (e.getButton() != MouseEvent.BUTTON1) … … 382 371 return; 383 372 384 boolean modifiersChanged = updateModifiersState(e );373 boolean modifiersChanged = updateModifiersState(e.getModifiers()); 385 374 updateFlagsChangeableAlways(); 386 375
Note:
See TracChangeset
for help on using the changeset viewer.