org.eclipse.xtext.ui.editor.embedded
Class TextViewerAction

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.jface.action.AbstractAction
          extended by org.eclipse.jface.action.Action
              extended by org.eclipse.ui.texteditor.ResourceAction
                  extended by org.eclipse.xtext.ui.editor.embedded.TextViewerAction
All Implemented Interfaces:
org.eclipse.jface.action.IAction, org.eclipse.ui.texteditor.IUpdate
Direct Known Subclasses:
TextViewerDeleteLineAction, TextViewerJoinLinesAction, TextViewerMarkAction, TextViewerMoveLinesAction, TextViewerOperationAction, TextViewerShiftAction

public abstract class TextViewerAction
extends org.eclipse.ui.texteditor.ResourceAction
implements org.eclipse.ui.texteditor.IUpdate

Skeleton of a standard text viewer action. The action is initially associated with a text viewer via the constructor, but can subsequently be changed using setViewer(ITextViewer) Subclasses must implement the run method and if required override the update method.

Subclasses that may modify the editor content should use canModifyViewer() in their update code to check whether updating the viewer is possible.

Since:
2.3
Author:
Sebastian Zarnekow - Initial contribution and API

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
protected TextViewerAction(java.util.ResourceBundle bundle, java.lang.String prefix)
          Make sure the Viewer in set after calling this constructor and before calling update()
protected TextViewerAction(java.util.ResourceBundle bundle, java.lang.String prefix, org.eclipse.jface.text.ITextViewer viewer)
          Creates and initializes the action for the given text editor.
protected TextViewerAction(java.util.ResourceBundle bundle, java.lang.String prefix, org.eclipse.jface.text.ITextViewer viewer, int style)
          Creates and initializes the action for the given text editor.
 
Method Summary
protected  boolean canModifyViewer()
          Checks the viewer's modifiable state.
protected  org.eclipse.jface.text.ITextSelection getSelection(org.eclipse.jface.text.ITextViewer viewer)
          Returns the viewer's selection.
protected  org.eclipse.jface.text.ITextViewer getTextViewer()
          Returns the action's text editor.
 void setViewer(org.eclipse.jface.text.ITextViewer viewer)
          Retargets this action to the given editor.
 void update()
          Always enables this action if it is connected to a text editor.
 
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, run, 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
 
Methods inherited from interface org.eclipse.jface.action.IAction
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

TextViewerAction

protected TextViewerAction(java.util.ResourceBundle bundle,
                           java.lang.String prefix,
                           org.eclipse.jface.text.ITextViewer viewer)
Creates and initializes the 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
viewer - the text viewer
See Also:
ResourceAction.ResourceAction(ResourceBundle, String)

TextViewerAction

protected TextViewerAction(java.util.ResourceBundle bundle,
                           java.lang.String prefix)
Make sure the Viewer in set after calling this constructor and before calling update()


TextViewerAction

protected TextViewerAction(java.util.ResourceBundle bundle,
                           java.lang.String prefix,
                           org.eclipse.jface.text.ITextViewer viewer,
                           int style)
Creates and initializes the 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
viewer - the text editor
style - the style of this action
See Also:
ResourceAction.ResourceAction(ResourceBundle, String, int)
Method Detail

getTextViewer

protected org.eclipse.jface.text.ITextViewer getTextViewer()
Returns the action's text editor.

Returns:
the action's text editor

setViewer

public void setViewer(org.eclipse.jface.text.ITextViewer viewer)
Retargets this action to the given editor.

Parameters:
viewer - the new viewer, or null if none

update

public void update()
Always enables this action if it is connected to a text editor. If the associated editor is null, the action is disabled. Subclasses may override.

Specified by:
update in interface org.eclipse.ui.texteditor.IUpdate

canModifyViewer

protected boolean canModifyViewer()
Checks the viewer's modifiable state. Returns true if the viewer can be modified

Returns:
true if a modifying action should be enabled, false otherwise

getSelection

protected org.eclipse.jface.text.ITextSelection getSelection(org.eclipse.jface.text.ITextViewer viewer)
Returns the viewer's selection.

Parameters:
viewer - the viewer
Returns:
the viewer's selection