Revision c3bb7840
Added by Patrick Plitzner over 6 years ago
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/CreateClassificationHierarchyHandlerE4.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import javax.inject.Named; |
4 | 4 |
|
5 |
import org.eclipse.e4.core.di.annotations.CanExecute; |
|
5 | 6 |
import org.eclipse.e4.ui.model.application.ui.basic.MPart; |
6 | 7 |
import org.eclipse.e4.ui.services.IServiceConstants; |
7 | 8 |
import org.eclipse.jface.viewers.TreeSelection; |
... | ... | |
13 | 14 |
import eu.etaxonomy.taxeditor.navigation.l10n.Messages; |
14 | 15 |
import eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4; |
15 | 16 |
import eu.etaxonomy.taxeditor.navigation.operation.CreateNewTaxonHierarchyOperation; |
17 |
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; |
|
18 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
|
16 | 19 |
import eu.etaxonomy.taxeditor.store.StoreUtil; |
17 | 20 |
|
18 | 21 |
/** |
... | ... | |
28 | 31 |
|
29 | 32 |
TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject(); |
30 | 33 |
|
31 |
Object selectedElement = selection.getFirstElement(); |
|
32 |
if (selectedElement instanceof TaxonNode && !((TaxonNode)selectedElement).hasTaxon()) { |
|
33 |
Classification classification = ((TaxonNode) selectedElement).getClassification(); |
|
34 |
try { |
|
35 |
CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation(Messages.CreateClassificationHierarchyHandler_CREATE_HIERARCHY, StoreUtil.getUndoContext(),classification, taxonNavigator, taxonNavigator); |
|
36 |
AbstractUtility.executeOperation(operation); |
|
37 |
taxonNavigator.refresh(); |
|
38 |
} catch (Exception e) { |
|
39 |
MessagingUtils.messageDialog(Messages.CreateClassificationHierarchyHandler_FAILED, CreateClassificationHierarchyHandlerE4.class, |
|
40 |
Messages.CreateClassificationHierarchyHandler_FAILED_MESSAGE, e); |
|
41 |
} |
|
34 |
Object selectedElement = selection.getFirstElement(); |
|
35 |
if (selectedElement instanceof TaxonNode && !((TaxonNode)selectedElement).hasTaxon()) { |
|
36 |
Classification classification = ((TaxonNode) selectedElement).getClassification(); |
|
37 |
try { |
|
38 |
CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation(Messages.CreateClassificationHierarchyHandler_CREATE_HIERARCHY, StoreUtil.getUndoContext(),classification, taxonNavigator, taxonNavigator); |
|
39 |
AbstractUtility.executeOperation(operation); |
|
40 |
taxonNavigator.refresh(); |
|
41 |
} catch (Exception e) { |
|
42 |
MessagingUtils.messageDialog(Messages.CreateClassificationHierarchyHandler_FAILED, CreateClassificationHierarchyHandlerE4.class, |
|
43 |
Messages.CreateClassificationHierarchyHandler_FAILED_MESSAGE, e); |
|
42 | 44 |
} |
45 |
} |
|
43 | 46 |
} |
47 |
|
|
48 |
@CanExecute |
|
49 |
private boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection){ |
|
50 |
return selection.getFirstElement() instanceof Classification && PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES); |
|
51 |
} |
|
52 |
|
|
44 | 53 |
} |
Also available in: Unified diff
ref #6909 Implement menu item/handler visibility