1 11 package org.eclipse.debug.internal.ui.launchConfigurations; 12 13 import org.eclipse.core.resources.IProject; 14 import org.eclipse.core.resources.IResource; 15 import org.eclipse.core.runtime.CoreException; 16 import org.eclipse.debug.core.ILaunchConfiguration; 17 import org.eclipse.debug.core.ILaunchConfigurationType; 18 import org.eclipse.jface.viewers.Viewer; 19 import org.eclipse.jface.viewers.ViewerFilter; 20 21 30 public class ClosedProjectFilter extends ViewerFilter { 31 32 35 public ClosedProjectFilter() { 36 super(); 37 } 38 39 42 public boolean select(Viewer viewer, Object parent, Object element) { 43 if(element instanceof ILaunchConfigurationType) { 45 return true; 46 } 47 if(element instanceof ILaunchConfiguration) { 48 try { 49 ILaunchConfiguration config = (ILaunchConfiguration)element; 50 IResource[] resources = config.getMappedResources(); 51 if(resources == null) { 53 return true; 54 } 55 for(int i = 0; i < resources.length; i++) { 56 IProject project= resources[i].getProject(); 57 if(project != null && (project.isOpen() || !project.exists())) { 59 return true; 60 } 61 } 62 } 63 catch (CoreException e) {} 64 } 65 return false; 66 } 67 } 68 | Popular Tags |