defca9003c1d5e36b25e4ae108a4953e20fdf589
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / concept / handler / AbstractDynamicConceptRelationMenu.java
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 }