bndtools.editor.pages.ApplyCompletionProposalAction Maven / Gradle / Ivy
The newest version!
package bndtools.editor.pages;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.texteditor.ITextEditor;
public class ApplyCompletionProposalAction extends Action {
private final ICompletionProposal proposal;
private final ITextEditor textEditor;
private final FormEditor mainEditor;
private final String switchToPageId;
public ApplyCompletionProposalAction(ICompletionProposal proposal, ITextEditor textEditor, FormEditor mainEditor,
String switchToPageId) {
this.proposal = proposal;
this.textEditor = textEditor;
this.mainEditor = mainEditor;
this.switchToPageId = switchToPageId;
}
@Override
public String getText() {
return proposal.getDisplayString();
}
@Override
public void run() {
assert (proposal != null);
assert (textEditor != null);
assert (mainEditor != null);
assert (switchToPageId != null);
mainEditor.setActivePage(switchToPageId);
IDocument document = textEditor.getDocumentProvider()
.getDocument(mainEditor.getEditorInput());
proposal.apply(document);
Point selection = proposal.getSelection(document);
if (selection != null)
textEditor.selectAndReveal(selection.x, 0);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy