import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.services.EMenuService;
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
/**
- * Taxonomic tree implementation using Common Navigator Framework.
*
- * @author p.ciardelli
- * @author n.hoffmann
- * @created 02.06.2009
- * @version 1.0+-
+ * @author pplitzner
+ * @since Sep 7, 2017
+ *
*/
public class TaxonNavigatorE4 implements
IPostOperationEnabled, IConversationEnabled, Observer,
private ICdmEntitySession cdmEntitySession;
- private String partNameCache;
-
private IDataChangeBehavior dataChangeBehavior;
private Root root;
viewer.setContentProvider(new TaxonNavigatorContentProviderE4());
viewer.setLabelProvider(new TaxonNavigatorLabelProviderE4());
+ viewer.addDoubleClickListener(event->{
+ ISelection selection = event.getSelection();
+ if(selection instanceof IStructuredSelection){
+ Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+ if(firstElement instanceof ICdmBase){
+ NavigationUtil.openEditor((ICdmBase) firstElement, viewer.getControl().getShell());
+ }
+ }
+ });
//propagate selection
selectionChangedListener = (event -> selService.setSelection(event.getSelection()));
//create context menu
menuService.registerContextMenu(viewer.getControl(), "eu.etaxonomy.taxeditor.navigator.popupmenu.taxonnavigator");
+ menuService.registerContextMenu(viewer.getControl(), "eu.etaxonomy.taxeditor.store.menu.import");
init();
}
return true;
}
- //FIXME E4 migrate double click
-// /** {@inheritDoc} */
-// @Override
-// protected void handleDoubleClick(DoubleClickEvent event) {
-// ISelection selection = event.getSelection();
-// if(selection instanceof IStructuredSelection){
-// Object firstElement = ((IStructuredSelection) selection).getFirstElement();
-// if(firstElement instanceof ICdmBase){
-// NavigationUtil.openEditor((ICdmBase) firstElement);
-// }
-// }
-// // If the double click is passed up to the super-class it will
-// // expand/collapse trees.
-// // We do not want that
-// // super.handleDoubleClick(anEvent);
-// }
-
@Override
public boolean onComplete() {
return true;