diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/Rotate.java	Mon Jan 03 09:11:25 2011 +0100
@@ -0,0 +1,61 @@
+package de.mpg.mpiwg.itgroup.digilib.manipulator.extensions;
+
+
+
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Widget;
+
+import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
+import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
+import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
+import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
+
+public class Rotate extends ManipulatorExtension {
+
+	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/rotate.png";
+	public String iconOn="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/rotate-on.png";
+	
+	
+	public Rotate() {
+		setIconPaths(iconOff,iconOn);
+		setOffIcon();
+		setKeyword("rotateHorizontal");
+	}
+	
+	public void run(final DigiImageController dc) {
+		
+		//digiImage.hmir();
+		//toggleIcon();
+		
+		Listener buttonListener = new Listener() {
+			int rotateValue=0;
+		      public void handleEvent(Event event) {
+		        Widget wg = event.widget;
+		        if (Button.class.isInstance(wg)){
+		        	dc.rotate(rotateValue);
+		        	Shell sh = ((Button)wg).getShell();
+		        	DigilibLinkEditorObservable.INSTANCE.imageHasChanged(dc.digiImage);
+		        	setOffIcon();
+		        	sh.close();
+		        } else if (Text.class.isInstance(wg)) {
+		        	Text txt = (Text)wg;
+		        	if (txt.getText()!=null){
+		        		String t = txt.getText();
+		        		try{
+		        		rotateValue=Integer.valueOf(t);
+		        		} catch (NumberFormatException e) {
+							// TODO: handle exception
+						}
+		        	}
+		        }
+		      }
+		    };
+		    
+		RotateDialog rd = new RotateDialog(buttonListener,dc);
+		rd.open();
+	}
+}