From: a.theys Date: Tue, 17 Jan 2012 16:05:22 +0000 (+0000) Subject: AT: committing Trunk fix to missing dependency X-Git-Tag: 3.6.0~1060^2~54 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/0fecc69ee9a63055a73912d6e6ab369cf055ce6c AT: committing Trunk fix to missing dependency --- 0fecc69ee9a63055a73912d6e6ab369cf055ce6c diff --cc .gitattributes index c5bfc9bb1,c5a8995a2..016e06da1 --- a/.gitattributes +++ b/.gitattributes @@@ -475,13 -474,6 +475,14 @@@ eu.etaxonomy.taxeditor.editor/src/main/ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/DeleteMediaOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/RemoveImageFromDescriptionElementOperation.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesContentProvider.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java -text ++eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DynamicFeatureMenu.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/resources/TaonDescriptionEditor.screen -text eu.etaxonomy.taxeditor.editor/src/main/resources/log4j.properties -text eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/Application.java -text diff --cc eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java index 000000000,000000000..167b4f59f new file mode 100644 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java @@@ -1,0 -1,0 +1,109 @@@ ++package eu.etaxonomy.taxeditor.editor.view.uses.handler; ++ ++import java.util.ArrayList; ++import java.util.List; ++ ++import org.eclipse.core.commands.AbstractHandler; ++import org.eclipse.core.commands.ExecutionEvent; ++import org.eclipse.core.commands.ExecutionException; ++import org.eclipse.core.commands.common.NotDefinedException; ++import org.eclipse.core.commands.operations.IUndoContext; ++import org.eclipse.jface.viewers.IStructuredSelection; ++import org.eclipse.jface.viewers.TreePath; ++import org.eclipse.jface.viewers.TreeSelection; ++import org.eclipse.ui.IWorkbenchPart; ++import org.eclipse.ui.handlers.HandlerUtil; ++ ++import eu.etaxonomy.cdm.model.description.DescriptionElementBase; ++import eu.etaxonomy.cdm.model.description.TaxonDescription; ++import eu.etaxonomy.cdm.model.media.Media; ++import eu.etaxonomy.taxeditor.editor.EditorUtil; ++import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.DeleteDescriptionElementOperation; ++import eu.etaxonomy.taxeditor.editor.view.media.operation.DeleteMediaOperation; ++import eu.etaxonomy.taxeditor.editor.view.uses.operation.DeleteTaxonUseOperation; ++import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; ++import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; ++import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; ++ ++public class DeleteUseHandler extends AbstractHandler { ++ ++ /* ++ * (non-Javadoc) ++ * ++ * @see ++ * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands. ++ * ExecutionEvent) ++ */ ++ /** {@inheritDoc} */ ++ public Object execute(ExecutionEvent event) throws ExecutionException { ++ IStructuredSelection selection = (IStructuredSelection) HandlerUtil ++ .getActiveSite(event).getSelectionProvider().getSelection(); ++ ++ IWorkbenchPart part = HandlerUtil.getActivePart(event); ++ IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part ++ : null; ++ ++ try { ++ String label = event.getCommand().getName(); ++ ++ IUndoContext undoContext = EditorUtil.getUndoContext(); ++ ++ List operations = new ArrayList(); ++ ++ for (Object object : selection.toArray()) { ++ ++ AbstractPostOperation operation = null; ++ ++ // TaxonDescription ++ if (object instanceof TaxonDescription) { ++ operations.add(new DeleteTaxonUseOperation(label, ++ undoContext, (TaxonDescription) object, ++ postOperationEnabled)); ++ } ++ // DescriptionElementBase ++ else if (object instanceof DescriptionElementBase) { ++ operations.add(new DeleteDescriptionElementOperation(label, ++ undoContext, (DescriptionElementBase) object, ++ postOperationEnabled)); ++ } else if (object instanceof FeatureNodeContainer) { ++ List descriptions = ((FeatureNodeContainer) object) ++ .getDescriptionElementsForEntireBranch(); ++ ++ for (DescriptionElementBase description : descriptions) { ++ operations.add(new DeleteDescriptionElementOperation( ++ label, undoContext, description, ++ postOperationEnabled)); ++ } ++ } ++ // Media ++ else if (object instanceof Media) { ++ TreeSelection treeSelection = (TreeSelection) selection; ++ ++ TreePath[] path = treeSelection.getPathsFor(object); ++ ++ TaxonDescription imageGallery = (TaxonDescription) path[0] ++ .getFirstSegment(); ++ ++ operations ++ .add(new DeleteMediaOperation(label, undoContext, ++ imageGallery, (Media) object, ++ postOperationEnabled)); ++ } else { ++ EditorUtil.error(getClass(), ++ "Selection is not valid for this delete handler", ++ null); ++ } ++ } ++ ++ // execute all cumulated operations ++ for (AbstractPostOperation operation : operations) { ++ EditorUtil.executeOperation(operation); ++ } ++ ++ } catch (NotDefinedException e) { ++ EditorUtil.warn(getClass(), "Command name not set."); ++ } ++ ++ return null; ++ } ++}