Class QuickFixAdapter

java.lang.Object
org.eclipse.ui.views.markers.WorkbenchMarkerResolution
com.iizigo.quickfix.QuickFixAdapter
All Implemented Interfaces:
IQuickFixer, org.eclipse.ui.IMarkerResolution, org.eclipse.ui.IMarkerResolution2
Direct Known Subclasses:
CloseProjectQuickFixer, CreateModuleFolders, DeleteFile, DeleteProperty, DeleteRect, GotoProperty, RecoverModuleSettings, RenameResource

public abstract class QuickFixAdapter extends org.eclipse.ui.views.markers.WorkbenchMarkerResolution implements IQuickFixer
The quick-fixes adapter class to Eclipse. It handles resolution of quick-fixes that can be grouped with others that are similar to allow multi-selection.
Author:
Christopher Mindus
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Checks if this resolution can be grouped together with other ones.
    org.eclipse.core.resources.IMarker[]
    findOtherMarkers(org.eclipse.core.resources.IMarker[] markers)
    Iterate through the list of supplied markers.
    Returns optional additional information about the resolution.
    org.eclipse.swt.graphics.Image
    Returns the image to be displayed in the list of resolutions.
    abstract String
    Returns a short label indicating what the resolution will do.
    org.eclipse.core.resources.IMarker
    Gets the marker if the isMarkerRequired() is true.
    boolean
    Indicates if the label returned and also the description depends on the marker selected.
    abstract void
    run(org.eclipse.core.resources.IMarker marker)
    Runs this resolution.
    void
    setMarker(org.eclipse.core.resources.IMarker marker)
    Call to set the marker in a new instance of the quick-fixer.

    Methods inherited from class org.eclipse.ui.views.markers.WorkbenchMarkerResolution

    run

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • QuickFixAdapter

      public QuickFixAdapter()
  • Method Details

    • getDescription

      public String getDescription()
      Returns optional additional information about the resolution. The additional information will be presented to assist the user in deciding if the selected proposal is the desired choice.
      Specified by:
      getDescription in interface org.eclipse.ui.IMarkerResolution2
      Returns:
      the additional information or null
    • getImage

      public org.eclipse.swt.graphics.Image getImage()
      Returns the image to be displayed in the list of resolutions. The image would typically be shown to the left of the display string.
      Specified by:
      getImage in interface org.eclipse.ui.IMarkerResolution2
      Returns:
      the image to be shown or null if no image is desired
    • getLabel

      public abstract String getLabel()
      Returns a short label indicating what the resolution will do.
      Specified by:
      getLabel in interface org.eclipse.ui.IMarkerResolution
      Specified by:
      getLabel in interface IQuickFixer
      Returns:
      a short label for this resolution
    • isMarkerRequired

      public boolean isMarkerRequired()
      Indicates if the label returned and also the description depends on the marker selected. In case this method returns true, a new Quick-Fix of the same instance is created followed by setMarker(marker). The implementation of getLabel() can therefore be redirected to getLabel(marker) instead.
      Specified by:
      isMarkerRequired in interface IQuickFixer
      Returns:
      false by default.
    • setMarker

      public void setMarker(org.eclipse.core.resources.IMarker marker)
      Call to set the marker in a new instance of the quick-fixer.
      Specified by:
      setMarker in interface IQuickFixer
      Parameters:
      marker - The marker.
    • getMarker

      public org.eclipse.core.resources.IMarker getMarker()
      Gets the marker if the isMarkerRequired() is true.
    • run

      public abstract void run(org.eclipse.core.resources.IMarker marker)
      Runs this resolution.
      Specified by:
      run in interface org.eclipse.ui.IMarkerResolution
      Specified by:
      run in interface IQuickFixer
      Parameters:
      marker - the marker to resolve
    • canBeGrouped

      public boolean canBeGrouped()
      Checks if this resolution can be grouped together with other ones. By default it can be grouped, but e.g. the "Go to Property" should not be grouped (you can't go to several places at once).
      Returns:
      true by default, override to return false for e.g. the "Go to Property" quick-fixer.
    • findOtherMarkers

      public org.eclipse.core.resources.IMarker[] findOtherMarkers(org.eclipse.core.resources.IMarker[] markers)
      Iterate through the list of supplied markers. Return any that can also have the receiver applied to them.
      Specified by:
      findOtherMarkers in class org.eclipse.ui.views.markers.WorkbenchMarkerResolution
      Parameters:
      markers - The array of markers.
      Returns:
      IMarker[]