Eclipse Platform
Release 3.3

org.eclipse.debug.ui
Interface IInstructionPointerPresentation

All Superinterfaces:
IBaseLabelProvider, IDebugModelPresentation, ILabelProvider, ISourcePresentation

public interface IInstructionPointerPresentation
extends IDebugModelPresentation

A debug model presentation may implement this interface to override standard annotations used to display instruction pointers for stack frames.

A client has several options when overriding default instruction pointer annotations, and the debug platform uses the following prioritized order when computing an annotation for a stack frame.

  1. Specify the annotation object to use. This is done by returning a non-null value from getInstructionPointerAnnotation(..).
  2. Specify an annotationType extension to use. This is done by returning a non-null value from getInstructionPointerAnnotationType(..). When specified, the annotation type controls the image displayed via its associated markerAnnotationSpecification.
  3. Specify the image to use. This is done by returning a non-null value from getInstructionPointerImage(..).
Additionally, when specifying an annotation type or image the text for the instruction pointer may be specified by returning a non-null value from getInstructionPointerText(..).

These methods are called when the debugger has opened an editor to display source for the given stack frame. The image will be positioned based on stack frame line number and character ranges.

By default, the debug platform uses different annotations for top stack frames and non-top stack frames in a thread. The default platform annotations are contributed as annotationType extensions with the identifiers IDebugUIConstants.ANNOTATION_INSTRUCTION_POINTER_CURRENT and IDebugUIConstants.ANNOTAION_INSTRUCTION_POINTER_SECONDARY.

Clients implementing a debug model presentation may also implement this interface.

Since:
3.2

Field Summary
 
Fields inherited from interface org.eclipse.debug.ui.IDebugModelPresentation
DISPLAY_VARIABLE_TYPE_NAMES
 
Method Summary
 Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame)
          Returns an annotation used for the specified stack frame in the specified editor, or null if a default annotation should be used.
 String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame)
          Returns an identifier of a org.eclipse.ui.editors.annotationTypes extension used for the specified stack frame in the specified editor, or null if a default annotation should be used.
 Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame)
          Returns the instruction pointer image used for the specified stack frame in the specified editor, or null if a default image should be used.
 String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame)
          Returns the text to associate with the instruction pointer annotation used for the specified stack frame in the specified editor, or null if a default message should be used.
 
Methods inherited from interface org.eclipse.debug.ui.IDebugModelPresentation
computeDetail, getImage, getText, setAttribute
 
Methods inherited from interface org.eclipse.jface.viewers.IBaseLabelProvider
addListener, dispose, isLabelProperty, removeListener
 
Methods inherited from interface org.eclipse.debug.ui.ISourcePresentation
getEditorId, getEditorInput
 

Method Detail

getInstructionPointerAnnotation

public Annotation getInstructionPointerAnnotation(IEditorPart editorPart,
                                                  IStackFrame frame)
Returns an annotation used for the specified stack frame in the specified editor, or null if a default annotation should be used.

Parameters:
editorPart - the editor the debugger has opened
frame - the stack frame for which the debugger is displaying source
Returns:
annotation or null

getInstructionPointerAnnotationType

public String getInstructionPointerAnnotationType(IEditorPart editorPart,
                                                  IStackFrame frame)
Returns an identifier of a org.eclipse.ui.editors.annotationTypes extension used for the specified stack frame in the specified editor, or null if a default annotation should be used.

Parameters:
editorPart - the editor the debugger has opened
frame - the stack frame for which the debugger is displaying source
Returns:
annotation type identifier or null

getInstructionPointerImage

public Image getInstructionPointerImage(IEditorPart editorPart,
                                        IStackFrame frame)
Returns the instruction pointer image used for the specified stack frame in the specified editor, or null if a default image should be used.

By default, the debug platform uses different images for top stack frames and non-top stack frames in a thread.

Parameters:
editorPart - the editor the debugger has opened
frame - the stack frame for which the debugger is displaying source
Returns:
image or null

getInstructionPointerText

public String getInstructionPointerText(IEditorPart editorPart,
                                        IStackFrame frame)
Returns the text to associate with the instruction pointer annotation used for the specified stack frame in the specified editor, or null if a default message should be used.

By default, the debug platform uses different images for top stack frames and non-top stack frames in a thread.

Parameters:
editorPart - the editor the debugger has opened
frame - the stack frame for which the debugger is displaying source
Returns:
message or null

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.