annotate src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/Rotate.java @ 1:83c58ea33792

first release (continued)
author dwinter
date Mon, 03 Jan 2011 09:11:25 +0100
parents
children e63a64652f4d
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
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
5 import org.eclipse.swt.widgets.Button;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
6 import org.eclipse.swt.widgets.Event;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
7 import org.eclipse.swt.widgets.Listener;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
8 import org.eclipse.swt.widgets.Shell;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
9 import org.eclipse.swt.widgets.Text;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
10 import org.eclipse.swt.widgets.Widget;
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.DigiImage;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
13 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
14 import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
15 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
16
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
17 public class Rotate extends ManipulatorExtension {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
18
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
19 public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/rotate.png";
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
20 public String iconOn="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/rotate-on.png";
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
21
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
22
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
23 public Rotate() {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
24 setIconPaths(iconOff,iconOn);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
25 setOffIcon();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
26 setKeyword("rotateHorizontal");
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
27 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
28
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
29 public void run(final DigiImageController dc) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
30
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
31 //digiImage.hmir();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
32 //toggleIcon();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
33
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
34 Listener buttonListener = new Listener() {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
35 int rotateValue=0;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
36 public void handleEvent(Event event) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
37 Widget wg = event.widget;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
38 if (Button.class.isInstance(wg)){
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
39 dc.rotate(rotateValue);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
40 Shell sh = ((Button)wg).getShell();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
41 DigilibLinkEditorObservable.INSTANCE.imageHasChanged(dc.digiImage);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
42 setOffIcon();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
43 sh.close();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
44 } else if (Text.class.isInstance(wg)) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
45 Text txt = (Text)wg;
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
46 if (txt.getText()!=null){
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
47 String t = txt.getText();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
48 try{
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
49 rotateValue=Integer.valueOf(t);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
50 } catch (NumberFormatException e) {
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
51 // TODO: handle exception
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
52 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
53 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
54 }
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 RotateDialog rd = new RotateDialog(buttonListener,dc);
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
59 rd.open();
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
60 }
83c58ea33792 first release (continued)
dwinter
parents:
diff changeset
61 }