X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Fnature%2FAddRemoveMograsimNatureHandler.java;fp=net.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Fnature%2FAddRemoveMograsimNatureHandler.java;h=0000000000000000000000000000000000000000;hb=7d05144c25daa53e60fc9ed9fd503546a86567f8;hp=581b4a6f96dbd23aef2e73205e961edbb069ced5;hpb=8bed58cd47f4e53a0a83e066d38864aa6875502f;p=Mograsim.git diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/nature/AddRemoveMograsimNatureHandler.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/nature/AddRemoveMograsimNatureHandler.java deleted file mode 100644 index 581b4a6f..00000000 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/nature/AddRemoveMograsimNatureHandler.java +++ /dev/null @@ -1,82 +0,0 @@ -package net.mograsim.plugin.nature; - -import java.util.Iterator; -import org.eclipse.core.commands.*; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.handlers.HandlerUtil; - -public class AddRemoveMograsimNatureHandler extends AbstractHandler -{ - - public Object execute(ExecutionEvent event) throws ExecutionException - { - ISelection selection = HandlerUtil.getCurrentSelection(event); - // - if (selection instanceof IStructuredSelection) - { - for (Iterator it = ((IStructuredSelection) selection).iterator(); it.hasNext();) - { - Object element = it.next(); - IProject project = null; - if (element instanceof IProject) - { - project = (IProject) element; - } else if (element instanceof IAdaptable) - { - project = ((IAdaptable) element).getAdapter(IProject.class); - } - if (project != null) - { - try - { - toggleNature(project); - } - catch (CoreException e) - { - // TODO log something - throw new ExecutionException("Failed to toggle nature", e); - } - } - } - } - - return null; - } - - /** - * Toggles sample nature on a project - * - * @param project to have sample nature added or removed - */ - private void toggleNature(IProject project) throws CoreException - { - IProjectDescription description = project.getDescription(); - String[] natures = description.getNatureIds(); - - for (int i = 0; i < natures.length; ++i) - { - if (MograsimNature.NATURE_ID.equals(natures[i])) - { - // Remove the nature - String[] newNatures = new String[natures.length - 1]; - System.arraycopy(natures, 0, newNatures, 0, i); - System.arraycopy(natures, i + 1, newNatures, i, natures.length - i - 1); - description.setNatureIds(newNatures); - project.setDescription(description, null); - return; - } - } - - // Add the nature - String[] newNatures = new String[natures.length + 1]; - System.arraycopy(natures, 0, newNatures, 0, natures.length); - newNatures[natures.length] = MograsimNature.NATURE_ID; - description.setNatureIds(newNatures); - project.setDescription(description, null); - } -} \ No newline at end of file