source: osm/applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/actions/transform/affine/MovePointAction.java@ 27403

Last change on this file since 27403 was 27403, checked in by larry0ua, 13 years ago

'PicLayer - now all actions are shown in history and user can undo/redo changes'

File size: 1.7 KB
Line 
1package org.openstreetmap.josm.plugins.piclayer.actions.transform.affine;
2
3import static org.openstreetmap.josm.tools.I18n.tr;
4
5import java.awt.event.MouseEvent;
6import java.awt.geom.NoninvertibleTransformException;
7import java.awt.geom.Point2D;
8
9import org.openstreetmap.josm.gui.MapFrame;
10import org.openstreetmap.josm.plugins.piclayer.actions.GenericPicTransformAction;
11import org.openstreetmap.josm.tools.ImageProvider;
12
13// old version - ctrl move point (not transforming picture)
14@SuppressWarnings("serial")
15public class MovePointAction extends GenericPicTransformAction {
16
17 public MovePointAction(MapFrame frame) {
18 super(tr("PicLayer Move point"), tr("Point added/moved"), "movepoint", tr("Drag or create point on the picture"), frame, ImageProvider.getCursor("crosshair", null));
19 }
20
21 @Override
22 protected void doAction(MouseEvent e) {
23 try {
24 Point2D pressed = currentLayer.transformPoint(e.getPoint());
25 if (selectedPoint != null) {
26 currentLayer.getTransformer().replaceOriginPoint(selectedPoint, pressed);
27 selectedPoint = pressed;
28 }
29 } catch (NoninvertibleTransformException e1) {
30 e1.printStackTrace();
31 }
32 }
33
34 @Override
35 public void mouseClicked(MouseEvent e) {
36 if (currentLayer == null)
37 return;
38
39 try {
40 Point2D pressed = currentLayer.transformPoint(e.getPoint());
41 if (selectedPoint == null)
42 currentLayer.getTransformer().addOriginPoint(pressed);
43
44 currentCommand.addIfChanged();
45 } catch (NoninvertibleTransformException e1) {
46 e1.printStackTrace();
47 }
48 }
49
50 @Override
51 public void enterMode() {
52 super.enterMode();
53 updateDrawPoints(true);
54 }
55
56 @Override
57 public void exitMode() {
58 super.exitMode();
59 updateDrawPoints(false);
60 }
61}
Note: See TracBrowser for help on using the repository browser.