private static void addDependenciesNode( @NotNull ExternalProjectsView externalProjectsView, @NotNull MultiMap<Key<?>, DataNode<?>> dataNodes, @NotNull List<ExternalSystemNode<?>> result) { final Collection<DataNode<?>> moduleDeps = dataNodes.get(ProjectKeys.MODULE_DEPENDENCY); final Collection<DataNode<?>> libDeps = dataNodes.get(ProjectKeys.LIBRARY_DEPENDENCY); if (!moduleDeps.isEmpty() || !libDeps.isEmpty()) { final ExternalSystemNode depNode = new MyDependenciesNode(externalProjectsView); for (DataNode<?> dataNode : moduleDeps) { if (!(dataNode.getData() instanceof ModuleDependencyData)) continue; //noinspection unchecked depNode.add( new ModuleDependencyDataExternalSystemNode( externalProjectsView, (DataNode<ModuleDependencyData>) dataNode)); } for (DataNode<?> dataNode : libDeps) { if (!(dataNode.getData() instanceof LibraryDependencyData)) continue; //noinspection unchecked final ExternalSystemNode<LibraryDependencyData> libraryDependencyDataExternalSystemNode = new LibraryDependencyDataExternalSystemNode( externalProjectsView, (DataNode<LibraryDependencyData>) dataNode); depNode.add(libraryDependencyDataExternalSystemNode); libraryDependencyDataExternalSystemNode.setErrorLevel( ((LibraryDependencyData) dataNode.getData()).getTarget().isUnresolved() ? ExternalProjectsStructure.ErrorLevel.ERROR : ExternalProjectsStructure.ErrorLevel.NONE); } result.add(depNode); } }
@Override protected void update(PresentationData presentation) { super.update(presentation); presentation.setIcon(getUiAware().getProjectIcon()); final ModuleDependencyData data = getData(); if (data != null) { setNameAndTooltip(getName(), null, data.getScope().getDisplayName()); } }
@Override protected void update(PresentationData presentation) { super.update(presentation); presentation.setIcon(AllIcons.Nodes.PpLib); final LibraryDependencyData data = getData(); if (data != null) { setNameAndTooltip(getName(), null, data.getScope().getDisplayName()); } }
@Override protected void update(PresentationData presentation) { super.update(presentation); presentation.setIcon(AllIcons.Nodes.PpLibFolder); }