1
|
1 package de.mpg.mpiwg.itgroup.digilib.digiImage;
|
|
2
|
|
3 import java.util.List;
|
|
4
|
|
5 import org.eclipse.swt.SWT;
|
|
6 import org.eclipse.swt.graphics.Image;
|
|
7 import org.eclipse.swt.layout.GridLayout;
|
|
8 import org.eclipse.swt.widgets.Composite;
|
|
9 import org.eclipse.swt.widgets.Label;
|
|
10
|
|
11 import de.mpg.mpiwg.itgroup.digilib.listener.SelectNavigationListener;
|
9
|
12 import de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider;
|
1
|
13 import de.mpg.mpiwg.itgroup.digilib.manipulator.IDigilibImageManipulator;
|
|
14
|
|
15 public class DigiNav {
|
|
16
|
|
17
|
|
18
|
|
19 private Composite navigationComposite;
|
|
20
|
9
|
21 /** Creates a composite showing the registered navigation elements provided by @see {@link de.mpg.mpiwg.itgroup.digilib.manipulator.DigilibImageManipulatorProvider}.
|
|
22 * @param parent parent element for the composite
|
|
23 * @param style style for the composite as defined in @see {@link org.eclipse.swt.SWT}.
|
|
24 * @param dc Controller of the image to be controlled.
|
|
25 */
|
1
|
26 public DigiNav(Composite parent, int style, DigiImageController dc) {
|
|
27
|
9
|
28 navigationComposite = new Composite(parent, style);
|
1
|
29 navigationComposite.setLayout(new GridLayout(1, true));
|
|
30
|
|
31 List<IDigilibImageManipulator> mps = DigilibImageManipulatorProvider.INSTANCE.getAllManipulators();
|
|
32
|
|
33 for (IDigilibImageManipulator mp:mps){
|
|
34 Image img = mp.createImage(parent);
|
|
35 Label label = new Label(navigationComposite, SWT.None);
|
|
36 label.setImage(img);
|
|
37
|
|
38 label.setToolTipText(mp.getKeyword());
|
|
39 label.addMouseListener(new SelectNavigationListener(mp.getKeyword(),dc,label));
|
|
40 }
|
|
41
|
|
42 }
|
|
43 }
|