【问题标题】:Get the selected model element in GMF editor在 GMF 编辑器中获取选定的模型元素
【发布时间】:2014-06-10 18:18:25
【问题描述】:

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

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

我对 GMF 很陌生,因此提出了这个问题。

【问题讨论】:

    标签: java eclipse eclipse-emf eclipse-gmf


    【解决方案1】:

    不是 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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-12-21
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      相关资源
      最近更新 更多