Package org.eclipse.jface.action

# Interface ExternalActionManager.ICallback

All Known Subinterfaces:
  `ExternalActionManager.IBindingManagerCallback`

All Known Implementing Classes:
  `ExternalActionManager.CommandCallback`

Enclosing class:
  ExternalActionManager

public static interface ExternalActionManager.ICallback
A callback mechanism for some external tool to communicate extra information to actions and action contribution items.

Since:
  3.0

## Method Summary

Modifier and Type
Method
Description
`void`
`addPropertyChangeListener(String identifier, IPropertyChangeListener listener)`
Adds a listener to the object referenced by `identifier`.
`Integer`
`getAccelerator(String identifier)`
An accessor for the accelerator associated with the item indicated by the identifier.
`String`
`getAcceleratorText(String identifier)`
An accessor for the accelerator text associated with the item indicated by the identifier.
`boolean`
`isAcceleratorInUse(int accelerator)`
Checks to see whether the given accelerator is being used by some other mechanism (outside of the menus controlled by JFace).
`boolean`
`isActive(String identifier)`
Checks whether the item matching this identifier is active.
`void`
`removePropertyChangeListener(String identifier, IPropertyChangeListener listener)`
Removes a listener from the object referenced by `identifier`.

## Method Details

### addPropertyChangeListener

void addPropertyChangeListener(String identifier, IPropertyChangeListener listener)

Adds a listener to the object referenced by `identifier`. This listener will be notified if a property of the item is to be changed. This identifier is specific to mechanism being used. In the case of the Eclipse workbench, this is the command identifier.

Has no effect if an identical listener has already been added for the `identifier`.

Parameters:
  `identifier` - The identifier of the item to which the listener should be attached; must not be `null`.
  `listener` - The listener to be added; must not be `null`.

### getAccelerator

Integer getAccelerator(String identifier)
An accessor for the accelerator associated with the item indicated by the identifier. This identifier is specific to mechanism being used. In the case of the Eclipse workbench, this is the command identifier.

Parameters:
  `identifier` - The identifier of the item from which the accelerator should be obtained ; must not be `null`.
Returns:
  An integer representation of the accelerator. This is the same accelerator format used by SWT.

### getAcceleratorText

String getAcceleratorText(String identifier)
An accessor for the accelerator text associated with the item indicated by the identifier. This identifier is specific to mechanism being used. In the case of the Eclipse workbench, this is the command identifier.

Parameters:
  `identifier` - The identifier of the item from which the accelerator text should be obtained ; must not be `null`.
Returns:
  A string representation of the accelerator. This is the string representation that should be displayed to the user.

### isAcceleratorInUse

boolean isAcceleratorInUse(int accelerator)
Checks to see whether the given accelerator is being used by some other mechanism (outside of the menus controlled by JFace). This is used to keep JFace from trying to grab accelerators away from someone else.

Parameters:
  `accelerator` - The accelerator to check -- in SWT's internal accelerator format.
Returns:
  `true` if the accelerator is already being used and shouldn't be used again; `false` otherwise.

### isActive

boolean isActive(String identifier)
Checks whether the item matching this identifier is active. This is used to decide whether a contribution item with this identifier should be made visible. An inactive item is not visible.

Parameters:
  `identifier` - The identifier of the item from which the active state should be retrieved; must not be `null`.
Returns:
  `true` if the item is active; `false` otherwise.

### removePropertyChangeListener

void removePropertyChangeListener(String identifier, IPropertyChangeListener listener)
Removes a listener from the object referenced by `identifier`. This identifier is specific to mechanism being used. In the case of the Eclipse workbench, this is the command identifier.

Parameters:
  `identifier` - The identifier of the item to from the listener should be removed; must not be `null`.
  `listener` - The listener to be removed; must not be `null`.