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

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
                      extended by org.eclipse.xtext.ui.editor.embedded.TextViewerOperationAction
All Implemented Interfaces:
org.eclipse.jface.action.IAction, org.eclipse.ui.texteditor.IUpdate

public class TextViewerOperationAction
extends TextViewerAction

An action which gets a text operation target from its text editor.

The action is initially associated with a text editor via the constructor, but can subsequently be changed using setEditor.

If this class is used as is, it works by asking the text editor for its text operation target adapter (using getAdapter(ITextOperationTarget.class). The action runs this operation with the pre-configured opcode.

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
TextViewerOperationAction(java.util.ResourceBundle bundle, java.lang.String prefix, org.eclipse.jface.text.ITextViewer viewer, int operationCode)
          Creates and initializes the action for the given text editor and operation code.
TextViewerOperationAction(java.util.ResourceBundle bundle, java.lang.String prefix, org.eclipse.jface.text.ITextViewer viewer, int operationCode, boolean runsOnReadOnly)
          Creates and initializes the action for the given text editor and operation code.
 
Method Summary
 void run()
          The TextOperationAction implementation of this IAction method runs the operation with the current operation code.
 void setViewer(org.eclipse.jface.text.ITextViewer viewer)
          Retargets this action to the given editor.
 void update()
          The TextOperationAction implementation of this IUpdate method discovers the operation through the current editor's ITextOperationTarget adapter, and sets the enabled state accordingly.
 
Methods inherited from class org.eclipse.xtext.ui.editor.embedded.TextViewerAction
canModifyViewer, getSelection, getTextViewer
 
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
 
Methods inherited from interface org.eclipse.jface.action.IAction
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

TextViewerOperationAction

public TextViewerOperationAction(java.util.ResourceBundle bundle,
                                 java.lang.String prefix,
                                 org.eclipse.jface.text.ITextViewer viewer,
                                 int operationCode)
Creates and initializes the action for the given text editor and operation code. The action configures its visual representation from the given resource bundle. The action works by asking the text editor at the time for its text operation target adapter (using getAdapter(ITextOperationTarget.class). The action runs that operation with the given opcode.

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
operationCode - the operation code
See Also:
TextViewerAction.TextViewerAction(ResourceBundle, String, ITextViewer)

TextViewerOperationAction

public TextViewerOperationAction(java.util.ResourceBundle bundle,
                                 java.lang.String prefix,
                                 org.eclipse.jface.text.ITextViewer viewer,
                                 int operationCode,
                                 boolean runsOnReadOnly)
Creates and initializes the action for the given text editor and operation code. The action configures its visual representation from the given resource bundle. The action works by asking the text editor at the time for its text operation target adapter (using getAdapter(ITextOperationTarget.class). The action runs that operation with the given opcode.

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
operationCode - the operation code
runsOnReadOnly - true if action can be executed on read-only files
See Also:
TextViewerAction.TextViewerAction(ResourceBundle, String, ITextViewer)
Method Detail

run

public void run()
The TextOperationAction implementation of this IAction method runs the operation with the current operation code.

Specified by:
run in interface org.eclipse.jface.action.IAction
Overrides:
run in class org.eclipse.jface.action.Action

update

public void update()
The TextOperationAction implementation of this IUpdate method discovers the operation through the current editor's ITextOperationTarget adapter, and sets the enabled state accordingly.

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

setViewer

public void setViewer(org.eclipse.jface.text.ITextViewer viewer)
Description copied from class: TextViewerAction
Retargets this action to the given editor.

Overrides:
setViewer in class TextViewerAction
Parameters:
viewer - the new viewer, or null if none