Модуль добавляет действие с изменяемыми целями для компонентов панели или редактора, реализуя 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); }
Это все, что требуется. Действие будет выполняться, когда пользователь выбирает его в меню или панели инструментов рабочей среды, а панель или редактор активны. Рабочая среда обрабатывает сведения, чтобы убедиться, что действие с изменяемыми целями всегда связано с текущим активным редактором или панелью.