summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java')
-rw-r--r--src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java b/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java
new file mode 100644
index 0000000..c78ead2
--- /dev/null
+++ b/src/main/java/cuchaz/enigma/gui/MethodTreeCellRenderer.java
@@ -0,0 +1,40 @@
1/*******************************************************************************
2 * Copyright (c) 2015 Jeff Martin.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the GNU Lesser General Public
5 * License v3.0 which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/lgpl.html
7 * <p>
8 * Contributors:
9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/
11
12package cuchaz.enigma.gui;
13
14import cuchaz.enigma.analysis.MethodInheritanceTreeNode;
15
16import javax.swing.*;
17import javax.swing.tree.TreeCellRenderer;
18import java.awt.*;
19
20class MethodTreeCellRenderer implements TreeCellRenderer {
21
22 private final TreeCellRenderer parent;
23
24 MethodTreeCellRenderer(TreeCellRenderer parent) {
25 this.parent = parent;
26 }
27
28 @Override
29 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
30 Component ret = parent.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
31 if (value instanceof MethodInheritanceTreeNode && ((MethodInheritanceTreeNode) value).isImplemented()) {
32 ret.setForeground(Color.BLACK);
33 ret.setFont(ret.getFont().deriveFont(Font.PLAIN));
34 } else {
35 ret.setForeground(Color.GRAY);
36 ret.setFont(ret.getFont().deriveFont(Font.ITALIC));
37 }
38 return ret;
39 }
40}