view src/de/mpg/mpiwg/itgroup/digilib/digiImage/IDigiImage.java @ 27:ee955cf6c9c5

first commit
author dwinter
date Fri, 17 Jun 2011 14:24:34 +0200
parents e63a64652f4d
children fbcf122a6a24
line wrap: on
line source

package de.mpg.mpiwg.itgroup.digilib.digiImage;

import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;

import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.ZoomAreaRectangleListener;


/**
 * Interface for an general scalable image object.
 * @author dwinter
 *
 */
public interface IDigiImage extends ISelectionProvider {
	
	/**
	 * 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);


	/**
	 * 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();

}