Модуль добавляет действие с изменяемыми целями для компонентов панели или редактора, реализуя IAction и регистрируя его в качестве обработчика глобального действия в панелях действий компонента. Обычно это делается во время создания действий и управляющих элементов компонентом. Имя действия с изменяемыми целями (как указано в IWorkbenchActionConstants) используется для определения, для какого действия предназначен обработчик. Ниже приведен фрагмент, показывающий, как список задач рабочей среды регистрирует обработчики для действия PROPERTIES.
public void createPartControl(Composite parent) {
...
makeActions();
...
// Добавить обработчики глобальных действий.
...
getViewSite().getActionBars().setGlobalActionHandler(
IWorkbenchActionConstants.PROPERTIES,
propertiesAction);
...
Действие properties создано в локальном методе makeActions:
void makeActions() {
...
// свойства
propertiesAction = new TaskPropertiesAction(this, "properties");
propertiesAction.setText(TaskListMessages.getString("Properties.text"));
propertiesAction.setToolTipText(TaskListMessages.getString("Properties.tooltip"));
propertiesAction.setEnabled(false);
}
Это все, что требуется. Действие будет выполняться, когда пользователь выбирает его в меню или панели инструментов рабочей среды, а панель или редактор активны. Рабочая среда обрабатывает сведения, чтобы убедиться, что действие с изменяемыми целями всегда связано с текущим активным редактором или панелью.