From 0c2b43cb022cb3280137996e6ee1ab5e4a94a82f Mon Sep 17 00:00:00 2001 From: Bogdan Gheorghe Date: Tue, 22 Jun 2004 05:03:56 +0000 Subject: [PATCH] Fixed opening search external markers. --- core/org.eclipse.cdt.ui/ChangeLog | 3 +++ .../internal/ui/search/CSearchResultPage.java | 5 +++-- .../cdt/internal/ui/util/EditorUtility.java | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 452334cb9a7..6559fc646b0 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,6 @@ +2004-06-21 Bogdan Gheorghe + Fixed opening search external markers. + 2004-06-21 Alain Magloire Big Patch from Vladimir Hirsl diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchResultPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchResultPage.java index 1e9abfc968e..646a4311175 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchResultPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchResultPage.java @@ -38,6 +38,7 @@ import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.ViewerSorter; import org.eclipse.search.ui.IContextMenuConstants; +import org.eclipse.search.ui.NewSearchUI; import org.eclipse.search.ui.SearchUI; import org.eclipse.search.ui.text.AbstractTextSearchViewPage; import org.eclipse.search.ui.text.Match; @@ -174,7 +175,7 @@ public class CSearchResultPage extends AbstractTextSearchViewPage { private void showWithMarker(IEditorPart editor, IFile file, int offset, int length) throws PartInitException { try { - IMarker marker= file.createMarker(SearchUI.SEARCH_MARKER); + IMarker marker= file.createMarker(NewSearchUI.SEARCH_MARKER); HashMap attributes= new HashMap(4); attributes.put(IMarker.CHAR_START, new Integer(offset)); attributes.put(IMarker.CHAR_END, new Integer(offset + length)); @@ -269,7 +270,7 @@ public class CSearchResultPage extends AbstractTextSearchViewPage { canonicalPath = tempFile.getCanonicalPath(); } catch (IOException e1) {} - if (canonicalPath != null){ + if (canonicalPath != null && (!(originalFile.isLinked()))){ IPath path = new Path(canonicalPath); originalFile = CUIPlugin.getWorkspace().getRoot().getFileForLocation(path); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java index 61c3e6b74bb..49c37ae0a1c 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java @@ -17,6 +17,7 @@ import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.model.IWorkingCopy; import org.eclipse.cdt.core.resources.FileStorage; +import org.eclipse.cdt.internal.ui.cview.CViewMessages; import org.eclipse.cdt.internal.ui.editor.CEditor; import org.eclipse.cdt.internal.ui.editor.CEditorMessages; import org.eclipse.cdt.internal.ui.editor.ITranslationUnitEditorInput; @@ -28,6 +29,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.action.Action; import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.MessageBox; import org.eclipse.ui.IEditorDescriptor; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; @@ -115,6 +117,11 @@ public class EditorUtility { } private static IEditorPart openInEditor(IFile file, boolean activate) throws PartInitException { + if (!file.getProject().isAccessible()){ + closedProject(); + return null; + } + if (file != null) { try { File tempFile = file.getRawLocation().toFile(); @@ -140,6 +147,16 @@ public class EditorUtility { return null; } + /** + * + */ + private static void closedProject() { + MessageBox errorMsg = new MessageBox(CUIPlugin.getActiveWorkbenchShell(), SWT.ICON_ERROR | SWT.OK); + errorMsg.setText("ARGHH!"); //$NON-NLS-1$ + errorMsg.setMessage ("You tried to open that which cannot be opened..."); //$NON-NLS-1$ + errorMsg.open(); + } + private static IEditorPart openInEditor(IEditorInput input, String editorID, boolean activate) throws PartInitException { if (input != null) { IWorkbenchPage p= CUIPlugin.getActivePage();