mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 17:56:01 +02:00
New method removeContainer() and clearRequestList.
This commit is contained in:
parent
ec099b66f4
commit
10cc1418e2
1 changed files with 21 additions and 6 deletions
|
@ -24,7 +24,6 @@ import org.eclipse.cdt.core.model.IElementChangedListener;
|
||||||
import org.eclipse.cdt.core.model.ITranslationUnit;
|
import org.eclipse.cdt.core.model.ITranslationUnit;
|
||||||
import org.eclipse.core.resources.IContainer;
|
import org.eclipse.core.resources.IContainer;
|
||||||
import org.eclipse.core.resources.IFile;
|
import org.eclipse.core.resources.IFile;
|
||||||
import org.eclipse.core.resources.IFolder;
|
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.resources.IResource;
|
import org.eclipse.core.resources.IResource;
|
||||||
import org.eclipse.core.resources.ResourcesPlugin;
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
|
@ -110,6 +109,7 @@ public class IndexManager implements IElementChangedListener {
|
||||||
if (filesMap == null)
|
if (filesMap == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
clearRequestList(resource);
|
||||||
switch (resource.getType()) {
|
switch (resource.getType()) {
|
||||||
case IResource.ROOT:
|
case IResource.ROOT:
|
||||||
// PROBLEM?
|
// PROBLEM?
|
||||||
|
@ -117,10 +117,10 @@ public class IndexManager implements IElementChangedListener {
|
||||||
|
|
||||||
case IResource.PROJECT:
|
case IResource.PROJECT:
|
||||||
projectsMap.remove(resource.getLocation());
|
projectsMap.remove(resource.getLocation());
|
||||||
break;
|
// FALL_THROUGHT
|
||||||
|
|
||||||
case IResource.FOLDER:
|
case IResource.FOLDER:
|
||||||
removeFolder((IFolder)resource);
|
removeContainer((IContainer)resource);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IResource.FILE:
|
case IResource.FILE:
|
||||||
|
@ -129,12 +129,12 @@ public class IndexManager implements IElementChangedListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeFolder(IFolder folder) {
|
public void removeContainer(IContainer container) {
|
||||||
Map filesMap = (Map)projectsMap.get(folder.getProject().getLocation());
|
Map filesMap = (Map)projectsMap.get(container.getProject().getLocation());
|
||||||
if (filesMap == null)
|
if (filesMap == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
IPath folderPath = folder.getLocation();
|
IPath folderPath = container.getLocation();
|
||||||
if (filesMap != null) {
|
if (filesMap != null) {
|
||||||
Iterator keys = filesMap.keySet().iterator();
|
Iterator keys = filesMap.keySet().iterator();
|
||||||
while (keys.hasNext()) {
|
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) {
|
public void addResource(IResource resource) {
|
||||||
switch (resource.getType()) {
|
switch (resource.getType()) {
|
||||||
case IResource.ROOT:
|
case IResource.ROOT:
|
||||||
|
|
Loading…
Add table
Reference in a new issue