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

Modifier and Type
Method
Description
`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 Details

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

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