# Class SearchAction

java.lang.Object
org.eclipse.help.ui.internal.SearchAction

All Implemented Interfaces:
  `IActionDelegate, IWorkbenchWindowActionDelegate`

public class SearchAction extends Object implements IWorkbenchWindowActionDelegate

## Constructor Summary

Constructors
Constructor
Description
`SearchAction()`

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose()`
Disposes this action delegate.
`void`
`init(IWorkbenchWindow window)`
Initializes this action delegate with the workbench window it will work in.
`void`
`run(IAction action)`
Performs this action.
`void`
`selectionChanged(IAction action, ISelection selection)`
Notifies this action delegate that the selection in the workbench has changed.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SearchAction

public SearchAction()

## Method Details

### dispose

public void dispose()
Description copied from interface: `IWorkbenchWindowActionDelegate`
Disposes this action delegate. The implementor should unhook any references to itself so that garbage collection can occur.

Specified by:
  `dispose` in interface `IWorkbenchWindowActionDelegate`

### init

public void init(IWorkbenchWindow window)
Description copied from interface: `IWorkbenchWindowActionDelegate`
Initializes this action delegate with the workbench window it will work in.

Specified by:
  `init` in interface `IWorkbenchWindowActionDelegate`
Parameters:
  `window` - the window that provides the context for this delegate

### run

public void run(IAction action)
Description copied from interface: `IActionDelegate`
Performs this action.

This method is called by the proxy action when the action has been triggered. Implement this method to do the actual work.

Note: If the action delegate also implements `IActionDelegate2`, then this method is not invoked but instead the `runWithEvent(IAction, Event)` method is called.

Specified by:
  `run` in interface `IActionDelegate`
Parameters:
  `action` - the action proxy that handles the presentation portion of the action

### selectionChanged

public void selectionChanged(IAction action, ISelection selection)
Description copied from interface: `IActionDelegate`
Notifies this action delegate that the selection in the workbench has changed.

Implementers can use this opportunity to change the availability of the action or to modify other presentation properties.

When the selection changes, the action enablement state is updated based on the criteria specified in the plugin.xml file. Then the delegate is notified of the selection change regardless of whether the enablement criteria in the plugin.xml file is met.

Specified by:
  `selectionChanged` in interface `IActionDelegate`
Parameters:
  `action` - the action proxy that handles presentation portion of the action
  `selection` - the current selection, or `null` if there is no selection.