4 package eu
.etaxonomy
.taxeditor
.editor
.name
.handler
;
6 import org
.apache
.log4j
.Logger
;
7 import org
.eclipse
.jface
.action
.ContributionItem
;
8 import org
.eclipse
.swt
.events
.SelectionEvent
;
9 import org
.eclipse
.swt
.events
.SelectionListener
;
10 import org
.eclipse
.swt
.widgets
.Event
;
11 import org
.eclipse
.swt
.widgets
.Menu
;
12 import org
.eclipse
.swt
.widgets
.MenuItem
;
13 import org
.eclipse
.ui
.handlers
.IHandlerService
;
15 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationshipType
;
16 import eu
.etaxonomy
.taxeditor
.editor
.internal
.TaxeditorEditorPlugin
;
17 import eu
.etaxonomy
.taxeditor
.store
.VocabularyStore
;
25 public abstract class AbstractDynamicConceptRelationMenu
extends ContributionItem
{
26 public static Logger logger
= Logger
.getLogger(AbstractDynamicConceptRelationMenu
.class);
30 * @see org.eclipse.jface.action.ContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
33 public void fill(Menu menu
, int index
){
34 final IHandlerService handlerService
= (IHandlerService
) TaxeditorEditorPlugin
.getDefault().getWorkbench().getService(IHandlerService
.class);
36 for(final TaxonRelationshipType type
: VocabularyStore
.getConceptRelationshipTypes()){
37 MenuItem menuItem
= new MenuItem(menu
, -1);
38 menuItem
.setText(type
.getLabel());
39 menuItem
.setData(type
);
40 menuItem
.addSelectionListener(new SelectionListener(){
42 public void widgetDefaultSelected(SelectionEvent e
) {}
44 public void widgetSelected(SelectionEvent ev
) {
45 Event event
= new Event();
48 handlerService
.executeCommand(getCommandName(), event
);
49 } catch (Exception e
) {
50 logger
.error("Error executing command", e
);
57 public abstract String
getCommandName();