Search in sources :

Example 1 with ProjectStructureProblemsHolderImpl

use of com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureProblemsHolderImpl in project intellij-community by JetBrains.

the class ArtifactsStructureConfigurableContextImpl method updateProblems.

private void updateProblems(Artifact originalArtifact, ArtifactEditorImpl artifactEditor) {
    final ProjectStructureProblemsHolderImpl holder = myContext.getDaemonAnalyzer().getProblemsHolder(getOrCreateArtifactElement(originalArtifact));
    artifactEditor.getValidationManager().updateProblems(holder);
}
Also used : ProjectStructureProblemsHolderImpl(com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureProblemsHolderImpl)

Example 2 with ProjectStructureProblemsHolderImpl

use of com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureProblemsHolderImpl in project intellij-community by JetBrains.

the class ProjectStructureElementRenderer method customizeCellRenderer.

@Override
public void customizeCellRenderer(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
    if (value instanceof MasterDetailsComponent.MyNode) {
        final MasterDetailsComponent.MyNode node = (MasterDetailsComponent.MyNode) value;
        final NamedConfigurable namedConfigurable = node.getConfigurable();
        if (namedConfigurable == null) {
            return;
        }
        final String displayName = node.getDisplayName();
        final Icon icon = namedConfigurable.getIcon(expanded);
        setIcon(icon);
        setToolTipText(null);
        setFont(UIUtil.getTreeFont());
        SimpleTextAttributes textAttributes = SimpleTextAttributes.REGULAR_ATTRIBUTES;
        if (node.isDisplayInBold()) {
            textAttributes = SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES;
        } else if (namedConfigurable instanceof ProjectStructureElementConfigurable) {
            final ProjectStructureElement projectStructureElement = ((ProjectStructureElementConfigurable) namedConfigurable).getProjectStructureElement();
            if (projectStructureElement != null) {
                final ProjectStructureDaemonAnalyzer daemonAnalyzer = myContext.getDaemonAnalyzer();
                final ProjectStructureProblemsHolderImpl problemsHolder = daemonAnalyzer.getProblemsHolder(projectStructureElement);
                if (problemsHolder != null && problemsHolder.containsProblems()) {
                    final boolean isUnused = problemsHolder.containsProblems(ProjectStructureProblemType.Severity.UNUSED);
                    final boolean haveWarnings = problemsHolder.containsProblems(ProjectStructureProblemType.Severity.WARNING);
                    final boolean haveErrors = problemsHolder.containsProblems(ProjectStructureProblemType.Severity.ERROR);
                    Color foreground = isUnused ? UIUtil.getInactiveTextColor() : null;
                    final int style = haveWarnings || haveErrors ? SimpleTextAttributes.STYLE_WAVED : -1;
                    final Color waveColor = haveErrors ? JBColor.RED : haveWarnings ? JBColor.GRAY : null;
                    textAttributes = textAttributes.derive(style, foreground, null, waveColor);
                    setToolTipText(problemsHolder.composeTooltipMessage());
                }
                append(displayName, textAttributes);
                String description = projectStructureElement.getDescription();
                if (description != null) {
                    append(" (" + description + ")", SimpleTextAttributes.GRAY_ATTRIBUTES, false);
                }
                return;
            }
        }
        append(displayName, textAttributes);
    }
}
Also used : ProjectStructureDaemonAnalyzer(com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureDaemonAnalyzer) ProjectStructureProblemsHolderImpl(com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureProblemsHolderImpl) NamedConfigurable(com.intellij.openapi.ui.NamedConfigurable) SimpleTextAttributes(com.intellij.ui.SimpleTextAttributes) JBColor(com.intellij.ui.JBColor) MasterDetailsComponent(com.intellij.openapi.ui.MasterDetailsComponent) ProjectStructureElement(com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement)

Aggregations

ProjectStructureProblemsHolderImpl (com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureProblemsHolderImpl)2 ProjectStructureDaemonAnalyzer (com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureDaemonAnalyzer)1 ProjectStructureElement (com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement)1 MasterDetailsComponent (com.intellij.openapi.ui.MasterDetailsComponent)1 NamedConfigurable (com.intellij.openapi.ui.NamedConfigurable)1 JBColor (com.intellij.ui.JBColor)1 SimpleTextAttributes (com.intellij.ui.SimpleTextAttributes)1