63b8f3d87b658b533881668c03de198d069d32b1
[idea/community.git] / java / idea-ui / src / com / intellij / openapi / roots / ui / configuration / libraryEditor / LibraryTreeRenderer.java
1 // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.openapi.roots.ui.configuration.libraryEditor;
3
4 import com.intellij.ide.util.treeView.NodeDescriptor;
5 import com.intellij.ui.ColoredTreeCellRenderer;
6 import com.intellij.ui.SimpleTextAttributes;
7 import com.intellij.util.ui.StartupUiUtil;
8
9 import javax.swing.*;
10 import javax.swing.tree.DefaultMutableTreeNode;
11 import java.awt.*;
12
13 public class LibraryTreeRenderer extends ColoredTreeCellRenderer {
14     @Override
15     public void customizeCellRenderer(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
16       DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
17       Object userObject = node.getUserObject();
18       if (userObject instanceof NodeDescriptor) {
19         final NodeDescriptor descriptor = (NodeDescriptor)userObject;
20         setIcon(descriptor.getIcon());
21         append(descriptor.toString(), new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, descriptor.getColor()));
22       }
23     }
24
25     @Override
26     public Font getFont() {
27       Font font = super.getFont();
28       if (font == null) {
29         font = StartupUiUtil.getLabelFont();
30       }
31       return font;
32     }
33   }