/** @generated */ public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection) { if (aSelection == null || aSelection.isEmpty()) { return; } if (false == aSelection.getFirstElement() instanceof UMLAbstractNavigatorItem) { return; } UMLAbstractNavigatorItem abstractNavigatorItem = (UMLAbstractNavigatorItem) aSelection.getFirstElement(); View navigatorView = null; if (abstractNavigatorItem instanceof UMLNavigatorItem) { navigatorView = ((UMLNavigatorItem) abstractNavigatorItem).getView(); } else if (abstractNavigatorItem instanceof UMLNavigatorGroup) { UMLNavigatorGroup navigatorGroup = (UMLNavigatorGroup) abstractNavigatorItem; if (navigatorGroup.getParent() instanceof UMLNavigatorItem) { navigatorView = ((UMLNavigatorItem) navigatorGroup.getParent()).getView(); } } if (navigatorView == null) { return; } IEditorInput editorInput = getEditorInput(navigatorView.getDiagram()); IEditorPart editor = aPage.findEditor(editorInput); if (editor == null) { return; } aPage.bringToTop(editor); if (editor instanceof DiagramEditor) { DiagramEditor diagramEditor = (DiagramEditor) editor; ResourceSet diagramEditorResourceSet = diagramEditor.getEditingDomain().getResourceSet(); EObject selectedView = diagramEditorResourceSet.getEObject(EcoreUtil.getURI(navigatorView), true); if (selectedView == null) { return; } GraphicalViewer graphicalViewer = (GraphicalViewer) diagramEditor.getAdapter(GraphicalViewer.class); EditPart selectedEditPart = (EditPart) graphicalViewer.getEditPartRegistry().get(selectedView); if (selectedEditPart != null) { graphicalViewer.select(selectedEditPart); } } }