Java 类org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel 实例源码
项目:tlaplus
文件:EditorUtil.java
/**
* Gets the current {@link Position} of the marker in the
* {@link TLAEditor} showing the module that contains the
* marker. Returns null if there is no editor open on that module.
* This method assumes that {@link TLAEditor}s are synchronized. That
* is, multiple editors on the same module are synchronized. At the time
* of writing this method (June 2010), they are synchronized.
*
* @param marker
* @return
*/
public static Position getMarkerPosition(IMarker marker)
{
TLAEditor editor = findTLAEditor(marker.getResource());
if (editor != null)
{
IAnnotationModel annotationModel = editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput());
/*
* From exploration of eclipse's code, I've determined that this
* should be an instance of ResourceMarkerAnnotationModel. If this is
* not always true, then we need to figure out a way to get a hold of the
* annotation model that manages positions of markers in the editor.
*/
if (annotationModel instanceof ResourceMarkerAnnotationModel)
{
return ((ResourceMarkerAnnotationModel) annotationModel).getMarkerPosition(marker);
} else
{
Activator.getDefault().logDebug("Cannot get the annotation model that manages marker positions for the marker on "
+ marker.getResource());
}
}
return null;
}
项目:APICloud-Studio
文件:ExternalFileAnnotationModelFactory.java
public IAnnotationModel createAnnotationModel(IPath location)
{
try
{
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(location);
if (file != null && file.exists())
{
return new ResourceMarkerAnnotationModel(file);
}
}
catch (Exception e)
{
}
return new ExternalFileAnnotationModel(EFS.getLocalFileSystem().getStore(location));
}