/** @generated */ public Object[] getChildren(Object parentElement) { if (parentElement instanceof IFile) { IFile file = (IFile) parentElement; URI fileURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true); Resource resource = myEditingDomain.getResourceSet().getResource(fileURI, true); ArrayList<stateAnalysis.diagram.navigator.StateAnalysisNavigatorItem> result = new ArrayList<stateAnalysis.diagram.navigator.StateAnalysisNavigatorItem>(); ArrayList<View> topViews = new ArrayList<View>(resource.getContents().size()); for (EObject o : resource.getContents()) { if (o instanceof View) { topViews.add((View) o); } } result.addAll( createNavigatorItems( selectViewsByType(topViews, stateAnalysis.diagram.edit.parts.SystemEditPart.MODEL_ID), file, false)); return result.toArray(); } if (parentElement instanceof stateAnalysis.diagram.navigator.StateAnalysisNavigatorGroup) { stateAnalysis.diagram.navigator.StateAnalysisNavigatorGroup group = (stateAnalysis.diagram.navigator.StateAnalysisNavigatorGroup) parentElement; return group.getChildren(); } if (parentElement instanceof stateAnalysis.diagram.navigator.StateAnalysisNavigatorItem) { stateAnalysis.diagram.navigator.StateAnalysisNavigatorItem navigatorItem = (stateAnalysis.diagram.navigator.StateAnalysisNavigatorItem) parentElement; if (navigatorItem.isLeaf() || !isOwnView(navigatorItem.getView())) { return EMPTY_ARRAY; } return getViewChildren(navigatorItem.getView(), parentElement); } /* * Due to plugin.xml restrictions this code will be called only for views representing * shortcuts to this diagram elements created on other diagrams. */ if (parentElement instanceof IAdaptable) { View view = (View) ((IAdaptable) parentElement).getAdapter(View.class); if (view != null) { return getViewChildren(view, parentElement); } } return EMPTY_ARRAY; }