Class AbstractCodeMining
java.lang.Object
org.eclipse.jface.text.codemining.AbstractCodeMining
- All Implemented Interfaces:
ICodeMining
- Direct Known Subclasses:
DocumentFooterCodeMining,LineContentCodeMining,LineHeaderCodeMining
Abstract class for
ICodeMining.- Since:
- 3.13
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractCodeMining(Position position, ICodeMiningProvider provider, Consumer<MouseEvent> action) CodeMining constructor to locate the code mining in a given position. -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Dispose the mining.protected CompletableFuture<Void> doResolve(ITextViewer viewer, IProgressMonitor monitor) Returns the future which resolved the content of mining and null otherwise.draw(GC gc, StyledText textWidget, Color color, int x, int y) Draw thegetLabel()of mining with gray color.Returns the action to execute when mining is clicked and null otherwise.getLabel()Returns the label may be set early in the class lifecycle, or upon completion of the future provided byICodeMining.resolve(ITextViewer, IProgressMonitor)operation.Returns the line position where code mining must be displayed in the line spacing area.Returns the owner provider which has created this mining.booleanReturns whether the content mining is resolved.final CompletableFuture<Void> resolve(ITextViewer viewer, IProgressMonitor monitor) Returns the future to resolve the content of mining, orCompletableFuture.completedFuture(Object)if no such resolution is necessary (in which case {#isResolved()} is expected to returntrue).voidSet the label mining.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.jface.text.codemining.ICodeMining
getMouseHover, getMouseMove, getMouseOut
-
Constructor Details
-
AbstractCodeMining
protected AbstractCodeMining(Position position, ICodeMiningProvider provider, Consumer<MouseEvent> action) CodeMining constructor to locate the code mining in a given position.- Parameters:
position- the position where the mining must be drawn.provider- the owner codemining provider which creates this mining.action- the action to execute when mining is clicked and null otherwise.
-
-
Method Details
-
getPosition
Description copied from interface:ICodeMiningReturns the line position where code mining must be displayed in the line spacing area.- Specified by:
getPositionin interfaceICodeMining- Returns:
- the line position where code mining must be displayed in the line spacing area.
-
getProvider
Description copied from interface:ICodeMiningReturns the owner provider which has created this mining.- Specified by:
getProviderin interfaceICodeMining- Returns:
- the owner provider which has created this mining.
-
getLabel
Description copied from interface:ICodeMiningReturns the label may be set early in the class lifecycle, or upon completion of the future provided byICodeMining.resolve(ITextViewer, IProgressMonitor)operation.The returned label can have several values:
nullwhen mining is not resolvednullwhen mining is resolved means that mining was resolved with an error and it will not be displayed.- empty when mining is resolved means that mining will not be displayed
- non empty when mining must be displayed
- Specified by:
getLabelin interfaceICodeMining- Returns:
- the label may be set early in the class lifecycle, or upon completion of the future
provided by
ICodeMining.resolve(ITextViewer, IProgressMonitor)operation.
-
setLabel
Set the label mining.- Parameters:
label- the label mining.
-
resolve
Description copied from interface:ICodeMiningReturns the future to resolve the content of mining, orCompletableFuture.completedFuture(Object)if no such resolution is necessary (in which case {#isResolved()} is expected to returntrue).- Specified by:
resolvein interfaceICodeMining- Parameters:
viewer- the viewer.monitor- the monitor.- Returns:
- the future to resolve the content of mining, or
CompletableFuture.completedFuture(Object)if no such resolution is necessary (in which case {#isResolved()} is expected to returntrue).
-
doResolve
Returns the future which resolved the content of mining and null otherwise. By default, the resolve do nothing.- Parameters:
viewer- the viewermonitor- the monitor- Returns:
- the future which resolved the content of mining and null otherwise.
-
isResolved
public boolean isResolved()Description copied from interface:ICodeMiningReturns whether the content mining is resolved. If it is not resolved, {ICodeMining.resolve(ITextViewer, IProgressMonitor)} will be invoked later, triggering the future to resolve content.- Specified by:
isResolvedin interfaceICodeMining- Returns:
- whether the content mining is resolved. If it is not resolved,
{
ICodeMining.resolve(ITextViewer, IProgressMonitor)} will be invoked later, triggering the future to resolve content.
-
dispose
public void dispose()Description copied from interface:ICodeMiningDispose the mining. Typically shuts down or cancels all related asynchronous operations.- Specified by:
disposein interfaceICodeMining
-
draw
Draw thegetLabel()of mining with gray color. User can override this method to draw anything.- Specified by:
drawin interfaceICodeMining- Parameters:
gc- the graphics contexttextWidget- the text widget to draw oncolor- the color of the linex- the x position of the annotationy- the y position of the annotation- Returns:
- the size of the draw of mining.
-
getAction
Description copied from interface:ICodeMiningReturns the action to execute when mining is clicked and null otherwise.- Specified by:
getActionin interfaceICodeMining- Returns:
- the action to execute when mining is clicked and null otherwise.
-