simplify GTDUCollector a bit more
[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 import org.jetbrains.annotations.NotNull;
9
10 import javax.swing.*;
11 import javax.swing.tree.DefaultMutableTreeNode;
12 import java.awt.*;
13
14 public class LibraryTreeRenderer extends ColoredTreeCellRenderer {
15     @Override
16     public void customizeCellRenderer(@NotNull JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
17       DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
18       Object userObject = node.getUserObject();
19       if (userObject instanceof NodeDescriptor) {
20         final NodeDescriptor<?> descriptor = (NodeDescriptor<?>)userObject;
21         setIcon(descriptor.getIcon());
22         append(descriptor.toString(), new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, descriptor.getColor()));
23       }
24     }
25
26     @Override
27     public Font getFont() {
28       Font font = super.getFont();
29       if (font == null) {
30         font = StartupUiUtil.getLabelFont();
31       }
32       return font;
33     }
34   }