+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.editor.name.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.menus.CommandContributionItem;
-import org.eclipse.ui.menus.CommandContributionItemParameter;
-
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.name.NameRelationshipType;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.labels.ILabelImageStrategy;
-import eu.etaxonomy.taxeditor.labels.LabelImageProvider;
-
-/**
- * <p>GroupBasionymContributionItem class.</p>
- *
- * @author p.ciardelli
- * @version $Id: $
- */
-public class GroupBasionymContributionItem extends CompoundContributionItem {
- private static final Logger logger = Logger.getLogger(GroupBasionymContributionItem.class);
-
- /**
- * <p>Constructor for GroupBasionymContributionItem.</p>
- */
- public GroupBasionymContributionItem() {}
-
- /**
- * <p>Constructor for GroupBasionymContributionItem.</p>
- *
- * @param id a {@link java.lang.String} object.
- */
- public GroupBasionymContributionItem(String id) {
- super(id);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
- */
- /** {@inheritDoc} */
- @Override
- protected IContributionItem[] getContributionItems() {
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- ISelectionService selectionService = window.getSelectionService();
-
- ISelection selection = selectionService.getSelection();
-
- if(selection instanceof IStructuredSelection){
- Object selectedObject = ((IStructuredSelection) selection).getFirstElement();
-
- if(selectedObject != null && selectedObject instanceof TaxonBase){
-
- TaxonNameBase name = (TaxonNameBase) HibernateProxyHelper.deproxy(((TaxonBase) selectedObject).getName());
-
- if(name.getHomotypicalGroup().getTypifiedNames().size() > 1){
-
- CommandContributionItemParameter parameter =
- new CommandContributionItemParameter(
- window, null, getCommand(name), SWT.NONE);
-
- parameter.label = getLabel(name);
-
- return new IContributionItem[] {
- new CommandContributionItem(parameter)
- };
- }
-
- }
- }
-
- return new IContributionItem[]{};
- }
-
- /**
- * @param name
- * @return
- */
- private String getCommand(TaxonNameBase name) {
- if(name.isGroupsBasionym()){
- return "eu.etaxonomy.taxeditor.editor.name.removeBasionym" ;
- }
- return "eu.etaxonomy.taxeditor.editor.name.setBasionym";
- }
-
- /**
- * @param name
- * @return
- */
- private String getLabel(TaxonNameBase name) {
- ILabelImageStrategy strategy = LabelImageProvider.getLabelStrategy(name);
- LabelImageProvider labelProvider = new LabelImageProvider(strategy);
- return (name.isGroupsBasionym() ? "Remove" : "Set")
- + " as " + labelProvider.getNameRelationTypeDescription(NameRelationshipType.BASIONYM()) + " for Homotypic Group";
- }
-}