[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] indexer changes
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/ChangeLog,v
retrieving revision 1.24
diff -u -r1.24 ChangeLog
--- ChangeLog 12 Nov 2002 13:51:55 -0000 1.24
+++ ChangeLog 12 Nov 2002 18:49:23 -0000
@@ -1,3 +1,12 @@
+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/.../internal/core/index/IndexManager.java (addContainer):
+ Check if resource is enable for indexing.
+ (addFile): Check if resource is enable for indexing.
+
2002-11-12 David Inglis
* model/.../internal/core/model/CModelManager.java,v
Index: index/org/eclipse/cdt/core/index/IndexModel.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/IndexModel.java,v
retrieving revision 1.1
diff -u -r1.1 IndexModel.java
--- index/org/eclipse/cdt/core/index/IndexModel.java 26 Jun 2002 20:33:48 -0000 1.1
+++ index/org/eclipse/cdt/core/index/IndexModel.java 12 Nov 2002 18:49:23 -0000
@@ -5,15 +5,42 @@
* All Rights Reserved.
*/
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.internal.core.index.IndexManager;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
-
-import org.eclipse.cdt.internal.core.index.IndexManager;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
public class IndexModel {
static IndexModel indexModel = null;
static IndexManager manager = null;
+ final static String INDEX_MODEL_ID = CCorePlugin.PLUGIN_ID + ".indexmodel";
+ final static String ACTIVATION = "enable";
+
+ static QualifiedName activationKey = new QualifiedName(INDEX_MODEL_ID, ACTIVATION);
+
+ public boolean isEnabled(IProject project) {
+ String prop = null;
+ try {
+ if (project != null) {
+ prop = project.getPersistentProperty(activationKey);
+ }
+ } catch (CoreException e) {
+ }
+ return ((prop != null) && prop.equalsIgnoreCase("true"));
+ }
+
+ public void setEnabled(IProject project, boolean on) {
+ String prop = new Boolean(on).toString();
+ try {
+ if (project != null) {
+ project.setPersistentProperty(activationKey, prop);
+ }
+ } catch (CoreException e) {
+ }
+ }
/**
* Search Project for tag symbol.
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.3
diff -u -r1.3 IndexManager.java
--- index/org/eclipse/cdt/internal/core/index/IndexManager.java 28 Oct 2002 14:43:27 -0000 1.3
+++ index/org/eclipse/cdt/internal/core/index/IndexManager.java 12 Nov 2002 18:49:23 -0000
@@ -12,24 +12,24 @@
import java.util.List;
import java.util.Map;
-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;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.CoreException;
-
import org.eclipse.cdt.core.index.ITagEntry;
+import org.eclipse.cdt.core.index.IndexModel;
import org.eclipse.cdt.core.model.CModelException;
import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.ElementChangedEvent;
import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.cdt.core.model.ICResource;
-import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.model.ICElementDelta;
+import org.eclipse.cdt.core.model.ICResource;
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;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
public class IndexManager implements IElementChangedListener {
@@ -155,7 +155,7 @@
}
public void addResource(IResource resource) {
- switch(resource.getType()) {
+ switch (resource.getType()) {
case IResource.ROOT:
case IResource.PROJECT:
case IResource.FOLDER:
@@ -173,7 +173,8 @@
* Note: the actual operation is performed in background
*/
public void addFile(IFile file) {
- if (CoreModel.getDefault().isTranslationUnit(file)) {
+ if (CoreModel.getDefault().isTranslationUnit(file) &&
+ IndexModel.getDefault().isEnabled(file.getProject())) {
requestList.addItem(file);
}
}
@@ -193,7 +194,8 @@
break;
case IResource.PROJECT:
- if (CoreModel.getDefault().hasCNature((IProject)res)) {
+ if (CoreModel.getDefault().hasCNature((IProject)res) &&
+ IndexModel.getDefault().isEnabled((IProject)res)) {
addContainer((IContainer)res);
}
break;
@@ -258,13 +260,13 @@
}
}
- if (kind == ICElementDelta.ADDED) {
- try {
- IResource resource = ((ICResource)element).getResource();
- addResource(resource);
- } catch (CModelException e) {
- }
- }
+// if (kind == ICElementDelta.ADDED) {
+// try {
+// IResource resource = ((ICResource)element).getResource();
+// addResource(resource);
+// } catch (CModelException e) {
+// }
+// }
if (element instanceof ITranslationUnit) {
if (kind == ICElementDelta.CHANGED) {