From b4a9f102287060dde623e6f4dbc9c1f7f35294bc Mon Sep 17 00:00:00 2001 From: Bogdan Gheorghe Date: Mon, 11 Apr 2005 22:15:14 +0000 Subject: [PATCH] Changed indexChangeNotification to removeIndex Removed Info button from indexer dialog (Bug 91001) --- .../eclipse/cdt/core/index/ICDTIndexer.java | 5 +-- .../core/index/ctagsindexer/CTagsIndexer.java | 43 +++++++++++-------- .../index/sourceindexer/SourceIndexer.java | 2 +- .../core/search/indexing/IndexManager.java | 2 +- .../eclipse/cdt/ui/dialogs/IndexerBlock.java | 7 +-- 5 files changed, 32 insertions(+), 27 deletions(-) diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/ICDTIndexer.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/ICDTIndexer.java index 2f176df3be3..08d40041c1d 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/ICDTIndexer.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/ICDTIndexer.java @@ -129,10 +129,9 @@ public interface ICDTIndexer extends IIndexer { public IIndex getIndex(IPath path, boolean reuseExistingFile, boolean createIfMissing); /** - * Called the index manager when a project changes its indexer to a new indexer. This can be - * used to clean up specific indexer properties. + * Called by the index manager when this indexer is about to be removed from a project. * @param project */ - public void indexerChangeNotification(IProject project); + public void indexerRemoved(IProject project); } diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java index 83704fe1bc8..7dc69f1445a 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexer.java @@ -65,15 +65,15 @@ public class CTagsIndexer extends AbstractCExtension implements ICDTIndexer { public void addRequest(IProject project, IResourceDelta delta, int kind) { switch (kind) { - /* + case ICDTIndexer.PROJECT: - this.indexAll(element.getCProject().getProject()); + this.indexAll(project); break; - case ICDTIndexer.FOLDER: + /*case ICDTIndexer.FOLDER: this.indexSourceFolder(element.getCProject().getProject(),element.getPath(),null); - break; - */ + break;*/ + case ICDTIndexer.COMPILATION_UNIT: IFile file = (IFile) delta.getResource(); @@ -102,22 +102,27 @@ public class CTagsIndexer extends AbstractCExtension implements ICDTIndexer { * @see org.eclipse.cdt.core.index.ICDTIndexer#removeRequest(org.eclipse.cdt.core.model.ICElement, org.eclipse.core.resources.IResourceDelta) */ public void removeRequest(IProject project, IResourceDelta delta, int kind) { - switch (kind) { - /* - case ICDTIndexer.PROJECT: - this.indexAll(element.getCProject().getProject()); - break; - - case ICDTIndexer.FOLDER: - this.indexSourceFolder(element.getCProject().getProject(),element.getPath(),null); + case ICDTIndexer.PROJECT : + IPath fullPath = project.getFullPath(); + if( delta.getKind() == IResourceDelta.CHANGED ) + indexManager.discardJobs(fullPath.segment(0)); + indexStorage.removeIndexFamily(fullPath); + // NB: Discarding index jobs belonging to this project was done during PRE_DELETE break; - */ - case ICDTIndexer.COMPILATION_UNIT: - break; + // NB: Update of index if project is opened, closed, or its c nature is added or removed + // is done in updateCurrentDeltaAndIndex - } - + /* + case ICDTIndexer.FOLDER : + this.removeSourceFolderFromIndex(project,project.getFullPath(),null); + break;*/ + + case ICDTIndexer.COMPILATION_UNIT: + IFile file = (IFile) delta.getResource(); + this.remove(file.getFullPath().toString(), file.getProject().getFullPath()); + break; + } } /* (non-Javadoc) @@ -361,7 +366,7 @@ public class CTagsIndexer extends AbstractCExtension implements ICDTIndexer { } catch (CoreException e1) {} } - public void indexerChangeNotification(IProject project) { + public void indexerRemoved(IProject project) { //Remove any existing problem markers try { project.deleteMarkers(ICModelMarker.INDEXER_MARKER, true,IResource.DEPTH_ZERO); diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/sourceindexer/SourceIndexer.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/sourceindexer/SourceIndexer.java index bac75a11f48..00e3adb4c14 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/sourceindexer/SourceIndexer.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/sourceindexer/SourceIndexer.java @@ -653,7 +653,7 @@ public class SourceIndexer extends AbstractCExtension implements ICDTIndexer { this.indexAll(project); } - public void indexerChangeNotification(IProject project) { + public void indexerRemoved(IProject project) { //Remove any existing problem markers /*try { IMarker[] markers = project.findMarkers(ICModelMarker.INDEXER_MARKER, true, IResource.DEPTH_INFINITE); diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java index c5101d85995..b9de74d59cb 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java @@ -341,7 +341,7 @@ public class IndexManager extends JobManager{ //Get rid of the old index file ICDTIndexer currentIndexer = getIndexerForProject(project); - currentIndexer.indexerChangeNotification(project); + currentIndexer.indexerRemoved(project); IIndexStorage storage = currentIndexer.getIndexStorage(); if (storage instanceof CIndexStorage) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/IndexerBlock.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/IndexerBlock.java index 0d1a80b8415..6af886e9073 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/IndexerBlock.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/IndexerBlock.java @@ -207,9 +207,10 @@ public class IndexerBlock extends AbstractCOptionPage { setPage(); } }); - //Add button - ControlFactory.createPushButton(group,"Info ..."); //$NON-NLS-1$ - + //Make sure that the combo box takes up two cells + GridData gridData = (GridData) indexersComboBox.getLayoutData(); + gridData.verticalSpan=2; + // fill the combobox and set the initial value for (Iterator items = getIndexerPageIdList().iterator(); items.hasNext();) { String profileId = (String)items.next();