Eclipse RCP получает элементы по идентификатору - PullRequest
1 голос
/ 05 августа 2010

Я пока не очень хорошо знаю RCP, но я читал много документов.Я не знаю, имеет ли мой вопрос смысл;Я прошу прощения, если нет, и прошу, чтобы вы попытались понять, что я имею в виду, и нашли какой-то ответ.

У меня есть элемент представления дерева, в котором есть слушатель двойного щелчка.В другой части окна есть папка макета, которая содержит представления, которые должны быть инспекторами для элементов, по которым дважды щелкнули.

Единственный известный мне способ отображения другого инспектора:

getActivePage().showView(Inspector.ID). 

showView() не дает никакой возможности передавать дополнительную информацию в представление, поэтому он может знать, какой элемент проверять?

Ценятся указатели в разных направлениях.Учебник Vogel, кажется, не покрывает это, или я не понимаю этого.

Ответы [ 2 ]

0 голосов
/ 04 марта 2011

Вы можете использовать SelectionService.Представление Inspector должно быть зарегистрировано как SelectionListener.И другой вид с деревом должен зарегистрировать SelectionProvider.Этот вид должен прослушивать двойной щелчок в дереве, а затем обновлять выбор

0 голосов
/ 05 августа 2010

Вы можете проверить, поможет ли вам статья " Ссылка на редактор " .
То есть вместо того, чтобы пытаться получить доступ к правильному представлению, определите прослушиватель для редакторов:

private IPartListener2 partListener2 = new IPartListener2() {
  public void partActivated(IWorkbenchPartReference ref) {
    if (ref.getPart(true) instanceof IEditorPart)
      editorActivated(getViewSite().getPage().getActiveEditor());
}

Таким образом, вы можете вернуться к нужному Редактору и попросить Редактора все, что вам нужно, чтобы ваш View обновился соответствующим образом.

...