Как получить выбранный файл в Package Explorer из Eclipse - PullRequest
2 голосов
/ 20 сентября 2010

У меня есть действие, которое реализует IObjectActionDelegate.В этом действии я хочу предварительно выполнить некоторые операции над файлом, который выбран в Package Explorer, когда я выбрал свое действие.У меня есть только метод run (IAction action), и ObjectAction фильтрует файлы, так что действие появляется только для тех файлов, которые мне нужны.

Я ищу какой-нибудь способ получить IFile из выбора, чтобы яможете выполнить мои действия над файлом.

Спасибо,

1 Ответ

0 голосов
/ 28 февраля 2013

Вот код для получения выбора.

if (selection instanceof IStructuredSelection) {
    IStructuredSelection ssel = (IStructuredSelection) selection;
    Object obj = ssel.getFirstElement();
    IFile file = (IFile) Platform.getAdapterManager().getAdapter(obj, IFile.class);

    if (file == null) {
        if (obj instanceof IAdaptable) {
            file = (IFile) ((IAdaptable) obj).getAdapter(IFile.class);
        }
    }

    if (file != null) {
        //Deal with the file
    }
}
...