fImageDescriptorRegistry = new ImageDescriptorRegistry();
return fImageDescriptorRegistry;
}
-
/**
* Open a file in the Workbench that may or may not exist in the workspace.
* Must be run on the UI thread.
* @param filename
- * @param line
* @throws CoreException
*/
- public void openFileInTextEditor(String filename, int line, String findString) throws CoreException {
+ public ITextEditor openFileInTextEditor(String filename) throws CoreException {
- // reject directories
+ // reject directories
if (new File(filename).isDirectory())
- return;
+ return null;
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow window = workbench.getWorkbenchWindows()[0];
} else {
// Otherwise open the stream directly
if (page == null)
- return;
+ return null;
FileStorage storage = new FileStorage(path);
IEditorRegistry registry = getWorkbench().getEditorRegistry();
IEditorDescriptor desc = registry.getDefaultEditor(filename);
}
}
}
+ return textEditor;
+ }
+ /**
+ * Open a file in the Workbench that may or may not exist in the workspace.
+ * Must be run on the UI thread.
+ * @param filename
+ * @param line
+ * @throws CoreException
+ */
+ public void openFileAndGotoLine(String filename, int line) throws CoreException {
+
+ ITextEditor textEditor = openFileInTextEditor(filename);
if (textEditor != null) {
// If a line number was given, go to it
if (line > 0) {
// invalid text position -> do nothing
}
}
+ }
+ }
+
+ /**
+ * Open a file in the Workbench that may or may not exist in the workspace.
+ * Must be run on the UI thread.
+ * @param filename
+ * @param offset
+ * @throws CoreException
+ */
+ public void openFileAndGotoOffset(String filename, int offset, int length) throws CoreException {
+
+ ITextEditor textEditor = openFileInTextEditor(filename);
+ if (textEditor != null) {
+ // If a line number was given, go to it
+ if (offset >= 0) {
+ IDocument document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
+ textEditor.selectAndReveal(offset, length);
+ }
+ }
+ }
+
+ public void openFileAndFindString(String filename, String findString) throws CoreException {
+
+ ITextEditor textEditor = openFileInTextEditor(filename);
+ if (textEditor != null) {
// If a string was given, go to it
if (findString != null) {
try {
}
}
}
-
public void setLastEditorFile(IFile textEditor) {
this.fLastEditorFile = textEditor;
}
* @see org.eclipse.ui.plugin.AbstractUIPlugin#shutdown()
*/
public void shutdown() throws CoreException {
- super.shutdown();
-
+ super.shutdown();
+
// externalTools.shutDown();
ColorManager.getDefault().dispose();
indexManager = (IdentifierIndexManager) iterator.next();
indexManager.writeFile();
}
-
+
}
public void startup() throws CoreException {