Eclipse Platform
2.0

org.eclipse.ui.texteditor
Class AddMarkerAction

java.lang.Object
  |
  +--org.eclipse.jface.action.Action
        |
        +--org.eclipse.ui.texteditor.ResourceAction
              |
              +--org.eclipse.ui.texteditor.TextEditorAction
                    |
                    +--org.eclipse.ui.texteditor.AddMarkerAction
All Implemented Interfaces:
IAction, IUpdate
Direct Known Subclasses:
AddTaskAction

public class AddMarkerAction
extends TextEditorAction

Action for creating a marker of a specified type for the editor's input element based on the editor's selection. If required, the action asks the user to provide a marker label. The action is initially associated with a text editor via the constructor, but that can be subsequently changed using setEditor.

The following keys, prepended by the given option prefix, are used for retrieving resources from the given bundle:

This class may be instantiated but is not intended for subclassing.


Field Summary
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, CHECKED, DESCRIPTION, ENABLED, IMAGE, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
AddMarkerAction(ResourceBundle bundle, String prefix, ITextEditor textEditor, String markerType, boolean askForLabel)
          Creates a new action for the given text editor.
 
Method Summary
protected  boolean askForLabel(Map attributes)
          Asks the user for a marker label.
protected  Map getInitialAttributes()
          Returns the attributes the new marker will be initialized with.
protected  String getLabelProposal(IDocument document, int offset, int length)
          Returns the initial label for the marker.
protected  IResource getResource()
          Returns the resource on 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.
 void run()
          The default implementation of this IAction method does nothing.
 void update()
          Always enables this action if it is connected to a text editor.
 
Methods inherited from class org.eclipse.ui.texteditor.TextEditorAction
getTextEditor, setEditor
 
Methods inherited from class org.eclipse.ui.texteditor.ResourceAction
getString, setHelpContextId
 
Methods inherited from class org.eclipse.jface.action.Action
addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, removeAcceleratorText, removePropertyChangeListener, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AddMarkerAction

public AddMarkerAction(ResourceBundle bundle,
                       String prefix,
                       ITextEditor textEditor,
                       String markerType,
                       boolean askForLabel)
Creates a new action for the given text 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
markerType - the type of marker to add
askForLabel - true if the user should be asked for a label for the new marker
See Also:
ResourceAction.ResourceAction(java.util.ResourceBundle, java.lang.String)
Method Detail

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

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 run(Event) if they do.

Specified by:
run in interface IAction
Overrides:
run in class Action

update

public void update()
Description copied from class: TextEditorAction
Always enables this action if it is connected to a text editor. If the asocciated editor is null, the action is disabled. Subclasses may override.

Specified by:
update in interface IUpdate
Overrides:
update in class TextEditorAction

askForLabel

protected boolean askForLabel(Map attributes)
Asks the user for a marker label. Returns true if a label is entered, false if the user cancels the input dialog. The value for the attribute message is modified in the given attribute map.

Parameters:
attributes - the attributes map
Returns:
true if a label has been entered

getInitialAttributes

protected Map getInitialAttributes()
Returns the attributes the new marker will be initialized with. Subclasses may extend or replace this method.

Returns:
the attributes the new marker will be initialized with

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

getResource

protected IResource getResource()
Returns the resource on which to create the marker, or null if there is no applicable resource. This queries the editor's input using getAdapter(IResource.class). Subclasses may override this method.

Returns:
the resource to which to attach the newly created marker

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.