Project

General

Profile

Download (2.75 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.editor.view.concept.handler;
5

    
6
import org.eclipse.jface.action.ContributionItem;
7
import org.eclipse.swt.events.SelectionEvent;
8
import org.eclipse.swt.events.SelectionListener;
9
import org.eclipse.swt.widgets.Event;
10
import org.eclipse.swt.widgets.Menu;
11
import org.eclipse.swt.widgets.MenuItem;
12
import org.eclipse.ui.handlers.IHandlerService;
13

    
14
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
15
import eu.etaxonomy.taxeditor.editor.EditorUtil;
16
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
17
import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer;
18
import eu.etaxonomy.taxeditor.store.CdmStore;
19

    
20
/**
21
 * <p>Abstract AbstractDynamicConceptRelationMenu class.</p>
22
 *
23
 * @author n.hoffmann
24
 * @created 17.04.2009
25
 * @version 1.0
26
 */
27
public abstract class AbstractDynamicConceptRelationMenu extends ContributionItem {
28
	
29
	/*
30
	 * (non-Javadoc)
31
	 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
32
	 */
33
	/** {@inheritDoc} */
34
	@Override
35
	public void fill(Menu menu, int index){
36
		final IHandlerService handlerService = (IHandlerService) TaxeditorEditorPlugin.getDefault().getWorkbench().getService(IHandlerService.class);
37
		/*
38
		for(final TaxonRelationshipTypeInverseContainer container : CdmStore.getTermManager().getPreferredTerms(TaxonRelationshipTypeInverseContainer.class)){
39
			MenuItem menuItem = new MenuItem(menu, -1);
40
			menuItem.setText(container.getTitleCache());
41
			menuItem.setData(container);
42
			menuItem.addSelectionListener(new SelectionListener(){
43

    
44
				public void widgetDefaultSelected(SelectionEvent e) {}
45

    
46
				public void widgetSelected(SelectionEvent ev) {
47
					Event event = new Event();
48
					event.data = container;
49
					try {
50
						handlerService.executeCommand(getCommandName(), event);
51
					} catch (Exception e) {
52
						EditorUtil.error(getClass(), "Error executing command", e);
53
					}
54
				}				
55
			});
56
		*/
57
		for(final TaxonRelationshipType taxonRelationshipType: CdmStore.getTermManager().getPreferredTerms(TaxonRelationshipType.class)){
58
			MenuItem menuItem = new MenuItem(menu, -1);
59
			menuItem.setText(taxonRelationshipType.getTitleCache());
60
			menuItem.setData(taxonRelationshipType);
61
			menuItem.addSelectionListener(new SelectionListener(){
62

    
63
				public void widgetDefaultSelected(SelectionEvent e) {}
64

    
65
				public void widgetSelected(SelectionEvent ev) {
66
					Event event = new Event();
67
					event.data = taxonRelationshipType;
68
					try {
69
						handlerService.executeCommand(getCommandName(), event);
70
					} catch (Exception e) {
71
						EditorUtil.error(getClass(), "Error executing command", e);
72
					}
73
				}				
74
			});
75
		}
76
	}
77
	
78
	/**
79
	 * <p>getCommandName</p>
80
	 *
81
	 * @return a {@link java.lang.String} object.
82
	 */
83
	public abstract String getCommandName();
84

    
85
}
(1-1/8)