4 package eu
.etaxonomy
.taxeditor
.editor
.view
.concept
.handler
;
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
;
14 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationshipType
;
15 import eu
.etaxonomy
.taxeditor
.editor
.internal
.TaxeditorEditorPlugin
;
16 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
17 import eu
.etaxonomy
.taxeditor
.model
.TaxonRelationshipTypeInverseContainer
;
18 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
21 * <p>Abstract AbstractDynamicConceptRelationMenu class.</p>
27 public abstract class AbstractDynamicConceptRelationMenu
extends ContributionItem
{
31 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
35 public void fill(Menu menu
, int index
){
36 final IHandlerService handlerService
= (IHandlerService
) TaxeditorEditorPlugin
.getDefault().getWorkbench().getService(IHandlerService
.class);
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(){
44 public void widgetDefaultSelected(SelectionEvent e) {}
46 public void widgetSelected(SelectionEvent ev) {
47 Event event = new Event();
48 event.data = container;
50 handlerService.executeCommand(getCommandName(), event);
51 } catch (Exception e) {
52 EditorUtil.error(getClass(), "Error executing command", e);
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(){
63 public void widgetDefaultSelected(SelectionEvent e
) {}
65 public void widgetSelected(SelectionEvent ev
) {
66 Event event
= new Event();
67 event
.data
= taxonRelationshipType
;
69 handlerService
.executeCommand(getCommandName(), event
);
70 } catch (Exception e
) {
71 MessagingUtils
.error(getClass(), "Error executing command", e
);
79 * <p>getCommandName</p>
81 * @return a {@link java.lang.String} object.
83 public abstract String
getCommandName();