changeset 9:e63a64652f4d

added comments
author dwinter
date Mon, 03 Jan 2011 16:53:48 +0100
parents 52023cf79d86
children 5f2c5fb36e93
files src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImage.java src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiNav.java src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java src/de/mpg/mpiwg/itgroup/digilib/listener/SelectNavigationListener.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/IDigilibImageManipulator.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ManipulatorExtension.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/MirrorHorizontal.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/MirrorVertical.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/NextPage.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/PrevPage.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/RectangleListener.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/Rotate.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ScaleDown.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ScaleUp.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomArea.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomAreaRectangleListener.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomFull.java src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/dialogs/RotateDialog.java src/de/mpg/mpiwg/itgroup/digilib/plugin/DigilibHandler.java src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorInput.java src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java src/de/mpg/mpiwg/itgroup/indexMeta/Utils/ParseIndexMeta.java
diffstat 25 files changed, 459 insertions(+), 234 deletions(-) [+]
line wrap: on
line diff
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImage.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImage.java	Mon Jan 03 16:53:48 2011 +0100
@@ -10,40 +10,82 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axis2.databinding.types.soapencoding.Array;
 import org.apache.commons.lang.StringUtils;
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.RectangleListener;
+import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.ZoomAreaRectangleListener;
 
 
 
 
+/**
+ * Refers to an Digilib-Scaler Object either an image or an folder. The object contains an swt-label object, so that it can be embedded e.g. in Eclipse.
+ * @author dwinter
+ *
+ */
 public class DigiImage implements IDigiImage {
 	
-	private static String[] omitIfNegativeArray = {"dw","dh","ddpi","ddpix","ddpiy"};
+	/** 
+	 * Implemens a connection to Digilib.
+	 */
+    
+	
+	/* some parameters should not occur in the URL constructed by {@link #createUrlFromParameter(DigiImageParameter)} if set to negative values.
+	 * 
+	 */
+	private static String[] omitIfNegativeArray = {"dw","dh","ddpi","ddpix","ddpiy"}; 
 	private static List<String> omitIfNegative = Arrays.asList(omitIfNegativeArray);
+	
+	
+	private String baseUrl="http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler";
 		
+	/**
+	 * Get the Url of the digilib scaler, set to http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler, if not changed. 
+	 * TODO should be part of a configuration/preference file
+	 * @return
+	 */
+	public String getBaseUrl() {
+		return baseUrl;
+	}
+
+	/**
+	 * Setze die Basis url des Digilib-Scalers
+	 * @param baseUrl
+	 */
+	public void setBaseUrl(String baseUrl) {
+		this.baseUrl = baseUrl;
+	}
+
 	private Label label;
+	
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#getLabel()
+	 */
 	public Label getLabel() {
 		return label;
 	}
 
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#setLabel(org.eclipse.swt.widgets.Label)
+	 */
 	public void setLabel(Label label) {
 		this.label = label;
 	}
 
-	private URL url;
+	//private URL url;
 	private Composite parent;
-	private String baseUrl="http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler";
+	
 	private DigiImageParameter dp;
 	
 	
+	/**
+	 * 
+	 * @param parent Composite where the image should be become a child of.
+	 * @param style SWT Style how to display the image as a composite. For more the the style parameter at @see import org.eclipse.swt.widgets.Label
+	 * @param dp Set of Parameters which define how the image should be displayed.
+	 */
 	public DigiImage(Composite parent, int style, DigiImageParameter dp) {
 		//super(parent,style);
 		label = new Label(parent, style);
@@ -58,9 +100,13 @@
 		
 	}
 
+	/**
+	 * Sets the complete URL of the manipulated image and changes the image object in the composite.
+	 * @param url
+	 */
 	private void setNewURL(URL url) {
-		this.url = url;
-		// TODO Auto-generated constructor stub
+		//this.url = url;
+		
 	
 		InputStream is;
 		try {
@@ -78,13 +124,22 @@
 	}
 
 	
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#getParent()
+	 */
 	public Composite getParent() {
 		return parent;
 	}
 
 
+	/**
+	 * Creates the URL to digilib from the given parameter set. For the documentation @see {@link http://developer.berlios.de/docman/display_doc.php?docid=106&group_id=251}.
+	 * @param dp
+	 * @return
+	 * @throws MalformedURLException
+	 */
 	private URL createUrlFromParameter(DigiImageParameter dp) throws MalformedURLException{
-		URL url;
+		
 		Map<String,String> qa= new HashMap<String,String>();
 		
 		setPm(qa,"fn",dp.getFn());
@@ -124,6 +179,12 @@
 		return new URL(stringUrl);
 	}
 	
+	/**
+	 * Puts the parameter as key-value  into the map repecting the setting in @see {@link #omitIfNegativeArray}.
+	 * @param qa
+	 * @param key
+	 * @param value
+	 */
 	private void setPm(Map<String, String> qa, String key, Object value){
 		String v;
 		if (String.class.isInstance(value)){
@@ -141,16 +202,25 @@
 		
 	}
 
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#getParameter()
+	 */
 	public DigiImageParameter getParameter() {
 		
 		return dp;
 	}
 
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#setParameter(de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter)
+	 */
 	public void setParameter(DigiImageParameter dp) {
 		this.dp=dp;
 		
 	}
 	
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#redraw()
+	 */
 	public void redraw(){
 		try {
 			setNewURL(createUrlFromParameter(dp));
@@ -160,14 +230,21 @@
 		}
 	}
 	
-	private RectangleListener rectangleListener=null;
+	
+	private ZoomAreaRectangleListener rectangleListener=null;
 	
-	public RectangleListener getRectangleListener() {
-		// TODO Auto-generated method stub
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#getRectangleListener()
+	 */
+	public ZoomAreaRectangleListener getRectangleListener() {
+	
 		return rectangleListener;
 	}
 
-	public void setRectangleListener(RectangleListener rectangleListener) {
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage#setRectangleListener(de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.RectangleListener)
+	 */
+	public void setRectangleListener(ZoomAreaRectangleListener rectangleListener) {
 		this.rectangleListener = rectangleListener;
 	}
 
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java	Mon Jan 03 16:53:48 2011 +0100
@@ -1,30 +1,39 @@
 package de.mpg.mpiwg.itgroup.digilib.digiImage;
 
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
 import org.eclipse.swt.graphics.Point;
 
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.RectangleListener;
+/** Contains methods to manipulate an digilib image @see {#link de.mpiwg.itgroup.digilib.digiImage.Digimage}. 
+ * The parameters are documented at the digilib pages @see {@link http://developer.berlios.de/docman/display_doc.php?docid=106&group_id=251}.
+ *
+ */
 
 public class DigiImageController {
 	
-	
-	
-	public DigiImage digiImage;
-	private DigiImageParameter parameter;
+	public static String VMIR="vmir"; // vertical mirroring
+	public static String HMIR="hmir"; // horizontal mirroring
+
+	public DigiImage digiImage; // the image to be controlled.
+	//private DigiImageParameter parameter;
 	
 	protected DigiImageController(){}
 	
+	/** Create a new controller on the image object.
+	 * 
+	 * @param di
+	 */
 	public DigiImageController(DigiImage di){
 		this.digiImage=di;
 	}
 	
 	
 	
+	/** Mirrors the image
+	 * @param modes can be @see {@value #VMIR} or {@link #HMIR}.
+	 */
 	public void mir(String mode) {
 		
 		DigiImageParameter dp = digiImage.getParameter();
@@ -34,16 +43,16 @@
 		
 		// mo kann mehrere durch komma getrennte parameter haben
 		String[] splittmo= parameter.split(",");
-		Boolean hasHMir = false;
+		Boolean hasMir = false;
 		List<String> newmo = new ArrayList<String>();
 		for(String m: splittmo){
 			if (m.equals(mode)){
-				hasHMir=true;
+				hasMir=true;
 			} else {
 				newmo.add(m);
 			}
 		}
-		if(!hasHMir){ // kein hmir dann dazufuegen
+		if(!hasMir){ // kein hmir dann dazufuegen
 			newmo.add(mode);
 			}
 		String newmoString = StringUtils.join(newmo,",");
@@ -54,14 +63,15 @@
 		digiImage.setParameter(dp);
 		digiImage.redraw();
 	}
+	
 
 	public void vmir() {
-		mir("vmir");
+		mir(VMIR);
 		
 	}
 	
 	public void hmir() {
-		mir("hmir");
+		mir(HMIR);
 		
 	}
 	
@@ -73,6 +83,12 @@
 
 
 
+/** Zoom the area given by the rectangle (x,y), (x2,y2). Alle point are given in absolute  coordinates.
+ * @param x
+ * @param y
+ * @param x2
+ * @param y2
+ */
 public void zoomArea(int x, int y, int x2, int y2) {
 	
 	Point size = digiImage.getLabel().getSize();
@@ -111,6 +127,10 @@
 	// setRot(rotateValue);
 }
 
+	/**
+	 * Show the whole image.
+	 * 
+	 */
 	public void zoomFull(){
 		DigiImageParameter dp = digiImage.getParameter();
 		dp.setWw(1);
@@ -123,6 +143,10 @@
 		digiImage.redraw();
 	}
 
+	/**
+	 * scales the image down (ws --> ws-1)
+	 * 
+	 */
 	public void scaleDown() {
 		DigiImageParameter dp = digiImage.getParameter();
 		float ws = dp.getWs();
@@ -135,6 +159,10 @@
 		
 	}
 
+	/**
+	 * scales the image up (ws --> ws+1)
+	 * 
+	 */
 	public void scaleUp() {
 		DigiImageParameter dp = digiImage.getParameter();
 		float ws = dp.getWs();
@@ -148,6 +176,10 @@
 		
 	}
 
+	/**
+	 * If the image object points to a folder the previous image in the folder is displayed.
+	 * 
+	 */
 	public void prevPage() {
 		DigiImageParameter dp = digiImage.getParameter();
 		int pn = dp.getPn();
@@ -159,6 +191,10 @@
 		
 	}
 
+	/**
+	 * If the image object points to a folder the next image in the folder is displayed.
+	 * TODO currently no check is made if we are already on the last image in the folder.
+	 */
 	public void nextPage() {
 		DigiImageParameter dp = digiImage.getParameter();
 		int pn = dp.getPn();
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java	Mon Jan 03 16:53:48 2011 +0100
@@ -1,5 +1,11 @@
 package de.mpg.mpiwg.itgroup.digilib.digiImage;
 
+/**
+ * Parameter which describe the state of an Digilib-Image, 
+ * settings and parameter names  are described in @see {@link http://developer.berlios.de/docman/?group_id=251}
+ * @author dwinter
+ *
+ */
 public class DigiImageParameter {
 
 	private String fn;
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiNav.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiNav.java	Mon Jan 03 16:53:48 2011 +0100
@@ -1,9 +1,5 @@
 package de.mpg.mpiwg.itgroup.digilib.digiImage;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.List;
 
 import org.eclipse.swt.SWT;
@@ -11,11 +7,10 @@
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
 
 import de.mpg.mpiwg.itgroup.digilib.listener.SelectNavigationListener;
+import de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider;
 import de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider;
 
 public class DigiNav {
 
@@ -23,13 +18,16 @@
 
 	private Composite navigationComposite;
 
+	/** Creates a composite showing the registered navigation elements  provided by @see {@link de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider}. 
+	 * @param parent parent element for the composite
+	 * @param style style for the composite as defined in @see {@link org.eclipse.swt.SWT}.
+	 * @param dc Controller of the image to be controlled.
+	 */
 	public DigiNav(Composite parent, int style, DigiImageController dc) {
 	
-		navigationComposite = new Composite(parent, SWT.None);
+		navigationComposite = new Composite(parent, style);
 		navigationComposite.setLayout(new GridLayout(1, true));
 		
-		// TODO Auto-generated constructor stub
-		
 		List<IDigilibImageManipulator> mps = DigilibImageManipulatorProvider.INSTANCE.getAllManipulators();
 		
 		for (IDigilibImageManipulator mp:mps){
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java	Mon Jan 03 16:53:48 2011 +0100
@@ -3,23 +3,60 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.RectangleListener;
+import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.ZoomAreaRectangleListener;
 
 
+/**
+ * Interface for an general scalable image object.
+ * @author dwinter
+ *
+ */
 public interface IDigiImage {
 	
+	/**
+	 * Gets the current set of parameters.
+	 * @return
+	 */
 	public DigiImageParameter getParameter();
+	
+	/** Set the parameter, no other action, image is only recreated by calling @see {@link #redraw()}.
+	 * @param dp
+	 */
 	public void setParameter(DigiImageParameter dp);
+	
+	/**
+	 * Draws the image defined by the parameter set.
+	 * 
+	 */
 	public void redraw();
 	
+	/**
+	 *
+	 * @return the label @object which contains the image
+	 */
 	public Label getLabel();
 
+	/**
+	 * Sets a new label object, should normally not be externally called. Label should be set by @see {@link #redraw()}.
+	 * @param label
+	 */
 	public void setLabel(Label label);
 
 
-	public RectangleListener getRectangleListener();
-	public void setRectangleListener(RectangleListener rectangleListener);
+	/**
+	 * Get the listener to a rectangle object used for marking a part of the image for zooming.
+	 * @return
+	 */
+	public ZoomAreaRectangleListener getRectangleListener();
+	/**
+	 * et the listener to a rectangle object used for marking a part of the image for zooming.
+	 * @param rectangleListener
+	 */
+	public void setRectangleListener(ZoomAreaRectangleListener rectangleListener);
 	
+	/**
+	 * @return Parent of the composite object of the label.
+	 */
 	public Composite getParent();
 
 }
--- a/src/de/mpg/mpiwg/itgroup/digilib/listener/SelectNavigationListener.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/listener/SelectNavigationListener.java	Mon Jan 03 16:53:48 2011 +0100
@@ -1,47 +1,63 @@
 package de.mpg.mpiwg.itgroup.digilib.listener;
 
-import java.util.List;
-
 import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseListener;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
 
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav;
+import de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider;
 import de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider;
-import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
+/**
+ * Listenes if a navigation element has benn selected
+ * @author dwinter
+ *
+ */
 public class SelectNavigationListener implements MouseListener {
 
 	private String keyword;
 	private DigiImageController dc;
 	private Label label;
 
+	/**
+	 * @param keyword identified the handler
+	 * @param dc Controller to be handled.
+	 * @param label Label which contains the Image of the Navigationelement.
+	 */
 	public SelectNavigationListener(String keyword,DigiImageController dc, Label label) {
 		this.dc=dc;
 		this.keyword=keyword;
 		this.label=label;
 		
 	}
+	/**
+	 * @param event
+	 */
 	public void handleEvent(Event event) {
 		// TODO Auto-generated method stub
 		System.out.println(event);
 	}
 
+	/* (non-Javadoc)
+	 * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
+	 */
 	public void mouseDoubleClick(MouseEvent e) {
 		// TODO Auto-generated method stub
 		
 	}
 
+	/* (non-Javadoc)
+	 * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
+	 */
 	public void mouseDown(MouseEvent e) {
 		// TODO Auto-generated method stub
 		
 	}
 
+	/* (non-Javadoc)
+	 * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
+	 */
 	public void mouseUp(MouseEvent e) {
 		// TODO Auto-generated method stub
 		IDigilibImageManipulator action = (IDigilibImageManipulator)DigilibImageManipulatorProvider.INSTANCE.getManipulator(keyword);
@@ -49,7 +65,6 @@
 		
 		action.run(dc);	
 		
-		
 		this.label.setImage(action.createImage(label.getParent()));
 
 		
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/DigilibImageManipulatorProvider.java	Mon Jan 03 16:53:48 2011 +0100
@@ -8,7 +8,6 @@
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
 
-import org.eclipse.jface.viewers.CellEditor;
 
 
 
@@ -16,6 +15,7 @@
  * This singleton class manages the property extensions.
  * 
  * @author Julia Damerow
+ * @author Dirk Wintergruen
  *
  */
 public class DigilibImageManipulatorProvider {
@@ -52,8 +52,8 @@
     }
     
     /**
-     * Get all registered <code>FieldEditorPreferencePage</code>s.
-     * @return a list with all registered <code>FieldEditorPreferencePage</code>s
+     * Get all registered <code>DigilibImageManipulation</code>s.
+     * @return a list with all registered <code>DigilibImageManipulation</code>s
      */
     public List<IDigilibImageManipulator> getAllManipulators()
     {
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/IDigilibImageManipulator.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/IDigilibImageManipulator.java	Mon Jan 03 16:53:48 2011 +0100
@@ -3,9 +3,13 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 
+/**
+ * Interface for the extensions for manipulation the digilib extensions
+ * @author dwinter
+ *
+ */
 public interface IDigilibImageManipulator {
 
 	
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ManipulatorExtension.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ManipulatorExtension.java	Mon Jan 03 16:53:48 2011 +0100
@@ -5,10 +5,15 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 import de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator;
 
+/**
+ * Abstract class where all Digilib Manipulator extensions shoud be derived from
+ * 
+ * @author dwinter
+ *
+ */
 public abstract class ManipulatorExtension implements IDigilibImageManipulator {
 	
 	private String iconOff;
@@ -18,33 +23,58 @@
 	private String keyword;
 	
 
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator#getKeyword()
+	 */
 	public String getKeyword() {
 		return keyword;
 	}
 
 	
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator#run(de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController)
+	 */
 	public void run(DigiImageController dc) {};
 	
+	
+	/**
+	 * Set path to icon. path is path with in classpath
+	 * @param ip
+	 */
 	public void setImagePath(String ip) {
 		imagePath=ip;
 		
 	}
 	
+	/**
+	 * @return path to the current icon within the class path
+	 */
 	public String getImagePath() {
 		return imagePath;
 		
 	}
 
+	/**
+	 * @param keyword keyword which identifies the extension, used by 
+	 *  @see {@link de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider}.
+	 *  
+	 */
 	public void setKeyword(String keyword) {
 		this.keyword = keyword;
 	}
 
+	/* (non-Javadoc)
+	 * @see de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator#createImage(org.eclipse.swt.widgets.Composite)
+	 */
 	public Image createImage(Composite parent) {
 		InputStream is = getClass().getResourceAsStream(getImagePath());
 		Image img = new Image(parent.getDisplay(),is);
 		return img;
 	}
 
+	/**
+	 *  Toggle selection state of the navigation icon
+	 */
 	public void toggleIcon(){
 		if(imagePath.equals(iconOff)){
 			setImagePath(iconOn);
@@ -53,10 +83,18 @@
 		}
 	}
 	
+	/**
+	 * Set icon to off state.
+	 */
 	public void setOffIcon(){
 		setImagePath(iconOff);
 	}
 	
+	/**
+	 * Setze die Pfade zu den Icons innerhalb des class path.
+	 * @param iconOff
+	 * @param iconOn
+	 */
 	public void setIconPaths(String iconOff, String iconOn) {
 		this.iconOff=iconOff;
 		this.iconOn=iconOn;
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/MirrorHorizontal.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/MirrorHorizontal.java	Mon Jan 03 16:53:48 2011 +0100
@@ -2,11 +2,15 @@
 
 import org.eclipse.swt.SWT;
 
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
 
+/**
+ * Calls the mirror funcion on digiimage 
+ * @author dwinter
+ *
+ */
 public class MirrorHorizontal extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/mirror-horizontal.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/MirrorVertical.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/MirrorVertical.java	Mon Jan 03 16:53:48 2011 +0100
@@ -2,11 +2,14 @@
 
 import org.eclipse.swt.SWT;
 
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
-
+/**
+ * Calls the mirror funcion on digiimage 
+ * @author dwinter
+ *
+ */
 public class MirrorVertical extends ManipulatorExtension{
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/mirror-vertical.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/NextPage.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/NextPage.java	Mon Jan 03 16:53:48 2011 +0100
@@ -4,20 +4,14 @@
 
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-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.digiImage.DigiImageParameter;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
-
+/**
+ * Calls the the next page function on digiimage 
+ * @author dwinter
+ *
+ */
 public class NextPage extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/fwd.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/PrevPage.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/PrevPage.java	Mon Jan 03 16:53:48 2011 +0100
@@ -4,20 +4,15 @@
 
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-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.digiImage.DigiImageParameter;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
+/**
+ * Calls the previous page function on digiimage 
+ * @author dwinter
+ *
+ */
 public class PrevPage extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/back.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/RectangleListener.java	Mon Jan 03 09:13:17 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-package de.mpg.mpiwg.itgroup.digilib.manipulator.extensions;
-
-
-
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.graphics.Device;
-
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
-import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
-
-public class RectangleListener implements MouseListener {
-	static int FIRST_CLICK=1;
-	static int SECOND_CLICK=2;
-	static int NO_CLICK=0;
-	int status=NO_CLICK;
-	private Label label;
-	private Point firstPoint;
-	private DigiImageController dc;
-	
-	
-	private RectangleListener() {
-		
-	}
-	
-	public RectangleListener(DigiImageController dc,Label label){
-		this.label =label;
-		this.dc=dc;
-	}
-	public void reset(){
-		status=0;
-	}
-	public void mouseDoubleClick(MouseEvent e) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void mouseDown(MouseEvent e) {
-		// TODO Auto-generated method stub
-
-	}
-
-	public void mouseUp(MouseEvent e) {
-		if (status==NO_CLICK){
-			handleFirstClick(e);
-		} else if (status==FIRST_CLICK){
-			handleSecondClick(e);
-		}
-
-	}
-
-	private void handleSecondClick(MouseEvent e) {
-		//Canvas canvas = new Canvas(label.getParent(),SWT.NO_BACKGROUND);
-
-		GC gc = new GC(label.getImage());
-		
-		gc.setForeground(new Color(label.getDisplay(),255,0,0));
-		
-		gc.drawRectangle(firstPoint.x, firstPoint.y, e.x-firstPoint.x, e.y-firstPoint.y);
-		gc.dispose();
-		label.redraw();
-		status=SECOND_CLICK;
-		dc.zoomArea(firstPoint.x,firstPoint.y,e.x,e.y);
-		dc.digiImage.getLabel().removeMouseListener(this);
-		DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_ARROW);
-		DigilibLinkEditorObservable.INSTANCE.imageHasChanged(dc.digiImage);
-		
-	}
-
-	private void handleFirstClick(MouseEvent e) {
-		//Canvas canvas = new Canvas(label.getParent(),SWT.NO_BACKGROUND);
-
-		GC gc = new GC(label.getImage());
-		
-		gc.setForeground(new Color(label.getDisplay(),255,0,0));
-		firstPoint = new Point(e.x,e.y);
-		gc.drawOval(e.x, e.y, 10, 10);
-		gc.dispose();
-		status=FIRST_CLICK;
-		label.redraw();
-		DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_CROSS);
-	}
-
-	
-}
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/Rotate.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/Rotate.java	Mon Jan 03 16:53:48 2011 +0100
@@ -9,11 +9,15 @@
 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;
 
+/**
+ * Open  an dialog for entering the ration angle.
+ * @author dwinter
+ *
+ */
 public class Rotate extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/rotate.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ScaleDown.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ScaleDown.java	Mon Jan 03 16:53:48 2011 +0100
@@ -3,19 +3,15 @@
 
 
 import org.eclipse.swt.SWT;
-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.digiImage.DigiImageParameter;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
+/**
+ * Calls the scale down function on digiimage 
+ * @author dwinter
+ *
+ */
 public class ScaleDown extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/zoom-out.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ScaleUp.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ScaleUp.java	Mon Jan 03 16:53:48 2011 +0100
@@ -4,20 +4,15 @@
 
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-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.digiImage.DigiImageParameter;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
+/**
+ * Calls the scale up function on digiimage 
+ * @author dwinter
+ *
+ */
 public class ScaleUp extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/zoom-in.png";
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomArea.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomArea.java	Mon Jan 03 16:53:48 2011 +0100
@@ -3,10 +3,16 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Label;
 
-import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
+
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
+/**
+ * Set ZoomAreaRectangleListener on the digiimage, which then calls zoom area after selecting an area.
+ * 
+ * @author dwinter
+ *
+ */
 public class ZoomArea extends ManipulatorExtension {
 
 	public String iconOff="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/zoom-area.png";
@@ -23,7 +29,7 @@
 	public void run(DigiImageController dc) {
 
 		DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_HAND);
-		RectangleListener ml = dc.digiImage.getRectangleListener();
+		ZoomAreaRectangleListener ml = dc.digiImage.getRectangleListener();
 		Label label = dc.digiImage.getLabel();
 		if (ml!=null){	
 		try {
@@ -33,7 +39,7 @@
 			e.printStackTrace();
 		}
 		} else {
-			ml = new RectangleListener(dc,label);
+			ml = new ZoomAreaRectangleListener(dc);
 			dc.digiImage.setRectangleListener(ml);
 		}
 		ml.reset();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomAreaRectangleListener.java	Mon Jan 03 16:53:48 2011 +0100
@@ -0,0 +1,92 @@
+package de.mpg.mpiwg.itgroup.digilib.manipulator.extensions;
+
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Label;
+
+import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
+import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
+
+/**
+ * Listener to select the zoom area for the zoomarea function on digiimage.
+ * calls zoom area after an area on the image was selected.
+ * @author dwinter
+ *
+ */
+public class ZoomAreaRectangleListener implements MouseListener {
+	static int FIRST_CLICK=1;
+	static int SECOND_CLICK=2;
+	static int NO_CLICK=0;
+	int status=NO_CLICK;
+	private Label label;
+	private Point firstPoint;
+	private DigiImageController dc;
+	
+	
+	private ZoomAreaRectangleListener() {};
+	
+	public ZoomAreaRectangleListener(DigiImageController dc){
+		this.label = dc.digiImage.getLabel();
+		this.dc=dc;
+	}
+	public void reset(){
+		status=0;
+	}
+	public void mouseDoubleClick(MouseEvent e) {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void mouseDown(MouseEvent e) {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void mouseUp(MouseEvent e) {
+		if (status==NO_CLICK){
+			handleFirstClick(e);
+		} else if (status==FIRST_CLICK){
+			handleSecondClick(e);
+		}
+
+	}
+
+	private void handleSecondClick(MouseEvent e) {
+		//Canvas canvas = new Canvas(label.getParent(),SWT.NO_BACKGROUND);
+
+		GC gc = new GC(label.getImage());
+		
+		gc.setForeground(new Color(label.getDisplay(),255,0,0));
+		
+		gc.drawRectangle(firstPoint.x, firstPoint.y, e.x-firstPoint.x, e.y-firstPoint.y);
+		gc.dispose();
+		label.redraw();
+		status=SECOND_CLICK;
+		dc.zoomArea(firstPoint.x,firstPoint.y,e.x,e.y);
+		dc.digiImage.getLabel().removeMouseListener(this);
+		DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_ARROW);
+		DigilibLinkEditorObservable.INSTANCE.imageHasChanged(dc.digiImage);
+		
+	}
+
+	private void handleFirstClick(MouseEvent e) {
+		//Canvas canvas = new Canvas(label.getParent(),SWT.NO_BACKGROUND);
+
+		GC gc = new GC(label.getImage());
+		
+		gc.setForeground(new Color(label.getDisplay(),255,0,0));
+		firstPoint = new Point(e.x,e.y);
+		gc.drawOval(e.x, e.y, 10, 10);
+		gc.dispose();
+		status=FIRST_CLICK;
+		label.redraw();
+		DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_CROSS);
+	}
+
+	
+}
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomFull.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomFull.java	Mon Jan 03 16:53:48 2011 +0100
@@ -2,17 +2,7 @@
 
 
 
-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.digiImage.DigiImageParameter;
-import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.dialogs.RotateDialog;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable;
 
 public class ZoomFull extends ManipulatorExtension {
--- a/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/dialogs/RotateDialog.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/dialogs/RotateDialog.java	Mon Jan 03 16:53:48 2011 +0100
@@ -3,15 +3,17 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-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 de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 
+/**
+ * Dialog to enter the roation angle.
+ * @author dwinter
+ *
+ */
 public class RotateDialog {
 		  static boolean deleteFlag = false;
 		private Listener listener;
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/DigilibHandler.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/DigilibHandler.java	Mon Jan 03 16:53:48 2011 +0100
@@ -13,6 +13,13 @@
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorInput;
 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorPart;
 
+/**
+ * @author dwinter
+ *
+ * Open an DigilibLinkEditorPart on the selected files. Currently, the selected files have to be index meta files.
+ * Where archive-path and texttols/image points to the image folder.
+ * TODO chck the format and allow other formats.
+ */
 public class DigilibHandler implements IHandler {
 
 	public void addHandlerListener(IHandlerListener handlerListener) {
@@ -30,10 +37,9 @@
 		ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
 		if (IStructuredSelection.class.isInstance(currentSelection)) {
 			IStructuredSelection selection = (IStructuredSelection) currentSelection;
-			//TextGridObject object = AdapterUtils.getAdapter(selection.getFirstElement(), TextGridObject.class);
+			
 			Object object = selection.getFirstElement();
 			
-			//IFile file = (IFile) object.getAdapter(IFile.class);
 			IFile file = (IFile) object;
 			DigilibLinkEditorInput input = new DigilibLinkEditorInput(file,DigilibLinkEditorInput.INDEX_META);
 			
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorInput.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorInput.java	Mon Jan 03 16:53:48 2011 +0100
@@ -5,18 +5,26 @@
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IPersistableElement;
 
+/**
+ * Editor input for {@link de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorPart}
+ * @author dwinter
+ *
+ */
 public class DigilibLinkEditorInput implements IEditorInput {
 
-	private IFile indexMetaFile;
+	private IFile file;
 	public static int INDEX_META=0;
 	private int type;
 
-	public IFile getIndexMetaFile() {
-		return indexMetaFile;
+	/**
+	 * @return
+	 */
+	public IFile getFile() {
+		return file;
 	}
 
-	public void setIndexMetaFile(IFile indexMetaFile) {
-		this.indexMetaFile = indexMetaFile;
+	public void setFile(IFile indexMetaFile) {
+		this.file = indexMetaFile;
 	}
 
 	public int getType() {
@@ -27,8 +35,15 @@
 		this.type = type;
 	}
 
+	/**
+	 *
+	 * @param file File to be worked with
+	 * @param type currently only @see {{@value #INDEX_META}, file has to be an index.meta file following the 
+	 * standards of the MPIWG
+	 *
+	 */
 	public DigilibLinkEditorInput(IFile file, int type) {
-		indexMetaFile = file;
+		this.file = file;
 		setType(type);
 	}
 
@@ -48,8 +63,9 @@
 	}
 
 	public String getName() {
-		// TODO Auto-generated method stub
-		return "hello_name";
+		
+		String name = file.getName();
+		return name;
 	}
 
 	public IPersistableElement getPersistable() {
@@ -58,8 +74,8 @@
 	}
 
 	public String getToolTipText() {
-		// TODO Auto-generated method stub
-		return "hello";
+		
+		return file.getFullPath().toOSString();
 	}
 
 }
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java	Mon Jan 03 16:53:48 2011 +0100
@@ -1,15 +1,13 @@
 package de.mpg.mpiwg.itgroup.digilib.plugin.editors;
 
 
+import info.textgrid.lab.linkeditor.mip.gui.ImagePanel;
+
 import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Observable;
 import java.util.Observer;
 
-import info.textgrid.lab.linkeditor.mip.gui.ImagePanel;
-
 import org.eclipse.core.resources.IResourceChangeEvent;
 import org.eclipse.core.resources.IResourceChangeListener;
 import org.eclipse.core.runtime.CoreException;
@@ -17,12 +15,8 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
 import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Scale;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.PartInitException;
@@ -33,17 +27,16 @@
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter;
 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav;
-import de.mpg.mpiwg.itgroup.digilib.digiImage.exceptions.DigilibInputTypeException;
 import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta;
 
 /**
+ * Displays an image with digilib an allows image manipulation on the image.
  * 
  * @author dwinter
  *
  */
 public class DigilibLinkEditorPart extends EditorPart implements IResourceChangeListener, Observer{
 
-	private ImagePanel imagePanel;
 	private Composite mainComposite;
 	private ScrolledComposite sc;
 
@@ -95,14 +88,14 @@
 		sc.setContent(mainComposite);
 		//sc.setMinSize(400, 400);
 		
-		URL url;
+
 
 		DigilibLinkEditorInput input= (DigilibLinkEditorInput) getEditorInput();
 		String path="";
 		if (input.getType()==DigilibLinkEditorInput.INDEX_META){
 			ParseIndexMeta im;
 			try {
-				im = new ParseIndexMeta(input.getIndexMetaFile());
+				im = new ParseIndexMeta(input.getFile());
 			} catch (JDOMException e) {
 				// TODO Auto-generated catch block
 				e.printStackTrace();
@@ -140,7 +133,7 @@
 		DigiImage digiImage = new DigiImage(mainComposite, SWT.BORDER, dp);
 		DigiImageController digiImageController = new DigiImageController(digiImage);
 		//imageComp.setBackgroundImage(img);		
-		DigiNav digiNav = new DigiNav(mainComposite,SWT.BORDER,digiImageController);
+		DigiNav digiNav = new DigiNav(mainComposite,SWT.NONE,digiImageController);
 		
 		sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
 		sc.setExpandHorizontal(true);
--- a/src/de/mpg/mpiwg/itgroup/indexMeta/Utils/ParseIndexMeta.java	Mon Jan 03 09:13:17 2011 +0100
+++ b/src/de/mpg/mpiwg/itgroup/indexMeta/Utils/ParseIndexMeta.java	Mon Jan 03 16:53:48 2011 +0100
@@ -1,10 +1,8 @@
 package de.mpg.mpiwg.itgroup.indexMeta.Utils;
 
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
-
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.jdom.Document;
@@ -13,6 +11,12 @@
 import org.jdom.input.SAXBuilder;
 import org.jdom.xpath.XPath;
 
+/**
+ * 
+ * Utilities to parse index.meta files following the standards of the MPIWG
+ * @author dwinter
+ *
+ */
 public class ParseIndexMeta {
 
 	private Document dom;
@@ -23,8 +27,12 @@
 		 dom = builder.build(is);
 	}
 
+	/**
+	 * @return the content of the archive-path tag.
+	 * @throws JDOMException
+	 */
 	public String getPath() throws JDOMException {
-		// TODO Auto-generated method stub
+		
 		XPath xpath = XPath.newInstance("//archive-path");
 		Element el = (Element)xpath.selectSingleNode(dom);
 		if (el==null)
@@ -32,6 +40,10 @@
 		return el.getTextTrim();
 	}
 	
+	/**
+	 * @return the content of //texttool/image
+	 * @throws JDOMException
+	 */
 	public String getImagePath() throws JDOMException{
 		String path = getPath();