Gridarta Editor
NamedNodeTreeCellRenderer.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2015 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.gui.data;
21 
22 import java.awt.Component;
23 import javax.swing.JTree;
24 import javax.swing.tree.DefaultTreeCellRenderer;
28 import org.jetbrains.annotations.NotNull;
29 
35 public class NamedNodeTreeCellRenderer extends DefaultTreeCellRenderer {
36 
40  private static final long serialVersionUID = 1L;
41 
45  @NotNull
47 
53  public NamedNodeTreeCellRenderer(@NotNull final FaceObjectProviders faceObjectProviders) {
54  this.faceObjectProviders = faceObjectProviders;
55  }
56 
57  @Override
58  public Component getTreeCellRendererComponent(final JTree tree, final Object value, final boolean sel, final boolean expanded, final boolean leaf, final int row, final boolean hasFocus) {
59  super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
60  final NamedTreeNode<?> node = (NamedTreeNode<?>) value;
61  final NamedObject object = node.getNamedObject();
62  if (object != null) {
63  setIcon(faceObjectProviders.getDisplayIcon(object));
64  }
65  setText(node.getName());
66  return this;
67  }
68 
69 }
TreeCellRenderer for NamedTreeNodes in trees.
The data package contains classes for handling data that is organized in a tree.
final FaceObjectProviders faceObjectProviders
The FaceObjectProviders for looking up faces.
ImageIcon getDisplayIcon(@NotNull final NamedObject namedObject)
Returns the display icon for a NamedObject.
Base package of all Gridarta classes.
Component getTreeCellRendererComponent(final JTree tree, final Object value, final boolean sel, final boolean expanded, final boolean leaf, final int row, final boolean hasFocus)
static final long serialVersionUID
The serial version UID.
Provider for faces of GameObjects and Archetypes.
The face is the appearance of an object.
NamedNodeTreeCellRenderer(@NotNull final FaceObjectProviders faceObjectProviders)
Creates a new instance.
TreeNode implementation for Named Objects (like arches, faces, animations, artifacts etc...