Package org.eclipse.ui.texteditor

## Class MarkerRulerAction

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.jface.action.AbstractAction
    - - org.eclipse.jface.action.Action
      - - org.eclipse.ui.texteditor.ResourceAction
        - - org.eclipse.ui.texteditor.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.

### Field Summary

### Fields inherited from interface org.eclipse.jface.action.IAction

`AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT`

### Constructor Summary

Constructors
`MarkerRulerAction​(ResourceBundle bundle, String prefix, IVerticalRuler ruler, ITextEditor editor, String markerType, boolean askForLabel)` Deprecated. use `MarkerRulerAction(ResourceBundle, String, ITextEditor, IVerticalRulerInfo, String, boolean)` instead
`MarkerRulerAction​(ResourceBundle bundle, String prefix, ITextEditor editor, IVerticalRulerInfo ruler, String markerType, boolean askForLabel)` Creates a new action for the given ruler and editor.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected void` `addMarker()` Creates a new marker according to the specification of this action and adds it to the marker resource.
`protected boolean` `askForLabel​(Map<String,​Object> attributes)` Asks the user for a marker label.
`protected AbstractMarkerAnnotationModel` `getAnnotationModel()` Returns the `AbstractMarkerAnnotationModel` of the editor's input.
`protected IDocument` `getDocument()` Returns the `IDocument` of the editor's input.
`protected Map<String,​Object>` `getInitialAttributes()` Returns the attributes with which a newly created marker will be initialized.
`protected String` `getLabelProposal​(IDocument document, int offset, int length)` Returns the initial label for the marker.
`protected List<IMarker>` `getMarkers()` Returns all markers which include the ruler's line of activity.
`protected IResource` `getResource()` Returns the resource for which to create the marker, or `null` if there is no applicable resource.
`protected ResourceBundle` `getResourceBundle()` Returns this action's resource bundle.
`protected String` `getResourceKeyPrefix()` Returns this action's resource key prefix.
`protected ITextEditor` `getTextEditor()` Returns this action's text editor.
`protected IVerticalRuler` `getVerticalRuler()` Deprecated. use `getVerticalRulerInfo` instead
`protected IVerticalRulerInfo` `getVerticalRulerInfo()` Returns this action's vertical ruler info.
`protected void` `handleCoreException​(CoreException exception, String message)` Handles core exceptions.
`protected boolean` `includesRulerLine​(Position position, IDocument document)` Checks whether a position includes the ruler's line of activity.
`protected void` `removeMarkers​(List<? extends IMarker> markers)` Removes the given markers.
`void` `run()` The default implementation of this `IAction` method does nothing.
`void` `update()` Requests that this object update itself.

### Methods inherited from class org.eclipse.ui.texteditor.ResourceAction

`getString, initialize, setHelpContextId`

### Methods inherited from class org.eclipse.jface.action.Action

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

### Methods inherited from class org.eclipse.jface.action.AbstractAction

`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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