[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Check if indexer is enable for this project
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/ChangeLog,v
retrieving revision 1.26
diff -u -r1.26 ChangeLog
--- ChangeLog 12 Nov 2002 19:01:59 -0000 1.26
+++ ChangeLog 12 Nov 2002 20:51:33 -0000
@@ -1,5 +1,13 @@
2002-11-12 Alain Magloire
+ * index/.../internal/core/index/IndexManager.java (removeConatiner):
+ Change the signature of the function to take IContainer.
+ (removeResource): Also remove the request from the requestList.
+ * index/.../internal/core/index/RequestList.java (removeItem):
+ new method.
+
+2002-11-12 Alain Magloire
+
* index/.../index/IndexModel.java (isEnabled):
New method check if indexing is enable for a project.
(setEnabled) : enable/disable indexing for a project.
Index: index/org/eclipse/cdt/internal/core/index/IndexManager.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java,v
retrieving revision 1.4
diff -u -r1.4 IndexManager.java
--- index/org/eclipse/cdt/internal/core/index/IndexManager.java 12 Nov 2002 18:52:31 -0000 1.4
+++ index/org/eclipse/cdt/internal/core/index/IndexManager.java 12 Nov 2002 20:51:33 -0000
@@ -24,7 +24,6 @@
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 @@
if (filesMap == null)
return;
+ clearRequestList(resource);
switch (resource.getType()) {
case IResource.ROOT:
// PROBLEM?
@@ -117,10 +117,10 @@
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 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()) {
@@ -151,6 +151,21 @@
Map filesMap = (Map)projectsMap.get(file.getProject().getLocation());
if (filesMap != null) {
filesMap.remove(file.getLocation());
+ }
+ }
+
+ 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) {
+ }
}
}
Index: index/org/eclipse/cdt/internal/core/index/RequestList.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/RequestList.java,v
retrieving revision 1.1
diff -u -r1.1 RequestList.java
--- index/org/eclipse/cdt/internal/core/index/RequestList.java 26 Jun 2002 20:33:48 -0000 1.1
+++ index/org/eclipse/cdt/internal/core/index/RequestList.java 12 Nov 2002 20:51:33 -0000
@@ -34,6 +34,10 @@
}
}
+ public boolean removeItem(Object key) {
+ return list.remove(key);
+ }
+
public void addItem(IResource item) {
//print("in addItem() - entering");
synchronized (list) {