Как получить доступ к проводнику модели программно в Eclipse? - PullRequest
0 голосов
/ 22 марта 2020

Как я могу получить доступ к элементам Sirius Model Explorer в Eclipse? На самом деле у меня есть NatTable в другом представлении, и этот NatTable содержит объекты модели в своих ячейках. Чего я хочу добиться, так это то, что когда я нажимаю на ячейку натаблицы, я могу получить связанный с ней объект. Но как передать его в проводник моделей, чтобы выборка в NatTable синхронизировалась с NatTable? Я имею в виду, получить выбранный объект из NatTable и программно проанализировать его в проводнике моделей. Является ли это возможным?

Здесь есть что-то для Package Explorer, но как заставить это работать для проводника моделей?

Пример кода:

final IWorkbenchPart activePart = getActivePart();
if (activePart != null && activePart instanceof IPackagesViewPart) {
    ((IPackagesViewPart) activePart).selectAndReveal(newElement);
}

Код поддержки:

private IWorkbenchPart getActivePart() {
    final IWorkbench workbench = PlatformUI.getWorkbench();
    final IWorkbenchWindow activeWindow = workbench.getActiveWorkbenchWindow();
    if (activeWindow != null) {
        final IWorkbenchPage activePage = activeWindow.getActivePage();
        if (activePage != null) {
            return activePage.getActivePart();
        }
    }
    return null;
}

1 Ответ

0 голосов
/ 23 марта 2020

Вероятно, Sirius Model Explorer подключен к службе выбора Eclipse (см. https://www.eclipse.org/articles/Article-WorkbenchSelections/article.html) - в этом случае вам просто нужно, чтобы представление NatTable было своего рода ISelectionProvider.

...