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
.taxeditor
.editor
.EditorUtil
;
15 import eu
.etaxonomy
.taxeditor
.editor
.internal
.TaxeditorEditorPlugin
;
16 import eu
.etaxonomy
.taxeditor
.model
.TaxonRelationshipTypeInverseContainer
;
17 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
20 * <p>Abstract AbstractDynamicConceptRelationMenu class.</p>
26 public abstract class AbstractDynamicConceptRelationMenu
extends ContributionItem
{
30 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
34 public void fill(Menu menu
, int index
){
35 final IHandlerService handlerService
= (IHandlerService
) TaxeditorEditorPlugin
.getDefault().getWorkbench().getService(IHandlerService
.class);
37 for(final TaxonRelationshipTypeInverseContainer container
: CdmStore
.getTermManager().getPreferredTerms(TaxonRelationshipTypeInverseContainer
.class)){
38 MenuItem menuItem
= new MenuItem(menu
, -1);
39 menuItem
.setText(container
.getTitleCache());
40 menuItem
.setData(container
);
41 menuItem
.addSelectionListener(new SelectionListener(){
43 public void widgetDefaultSelected(SelectionEvent e
) {}
45 public void widgetSelected(SelectionEvent ev
) {
46 Event event
= new Event();
47 event
.data
= container
;
49 handlerService
.executeCommand(getCommandName(), event
);
50 } catch (Exception e
) {
51 EditorUtil
.error(getClass(), "Error executing command", e
);
59 * <p>getCommandName</p>
61 * @return a {@link java.lang.String} object.
63 public abstract String
getCommandName();