# Class ShowWhitespaceCharactersAction

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.TextEditorAction
org.eclipse.ui.texteditor.ShowWhitespaceCharactersAction

All Implemented Interfaces:
  `IAction, IUpdate`

public class ShowWhitespaceCharactersAction extends TextEditorAction
This action toggles the display of whitespace characters by attaching/detaching an `WhitespaceCharacterPainter` to the associated text editor.

Note: Currently this action only works if the given editor inherits from `AbstractTextEditor`.

Since:
  3.3

## 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
`ShowWhitespaceCharactersAction(ResourceBundle resourceBundle, String prefix, ITextEditor editor, IPreferenceStore store)`
Construct the action and initialize its state.

## Method Summary

Modifier and Type
Method
Description
`void`
`run()`
The default implementation of this `IAction` method does nothing.
`void`
`setPreferenceStore(IPreferenceStore store)`
Sets the preference store of this action.
`void`
`update()`
Always enables this action if it is connected to a text editor.

### Methods inherited from class TextEditorAction

`canModifyEditor, getTextEditor, setEditor, validateEditorInputState`

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

### ShowWhitespaceCharactersAction

public ShowWhitespaceCharactersAction(ResourceBundle resourceBundle, String prefix, ITextEditor editor, IPreferenceStore store)
Construct the action and initialize its state.

Parameters:
  `resourceBundle` - the resource bundle to construct label and tooltip from
  `prefix` - the prefix to use for constructing resource bundle keys
  `editor` - the editor this action is associated with
  `store` - the preference store (may be `null`)

## Method Details

### setPreferenceStore

public void setPreferenceStore(IPreferenceStore store)
Sets the preference store of this action.

Parameters:
  `store` - the preference store

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

### update

public void update()
Description copied from class: `TextEditorAction`
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 `IUpdate`
Overrides:
  `update` in class `TextEditorAction`