import org.eclipse.jface.wizard.Wizard;
+import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
/**
private List<TermDto> selectedTerms;
- public TermChooseWizard(){
+ private TermType termType;
+
+ public TermChooseWizard(TermType termType){
+ this.termType = termType;
}
public List<TermDto> getSelectedTerms() {
@Override
public void addPages() {
- page = new TermChooseWizardPage();
+ page = new TermChooseWizardPage(termType);
addPage(page);
}
public class TermChooseWizardPage extends WizardPage {
private TermSearchController controller;
+ private TermType termType;
- protected TermChooseWizardPage() {
+ protected TermChooseWizardPage(TermType termType) {
super("Term Choose Wizard");
setTitle("Term Choose Wizard");
setDescription("Please search and select the terms you want to add to the tree.");
+ this.termType = termType;
}
@Override
public void createControl(Composite parent) {
SearchComposite searchComposite = new SearchComposite(parent, SWT.NONE);
- controller = new TermSearchController(searchComposite, TermType.Feature);
+ controller = new TermSearchController(searchComposite, termType);
setControl(searchComposite);
}
*/
package eu.etaxonomy.taxeditor.featuretree.e4.handler;
-import java.util.Collection;
+import java.util.List;
import javax.inject.Named;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
-import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.taxeditor.featuretree.AvailableFeaturesWizard;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
+import eu.etaxonomy.taxeditor.featuretree.TermChooseWizard;
import eu.etaxonomy.taxeditor.featuretree.e4.IFeatureTreeEditor;
import eu.etaxonomy.taxeditor.featuretree.e4.operation.AddFeatureOperation;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
if (StoreUtil.promptCheckIsDirty(editor)) {
return;
}
+ FeatureNode parent = (FeatureNode)selection.getFirstElement();
- AvailableFeaturesWizard wizard = new AvailableFeaturesWizard();
+ TermChooseWizard wizard = new TermChooseWizard(parent.getTermType());
WizardDialog dialog = new WizardDialog(shell, wizard);
- Object next = selection.getFirstElement();
- if (dialog.open() == IStatus.OK && next instanceof FeatureNode) {
- FeatureNode parent = (FeatureNode)next;
- Collection<Feature> additionalFeatures = wizard.getAdditionalFeatures();
- for (Feature feature : additionalFeatures) {
- AddFeatureOperation operation = new AddFeatureOperation(feature.getUuid(), parent, editor, editor);
+ if (dialog.open() == IStatus.OK) {
+ List<TermDto> selectedTerms = wizard.getSelectedTerms();
+ for (TermDto termDto: selectedTerms) {
+ AddFeatureOperation operation = new AddFeatureOperation(termDto.getUuid(), parent, editor, editor);
AbstractUtility.executeOperation(operation, sync);
}
}
@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection,
@Named(IServiceConstants.ACTIVE_PART)MPart thisPart, UISynchronize sync) {
IFeatureTreeEditor editor = ((IFeatureTreeEditor) thisPart.getObject());
-
if (StoreUtil.promptCheckIsDirty(editor)) {
return;
}
+ FeatureTree tree = (FeatureTree) selection.getFirstElement();
-
- TermChooseWizard wizard = new TermChooseWizard();
- // AvailableFeaturesWizard wizard = new AvailableFeaturesWizard();
+ TermChooseWizard wizard = new TermChooseWizard(tree.getTermType());
WizardDialog dialog = new WizardDialog(shell, wizard);
if (dialog.open() == IStatus.OK) {
- FeatureTree tree = (FeatureTree) selection.getFirstElement();
List<TermDto> selectedTerms = wizard.getSelectedTerms();
for (TermDto termDto: selectedTerms) {
AddFeatureOperation operation = new AddFeatureOperation(termDto.getUuid(), tree.getRoot(), editor, editor);