annotate src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomAreaRectangleListener.java @ 21:643fa1daa70c

minor changes
author dwinter
date Wed, 05 Jan 2011 11:35:45 +0100
parents e63a64652f4d
children 1a7940ac5169
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
1 package de.mpg.mpiwg.itgroup.digilib.manipulator.extensions;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
2
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
3
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
4 import org.eclipse.swt.SWT;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
5 import org.eclipse.swt.events.MouseEvent;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
6 import org.eclipse.swt.events.MouseListener;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
7 import org.eclipse.swt.graphics.Color;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
8 import org.eclipse.swt.graphics.GC;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
9 import org.eclipse.swt.graphics.Point;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
10 import org.eclipse.swt.widgets.Label;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
11
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
12 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
13 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
14
9
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
15 /**
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
16 * Listener to select the zoom area for the zoomarea function on digiimage.
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
17 * calls zoom area after an area on the image was selected.
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
18 * @author dwinter
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
19 *
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
20 */
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
21 public class ZoomAreaRectangleListener implements MouseListener {
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
22 static int FIRST_CLICK=1;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
23 static int SECOND_CLICK=2;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
24 static int NO_CLICK=0;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
25 int status=NO_CLICK;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
26 private Label label;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
27 private Point firstPoint;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
28 private DigiImageController dc;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
29
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
30
9
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
31 private ZoomAreaRectangleListener() {};
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
32
9
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
33 public ZoomAreaRectangleListener(DigiImageController dc){
e63a64652f4d added comments
dwinter
parents: 1
diff changeset
34 this.label = dc.digiImage.getLabel();
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
35 this.dc=dc;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
36 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
37 public void reset(){
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
38 status=0;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
39 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
40 public void mouseDoubleClick(MouseEvent e) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
41 // TODO Auto-generated method stub
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
42
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
43 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
44
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
45 public void mouseDown(MouseEvent e) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
46 // TODO Auto-generated method stub
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
47
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
48 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
49
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
50 public void mouseUp(MouseEvent e) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
51 if (status==NO_CLICK){
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
52 handleFirstClick(e);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
53 } else if (status==FIRST_CLICK){
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
54 handleSecondClick(e);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
55 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
56
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
57 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
58
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
59 private void handleSecondClick(MouseEvent e) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
60 //Canvas canvas = new Canvas(label.getParent(),SWT.NO_BACKGROUND);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
61
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
62 GC gc = new GC(label.getImage());
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
63
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
64 gc.setForeground(new Color(label.getDisplay(),255,0,0));
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
65
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
66 gc.drawRectangle(firstPoint.x, firstPoint.y, e.x-firstPoint.x, e.y-firstPoint.y);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
67 gc.dispose();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
68 label.redraw();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
69 status=SECOND_CLICK;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
70 dc.zoomArea(firstPoint.x,firstPoint.y,e.x,e.y);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
71 dc.digiImage.getLabel().removeMouseListener(this);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
72 DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_ARROW);
21
643fa1daa70c minor changes
dwinter
parents: 9
diff changeset
73 //DigilibLinkEditorObservable.INSTANCE.imageHasChanged(dc.digiImage);
1
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
74
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
75 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
76
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
77 private void handleFirstClick(MouseEvent e) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
78 //Canvas canvas = new Canvas(label.getParent(),SWT.NO_BACKGROUND);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
79
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
80 GC gc = new GC(label.getImage());
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
81
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
82 gc.setForeground(new Color(label.getDisplay(),255,0,0));
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
83 firstPoint = new Point(e.x,e.y);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
84 gc.drawOval(e.x, e.y, 10, 10);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
85 gc.dispose();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
86 status=FIRST_CLICK;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
87 label.redraw();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
88 DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_CROSS);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
89 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
90
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
91
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
92 }