Class AbstractExternalQuickfixProvider

java.lang.Object
com._1c.g5.v8.dt.bsl.ui.quickfix.AbstractExternalQuickfixProvider
Direct Known Subclasses:
FormAndCommandExportMethodQuickfix, StringLiteralAnnotationQuickfixProvider

public abstract class AbstractExternalQuickfixProvider extends Object
Class for expanding mechanism of quickfixes in Built-in language
This class contains some useful method for creating different quickfixes.
Implementation of this class should contains some special public method with special annotation Fix. Each this method providing quickfix for validation issue with code equals to argument of annotation Fix
Example of implementation:
 public class FooQuickfix
   extends AbstractExternalQuickfixProvider
 {
     @Fix(FooValidationIssueCode)
     public void doFooQickfix(final Issue issue, IssueResolutionAcceptor acceptor)
     {
         acceptor.accept(issue, "fooQuickfixTitle", "fooQuickfixExtensionTitle", imagesOfFooQuickfix, new ExternalQuickfixModification<ModelObject>(issue, ModelObject.class,
             new Function<ModelObject, TextEdit>()
             {
                 @Override
                 public TextEdit apply(ModelObject method)
                 {
                     //foo qiuckfix action for creating text changes
                 }
             }));
     }
 }
 
  • Constructor Details

    • AbstractExternalQuickfixProvider

      public AbstractExternalQuickfixProvider()
  • Method Details

    • getTextViewer

      protected org.eclipse.jface.text.ITextViewer getTextViewer(org.eclipse.xtext.ui.editor.model.edit.IModificationContext context)
      Gets ITextViewer from IModificationContext
      Parameters:
      context - actual IModificationContext of quickfix, can't be null
      Returns:
      ITextViewer from IModificationContext or null it there is no implementation of ITextViewer for this IModificationContext
    • selectAndReveal

      protected void selectAndReveal(org.eclipse.jface.text.ITextViewer viewer, int posStart, int length)
      Selects and reveals some text from ITextViewer
      Parameters:
      viewer - actual ITextViewer, can't be null
      posStart - start position of selecting and revealing text in ITextViewer
      length - length of selecting and revealing area