view src/de/mpg/mpiwg/itgroup/digilib/manipulator/extensions/ZoomArea.java @ 9:e63a64652f4d

added comments
author dwinter
date Mon, 03 Jan 2011 16:53:48 +0100
parents 83c58ea33792
children
line wrap: on
line source

package de.mpg.mpiwg.itgroup.digilib.manipulator.extensions;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;


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";
	public String iconOn="/de/mpg/mpiwg/itgroup/digilib/icons/greyskin/zoom-area.png";
	
	public ZoomArea() {
		setIconPaths(iconOff,iconOn);
		setOffIcon();
		setKeyword("zoomArea");
	}



	public void run(DigiImageController dc) {

		DigilibLinkEditorObservable.INSTANCE.setCursorStatus(SWT.CURSOR_HAND);
		ZoomAreaRectangleListener ml = dc.digiImage.getRectangleListener();
		Label label = dc.digiImage.getLabel();
		if (ml!=null){	
		try {
			label.removeMouseListener(ml);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		} else {
			ml = new ZoomAreaRectangleListener(dc);
			dc.digiImage.setRectangleListener(ml);
		}
		ml.reset();
		label.addMouseListener(ml);
	
		

	}
}