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