Как получить выбранный узел в проводнике пакетов от плагина Eclipse

Чтобы передать строку или любые данные с одного контроллера на другой в swift.

Выполняется следующие шаги:

1) Создать свойство в дочернем контроллере как var abc:string!

2) Создать объект childcontroller

let storyboard:UIStoryboard()
let viewController: childcontroller = storyboard.instantiateViewControllerWithIdentifier("childcontroller") as! childcontroller
viewController.abc = "hello";
self.navigationController.pushviewController(Controller:viewController animated:true CompletionHandler:nil)
17
задан Fabian Steeg 25 February 2009 в 14:06
поделиться

2 ответа

Первый шаг должен получить сервис выбора, например, от любого представления или редактора как это:

ISelectionService service = getSite().getWorkbenchWindow()
            .getSelectionService();

Или, , поскольку VonC записал , Вы могли получить его через PlatformUI, если Вы не находитесь ни один в представлении или редакторе.

Затем получите выбор для Проводника пакетов и бросьте его в IStructuredSelection:

IStructuredSelection structured = (IStructuredSelection) service
            .getSelection("org.eclipse.jdt.ui.PackageExplorer");

, От которого, можно получить выбранный IFile:

IFile file = (IFile) structured.getFirstElement();

Теперь для получения полного пути необходимо будет получить местоположение для IFile:

IPath path = file.getLocation();

, Который тогда можно наконец использовать для получения реального полного пути в файл (среди прочего):

System.out.println(path.toPortableString());

можно найти больше информации о сервисе выбора здесь: Используя Сервис Выбора .

32
ответ дан 30 November 2019 в 10:54
поделиться

Код был бы похож:

IWorkbenchWindow window =
    PlatformUI.getWorkbench().getActiveWorkbenchWindow();
ISelection selection = window.getSelectionService().getSelection("org.eclipse.jdt.ui.PackageExplorer");

представление You пример в Действии как это класс .

LuaFileWizardAction
15
ответ дан 30 November 2019 в 10:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: