Package org.eclipse.ui.texteditor

## Class SelectMarkerRulerAction

- 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.SelectMarkerRulerAction

All Implemented Interfaces:
  `IAction`, `IUpdate`

Direct Known Subclasses:
  `SelectMarkerRulerInfoAction`

    public class SelectMarkerRulerAction
    extends ResourceAction
    implements IUpdate

A ruler action which can select the textual range of a marker that has a visual representation in a vertical ruler.

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

Since:
  2.0, allowed to be subclassed since 3.5

### 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
`SelectMarkerRulerAction​(ResourceBundle bundle, String prefix, IVerticalRuler ruler, ITextEditor editor)` Deprecated. As of 3.0, replaced by `SelectMarkerRulerAction(ResourceBundle, String, ITextEditor, IVerticalRulerInfo)`
`SelectMarkerRulerAction​(ResourceBundle bundle, String prefix, ITextEditor editor, IVerticalRulerInfo ruler)` Creates a new action for the given ruler and editor.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected IMarker` `chooseMarker​(List<? extends IMarker> markers)` Chooses the marker with the highest layer.
`protected IAnnotationAccessExtension` `getAnnotationAccessExtension()` Returns the annotation access extension.
`protected AbstractMarkerAnnotationModel` `getAnnotationModel()` Returns the `AbstractMarkerAnnotationModel` of the editor's input.
`protected IDocument` `getDocument()` Returns the `IDocument` of the editor's input.
`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 void` `handleCoreException​(CoreException exception, String message)` Handles core exceptions.
`protected boolean` `hasMarkers()` Returns `true` iff there are any markers which include the ruler's line of activity.
`protected boolean` `includesRulerLine​(Position position, IDocument document)` Checks whether a position includes the ruler's line of activity.
`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

#### SelectMarkerRulerAction

    public SelectMarkerRulerAction​(ResourceBundle bundle,
                                   String prefix,
                                   ITextEditor editor,
                                   IVerticalRulerInfo ruler)

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
See Also:
  `ResourceAction(ResourceBundle, String)`

#### SelectMarkerRulerAction

    @Deprecated
    public SelectMarkerRulerAction​(ResourceBundle bundle,
                                   String prefix,
                                   IVerticalRuler ruler,
                                   ITextEditor editor)

Deprecated.
As of 3.0, replaced by `SelectMarkerRulerAction(ResourceBundle, String, ITextEditor, IVerticalRulerInfo)`
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

### Method Detail

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

#### chooseMarker

    protected final IMarker chooseMarker​(List<? extends IMarker> markers)

Chooses the marker with the highest layer. If there are multiple markers at the found layer, the first marker is taken.

Parameters:
  `markers` - the list of markers to choose from
Returns:
  the chosen marker or `null` if none of the given markers has a marker annotation in the model

#### getAnnotationAccessExtension

    protected final IAnnotationAccessExtension getAnnotationAccessExtension()

Returns the annotation access extension.

Returns:
  the annotation access extension or `null` if this action's editor has no such extension
Since:
  3.0

#### getResource

    protected final 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 final AbstractMarkerAnnotationModel getAnnotationModel()

Returns the `AbstractMarkerAnnotationModel` of the editor's input.

Returns:
  the marker annotation model or `null` if there's none

#### getDocument

    protected final IDocument getDocument()

Returns the `IDocument` of the editor's input.

Returns:
  the document of the editor's input

#### includesRulerLine

    protected final 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 final 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 final List<IMarker> getMarkers()

Returns all markers which include the ruler's line of activity.

Returns:
  an unmodifiable list with all markers which include the ruler's line of activity

#### hasMarkers

    protected final boolean hasMarkers()

Returns `true` iff there are any markers which include the ruler's line of activity.

Returns:
  `true` iff there are any markers which include the ruler's line of activity.
Since:
  3.3