Как открыть новый редактор с помощью dnd в Eclipse RCP 3 - PullRequest
0 голосов
/ 20 мая 2018

Мне нужно создать перетаскивание для моего приложения.

У меня есть дерево в левой части окна и пустая область редактора в правой части окна.Я хочу перетащить элемент из дерева и опуститься в правую часть.После этого должна открыться вкладка редактора.

Screenshot

Что я уже сделал: я создал кнопку, чтобы открыть редактор выбранного элемента дерева, и он работает.Когда я перетаскиваю элемент и помещаю его в существующий редактор, открывается новый редактор.Но я не могу сделать то же самое, когда у меня нет редактора (только пустая область редактора)

Пожалуйста, скажите мне, что я должен сделать или что я должен указать как цель для действия удаления.Заранее спасибо!

1 Ответ

0 голосов
/ 21 мая 2018

В классе помощника по работе с окнами WCP вашего RCP вам необходимо настроить типы переноса / отбрасывания области редактора и адаптер отбрасывания в методе preWindowOpen.

Например, в самом Eclipse используются:

public void preWindowOpen() {
    IWorkbenchWindowConfigurer configurer = getWindowConfigurer();

    configurer.addEditorAreaTransfer(EditorInputTransfer.getInstance());
    configurer.addEditorAreaTransfer(ResourceTransfer.getInstance());
    configurer.addEditorAreaTransfer(FileTransfer.getInstance());
    configurer.addEditorAreaTransfer(MarkerTransfer.getInstance());

    configurer.configureEditorAreaDropListener(new EditorAreaDropAdapter(
            configurer.getWindow()));

Обратите внимание, что EditorAreaDropAdapter является внутренним классом, поэтому вы не можете его использовать, вам придется написать свой собственный адаптер перетаскивания.Это, вероятно, в конечном итоге вызовет IWorbenchPage.openEditor

...