1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

New method removeContainer() and clearRequestList.

This commit is contained in:
Alain Magloire 2002-11-12 20:52:17 +00:00
parent ec099b66f4
commit 10cc1418e2

View file

@ -24,7 +24,6 @@ import org.eclipse.cdt.core.model.IElementChangedListener;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
@ -110,6 +109,7 @@ public class IndexManager implements IElementChangedListener {
if (filesMap == null)
return;
clearRequestList(resource);
switch (resource.getType()) {
case IResource.ROOT:
// PROBLEM?
@ -117,10 +117,10 @@ public class IndexManager implements IElementChangedListener {
case IResource.PROJECT:
projectsMap.remove(resource.getLocation());
break;
// FALL_THROUGHT
case IResource.FOLDER:
removeFolder((IFolder)resource);
removeContainer((IContainer)resource);
break;
case IResource.FILE:
@ -129,12 +129,12 @@ public class IndexManager implements IElementChangedListener {
}
}
public void removeFolder(IFolder folder) {
Map filesMap = (Map)projectsMap.get(folder.getProject().getLocation());
public void removeContainer(IContainer container) {
Map filesMap = (Map)projectsMap.get(container.getProject().getLocation());
if (filesMap == null)
return;
IPath folderPath = folder.getLocation();
IPath folderPath = container.getLocation();
if (filesMap != null) {
Iterator keys = filesMap.keySet().iterator();
while (keys.hasNext()) {
@ -154,6 +154,21 @@ public class IndexManager implements IElementChangedListener {
}
}
public void clearRequestList(IResource resource) {
if (resource instanceof IFile) {
requestList.removeItem(resource);
} else if (resource instanceof IContainer) {
try {
IContainer container = (IContainer)resource;
IResource[] resources = container.members(false);
for (int i = 0; i < resources.length; i++) {
clearRequestList(resources[i]);
}
} catch (CoreException e) {
}
}
}
public void addResource(IResource resource) {
switch (resource.getType()) {
case IResource.ROOT: