Interface IDebugModelPresentation
- All Superinterfaces:
IBaseLabelProvider
,ILabelProvider
,ISourcePresentation
- All Known Subinterfaces:
IDebugModelPresentationExtension
,IInstructionPointerPresentation
,IMemoryBlockTablePresentation
org.eclipse.debug.ui.debugModelPresentations
implement
this interface. Generally, a debug model implementation will also provide a
debug model presentation extension to render and display its elements. A
debug model presentation is registered for a specific debug model, and is
responsible for the presentation elements defined/implemented by that model.
A debug model presentation extension is defined in plugin.xml
.
Following is an example definition of a debug model presentation extension.
<extension point="org.eclipse.debug.ui.debugModelPresentations"> <debugModelPresentation id="com.example.debugModelIdentifier" class="com.example.ExamplePresentation" detailsViewerConfiguration="com.example.ExampleSourceViewerConfiguration"> </debugModelPresentation> </extension>The attributes are specified as follows:
id
specifies the identifier of the debug model this presentation is responsible for. Corresponds to the model identifier returned from a debug element - seeIDebugElement.getModelIndentifier
class
specifies the fully qualified name of the Java class that implements this interface.detailsViewerConfiguration
optionally specifies the fully qualified name of the Java class that is an instance oforg.eclipse.jface.text.source.SourceViewerConfiguration
. When specified, the source viewer configuration will be used in the "details" area of the variables and expressions view when displaying the details of an element from the debug model associated with this debug model presentation. When unspecified, a default configuration is used.
To allow for an extensible configuration, this interface defines a
setAttribute
method. The debug UI plug-in defines one
presentation attribute:
DISPLAY_VARIABLE_TYPE_NAMES
- This is a boolean attribute indicating whether variable elements should be rendered with the declared type of a variable. For example, a Java debug model presentation would render an integer as"int x = 3"
when true, and"x = 3"
when false.
Clients may define new presentation attributes. For example, a client may
wish to define a "hexadecimal" property to display numeric values in
hexadecimal. Implementations should honor the presentation attributes defined
by this interface where possible, but do not need to honor presentation
attributes defined by other clients. To access the debug model presentation
for a debug view, clients should use
IDebugView#getPresentation(String)
.
Since 3.1, debug model presentations may optionally implement
IColorProvider
and IFontProvider
to override
default fonts and colors for debug elements.
Clients may implement this interface.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Variable type names presentation property (value"org.eclipse.debug.ui.displayVariableTypeNames"
). -
Method Summary
Modifier and TypeMethodDescriptionvoid
computeDetail
(IValue value, IValueDetailListener listener) Computes a detailed description of the given value, reporting the result to the specified listener.Returns an image for the element, ornull
if a default image should be used.Returns a label for the element, ornull
if a default label should be used.void
setAttribute
(String attribute, Object value) Sets a presentation attribute of this label provider.Methods inherited from interface org.eclipse.jface.viewers.IBaseLabelProvider
addListener, dispose, isLabelProperty, removeListener
Methods inherited from interface org.eclipse.debug.ui.ISourcePresentation
getEditorId, getEditorInput
-
Field Details
-
DISPLAY_VARIABLE_TYPE_NAMES
Variable type names presentation property (value"org.eclipse.debug.ui.displayVariableTypeNames"
). WhenDISPLAY_VARIABLE_TYPE_NAMES
is set totrue
, this label provider should include the reference type of a variable when rendering variables. When set tofalse
, this label provider should not include the reference type of a variable when rendering variables.
-
-
Method Details
-
setAttribute
Sets a presentation attribute of this label provider. For example, see the presentation attributeDISPLAY_VARIABLE_TYPE_NAMES
defined by this interface.- Parameters:
attribute
- the presentation attribute identifiervalue
- the value of the attribute
-
getImage
Returns an image for the element, ornull
if a default image should be used.- Specified by:
getImage
in interfaceILabelProvider
- Parameters:
element
- the debug model element- Returns:
- an image for the element, or
null
if a default image should be used - See Also:
-
getText
Returns a label for the element, ornull
if a default label should be used.- Specified by:
getText
in interfaceILabelProvider
- Parameters:
element
- the debug model element- Returns:
- a label for the element, or
null
if a default label should be used - See Also:
-
computeDetail
Computes a detailed description of the given value, reporting the result to the specified listener. This allows a presentation to provide extra details about a selected value in the variable detail portion of the variables view. Since this can be a long-running operation, the details are reported back to the specified listener asynchronously. Ifnull
is reported, the value's value string is displayed (IValue.getValueString()
).- Parameters:
value
- the value for which a detailed description is requiredlistener
- the listener to report the details to asynchronously- Since:
- 2.0
-