use of org.eclipse.jface.text.contentassist.IContextInformationValidator in project eclipse.platform.text by eclipse.
the class BarContentAssistProcessor method getContextInformationValidator.
@Override
public IContextInformationValidator getContextInformationValidator() {
return new IContextInformationValidator() {
ITextViewer viewer;
int offset;
@Override
public void install(IContextInformation info, ITextViewer viewer, int offset) {
this.viewer = viewer;
this.offset = offset;
}
@Override
public boolean isContextInformationValid(int offset) {
try {
IDocument document = viewer.getDocument();
IRegion line = document.getLineInformationOfOffset(this.offset);
int end = line.getOffset() + line.getLength();
return (offset >= this.offset && offset < end);
} catch (BadLocationException e) {
return false;
}
}
};
}
use of org.eclipse.jface.text.contentassist.IContextInformationValidator in project eclipse.platform.text by eclipse.
the class ContextInformationPopup2 method internalShowContextInfo.
/**
* Displays the given context information for the given offset.
*
* @param information the context information
* @param offset the offset
* @since 2.0
*/
private void internalShowContextInfo(IContextInformation information, int offset) {
IContextInformationValidator validator = fContentAssistant.getContextInformationValidator(fViewer, offset);
if (validator != null) {
ContextFrame current = new ContextFrame();
current.fInformation = information;
current.fBeginOffset = (information instanceof IContextInformationExtension) ? ((IContextInformationExtension) information).getContextInformationPosition() : offset;
if (current.fBeginOffset == -1)
current.fBeginOffset = offset;
current.fOffset = offset;
current.fVisibleOffset = fViewer.getTextWidget().getSelectionRange().x - (offset - current.fBeginOffset);
current.fValidator = validator;
current.fPresenter = fContentAssistant.getContextInformationPresenter(fViewer, offset);
fContextFrameStack.push(current);
internalShowContextFrame(current, fContextFrameStack.size() == 1);
}
}
Aggregations