Java 在GMF编辑器中获取选定的模型元素

Java 在GMF编辑器中获取选定的模型元素,java,eclipse,eclipse-emf,eclipse-gmf,Java,Eclipse,Eclipse Emf,Eclipse Gmf,我有一个GMF编辑器,模型上有不同的元素。一旦我选择了任何特定的模型元素,我如何在我的处理程序中获得它?目前,为了获取所有存在的元素,我使用以下代码片段: PalladioComponentModelDiagramEditor diag = (PalladioComponentModelDiagramEditor)HandlerUtil.getActiveEditorChecked(event); final List children = diag.getDiagramEditPart().g

我有一个GMF编辑器,模型上有不同的元素。一旦我选择了任何特定的模型元素,我如何在我的处理程序中获得它?目前,为了获取所有存在的元素,我使用以下代码片段:

PalladioComponentModelDiagramEditor diag = (PalladioComponentModelDiagramEditor)HandlerUtil.getActiveEditorChecked(event);
final List children = diag.getDiagramEditPart().getChildren();

我对转基因食品还很陌生,因此这个问题就出现了。

我不能100%肯定我理解你的问题。如果要查找图表编辑器中当前选定的元素,可以使用
SelectionProvider
,例如:

ISelectionProvider selProvider = diagramEditor.getEditorSite().getSelectionProvider();
if (selProvider.getSelection() instanceof IStructuredSelection) {
    IStructuredSelection selection = (IStructuredSelection) selProvider.getSelection();
    Object selected = selection.getFirstElement();
    if (selected instanceof IGraphicalEditPart) {
        IGraphicalEditPart editPart = (IGraphicalEditPart) selected;
        EObject eObject = ((View) editPart.getModel()).getElement();
        // do stuff with selected EObject
    }
}