Revision 884aefac
Added by Katja Luther about 4 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/defaultHandler/e4/DefaultOpenTaxonNodeWizardHandlerE4.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.taxeditor.handler.defaultHandler.e4; |
10 | 10 |
|
11 |
import java.util.UUID; |
|
12 |
|
|
13 | 11 |
import org.eclipse.e4.core.contexts.ContextInjectionFactory; |
14 | 12 |
import org.eclipse.e4.ui.workbench.modeling.EPartService; |
13 |
import org.eclipse.jface.viewers.IStructuredSelection; |
|
15 | 14 |
import org.eclipse.jface.wizard.WizardDialog; |
16 | 15 |
import org.eclipse.swt.widgets.Shell; |
17 | 16 |
|
18 | 17 |
import eu.etaxonomy.cdm.api.service.ITaxonNodeService; |
19 | 18 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
20 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
21 | 19 |
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto; |
22 | 20 |
import eu.etaxonomy.taxeditor.event.EventUtility; |
23 | 21 |
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants; |
... | ... | |
30 | 28 |
* @date 22.03.2016 |
31 | 29 |
* |
32 | 30 |
*/ |
33 |
public class DefaultOpenTaxonNodeWizardHandlerE4 extends DefaultOpenHandlerBaseE4<TaxonNode> { |
|
31 |
public class DefaultOpenTaxonNodeWizardHandlerE4 extends DefaultOpenHandlerBaseE4<TaxonNodeDto> {
|
|
34 | 32 |
|
35 |
@Override |
|
36 |
protected TaxonNode getEntity(UUID uuid) { |
|
37 |
return CdmStore.getService(ITaxonNodeService.class).load(uuid); |
|
38 |
} |
|
33 |
// @Override
|
|
34 |
// protected TaxonNode getEntity(UUID uuid) {
|
|
35 |
// return CdmStore.getService(ITaxonNodeService.class).load(uuid);
|
|
36 |
// }
|
|
39 | 37 |
|
40 | 38 |
@Override |
41 |
protected void open(TaxonNode entity, Shell shell, EPartService partService) { |
|
39 |
protected void open(TaxonNodeDto entity, Shell shell, EPartService partService) {
|
|
42 | 40 |
EditTaxonNodeWizard taxonNodeWizard = ContextInjectionFactory.make(EditTaxonNodeWizard.class, context); |
43 | 41 |
taxonNodeWizard.init(null, null); |
44 |
taxonNodeWizard.setEntity(entity);
|
|
42 |
taxonNodeWizard.setEntity(CdmStore.getService(ITaxonNodeService.class).load(entity.getUuid()));
|
|
45 | 43 |
WizardDialog dialog = new WizardDialog(shell, taxonNodeWizard); |
46 | 44 |
dialog.open(); |
47 |
EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, new TaxonNodeDto(entity));
|
|
45 |
EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, entity);
|
|
48 | 46 |
|
49 | 47 |
} |
50 | 48 |
|
51 | 49 |
@Override |
52 |
public boolean canExecute(TaxonNode entity) { |
|
53 |
return entity.getTaxon()!=null && PreferencesUtil.getBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey()); |
|
50 |
public boolean canExecute(IStructuredSelection selection) { |
|
51 |
if (selection.getFirstElement() instanceof TaxonNodeDto){ |
|
52 |
return ((TaxonNodeDto)selection.getFirstElement()).getTaxonUuid()!=null && PreferencesUtil.getBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey()); |
|
53 |
} |
|
54 |
return false; |
|
54 | 55 |
} |
55 | 56 |
|
56 | 57 |
} |
Also available in: Unified diff
ref #8047: allow multiselect for open distribution editor