Class MarkerRulerAction

  • All Implemented Interfaces:
    IAction, IUpdate
    Direct Known Subclasses:
    MarkerRulerInfoAction

    public class MarkerRulerAction
    extends ResourceAction
    implements IUpdate
    A ruler action which can add and remove markers which have a visual representation in the ruler.

    This class may be instantiated but is not intended for sub-classing.

    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • MarkerRulerAction

        public MarkerRulerAction​(ResourceBundle bundle,
                                 String prefix,
                                 ITextEditor editor,
                                 IVerticalRulerInfo ruler,
                                 String markerType,
                                 boolean askForLabel)
        Creates a new action for the given ruler and editor. The action configures its visual representation from the given resource bundle.
        Parameters:
        bundle - the resource bundle
        prefix - a prefix to be prepended to the various resource keys (described in ResourceAction constructor), or null if none
        editor - the editor
        ruler - the ruler
        markerType - the type of marker
        askForLabel - true if the user should be asked for a label when a new marker is created
        Since:
        2.0
        See Also:
        ResourceAction(ResourceBundle, String)
      • MarkerRulerAction

        @Deprecated
        public MarkerRulerAction​(ResourceBundle bundle,
                                 String prefix,
                                 IVerticalRuler ruler,
                                 ITextEditor editor,
                                 String markerType,
                                 boolean askForLabel)
        Deprecated.
        use MarkerRulerAction(ResourceBundle, String, ITextEditor, IVerticalRulerInfo, String, boolean) instead
        Creates a new action for the given ruler and editor. The action configures its visual representation from the given resource bundle.
        Parameters:
        bundle - the resource bundle
        prefix - a prefix to be prepended to the various resource keys
        ruler - the ruler
        editor - the editor
        markerType - the type of the marker
        askForLabel - true if the user should be asked for a label
    • Method Detail

      • getTextEditor

        protected ITextEditor getTextEditor()
        Returns this action's text editor.
        Returns:
        this action's text editor
      • getVerticalRuler

        @Deprecated
        protected IVerticalRuler getVerticalRuler()
        Deprecated.
        use getVerticalRulerInfo instead
        Returns this action's vertical ruler.
        Returns:
        this action's vertical ruler
      • getVerticalRulerInfo

        protected IVerticalRulerInfo getVerticalRulerInfo()
        Returns this action's vertical ruler info.
        Returns:
        this action's vertical ruler info
        Since:
        2.0
      • getResourceBundle

        protected ResourceBundle getResourceBundle()
        Returns this action's resource bundle.
        Returns:
        this action's resource bundle
      • getResourceKeyPrefix

        protected String getResourceKeyPrefix()
        Returns this action's resource key prefix.
        Returns:
        this action's resource key prefix
      • update

        public void update()
        Description copied from interface: IUpdate
        Requests that this object update itself.
        Specified by:
        update in interface IUpdate
      • run

        public void run()
        Description copied from class: Action
        The default implementation of this IAction method does nothing. Subclasses should override this method if they do not need information from the triggering event, or override runWithEvent(Event) if they do.
        Specified by:
        run in interface IAction
        Overrides:
        run in class Action
        See Also:
        How radio buttons are handled, How check boxes are handled
      • getResource

        protected IResource getResource()
        Returns the resource for which to create the marker, or null if there is no applicable resource.
        Returns:
        the resource for which to create the marker or null
      • getAnnotationModel

        protected AbstractMarkerAnnotationModel getAnnotationModel()
        Returns the AbstractMarkerAnnotationModel of the editor's input.
        Returns:
        the marker annotation model
      • getDocument

        protected IDocument getDocument()
        Returns the IDocument of the editor's input.
        Returns:
        the document of the editor's input
      • includesRulerLine

        protected boolean includesRulerLine​(Position position,
                                            IDocument document)
        Checks whether a position includes the ruler's line of activity.
        Parameters:
        position - the position to be checked
        document - the document the position refers to
        Returns:
        true if the line is included by the given position
      • handleCoreException

        protected void handleCoreException​(CoreException exception,
                                           String message)
        Handles core exceptions. This implementation logs the exceptions with the workbench plug-in and shows an error dialog.
        Parameters:
        exception - the exception to be handled
        message - the message to be logged with the given exception
      • getMarkers

        protected List<IMarker> getMarkers()
        Returns all markers which include the ruler's line of activity.
        Returns:
        all a list of markers which include the ruler's line of activity
      • addMarker

        protected void addMarker()
        Creates a new marker according to the specification of this action and adds it to the marker resource.
      • removeMarkers

        protected void removeMarkers​(List<? extends IMarker> markers)
        Removes the given markers.
        Parameters:
        markers - the markers to be deleted
      • askForLabel

        protected boolean askForLabel​(Map<String,​Object> attributes)
        Asks the user for a marker label. Returns true if a label is entered, false if the user cancels the input dialog. Sets the value of the attribute message in the given map of attributes.
        Parameters:
        attributes - the map of attributes
        Returns:
        true if the map of attributes has successfully been initialized
      • getInitialAttributes

        protected Map<String,​Object> getInitialAttributes()
        Returns the attributes with which a newly created marker will be initialized.
        Returns:
        the initial marker attributes
      • getLabelProposal

        protected String getLabelProposal​(IDocument document,
                                          int offset,
                                          int length)
        Returns the initial label for the marker.
        Parameters:
        document - the document from which to extract a label proposal
        offset - the document offset of the range from which to extract the label proposal
        length - the length of the range from which to extract the label proposal
        Returns:
        the label proposal
        Since:
        3.0