我正在使用 Xtext 和 GMF,因此我想从我的 xtext 项目中访问活动的 GMF 隔间节点。正因为如此,我认为eclipse的选择服务会是解决这个问题的好方法。
我试图实现选择服务,但它似乎没有访问 GMF 相关节点。而是我得到一个 xtext 类对象,因为我在 GMF 中实现了一个 IXtextAwareEditPart。有没有办法访问活动的 GMF 节点?到目前为止,此代码对我不起作用:
ISelectionService selectionService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();
ISelection selection = selectionService.getSelection();
if (selection instanceof IStructuredSelection) {
IStructuredSelection iStructuredSelection = (IStructuredSelection) selection;
if (iStructuredSelection.getFirstElement() instanceof PartImpl) {
PartImpl partImpl = (PartImpl) iStructuredSelection; // <------ The xtext class?
}
}