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

Modifier and Type
Method
Description
`protected final IMarker`
`chooseMarker(List<? extends IMarker> markers)`
Chooses the marker with the highest layer.
`protected final IAnnotationAccessExtension`
`getAnnotationAccessExtension()`
Returns the annotation access extension.
`protected final AbstractMarkerAnnotationModel`
`getAnnotationModel()`
Returns the `AbstractMarkerAnnotationModel` of the editor's input.
`protected final IDocument`
`getDocument()`
Returns the `IDocument` of the editor's input.
`protected final List<IMarker>`
`getMarkers()`
Returns all markers which include the ruler's line of activity.
`protected final IResource`
`getResource()`
Returns the resource for which to create the marker, or `null` if there is no applicable resource.
`protected final void`
`handleCoreException(CoreException exception, String message)`
Handles core exceptions.
`protected final boolean`
`hasMarkers()`
Returns `true` iff there are any markers which include the ruler's line of activity.
`protected final 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 ResourceAction

`getString, initialize, setHelpContextId`

### Methods inherited from class 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 AbstractAction

`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

### Methods inherited from class EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class Object

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

## Constructor Details

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

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