view src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiNav.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.digiImage;

import java.util.List;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;

import de.mpg.mpiwg.itgroup.digilib.listener.SelectNavigationListener;
import de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider;
import de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator;

public class DigiNav {

	

	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, style);
		navigationComposite.setLayout(new GridLayout(1, true));
		
		List<IDigilibImageManipulator> mps = DigilibImageManipulatorProvider.INSTANCE.getAllManipulators();
		
		for (IDigilibImageManipulator mp:mps){
			Image img = mp.createImage(parent);
		Label label = new Label(navigationComposite, SWT.None);
		label.setImage(img);
		
		label.setToolTipText(mp.getKeyword());
		label.addMouseListener(new SelectNavigationListener(mp.getKeyword(),dc,label));
		}
		
	}
}