В классе обработчика, расширяющем AbstractHandler
, вы можете использовать метод HandlerUtil
для получения различной информации из события выполнения.
Для текущего выбора вы можете использовать:
IStructuredSelection sel = HandlerUtil.getCurrentStructuredSelection(event);
где event
- это ExecutionEvent
, передаваемый обработчику.
Чтобы получить любой ресурс (например, IFile
), содержащийся в выделении, используйте:
IResource resource = Adapters.adapt(sel.getFirstElement(), IResource.class);
(выможет также быть в состоянии адаптироваться непосредственно к IFile
).
Примечание: и getCurrentStructuredSelection
, и Adapters
имеются только в сравнительно недавних версиях Eclipse.Для более старых версий код немного сложнее.