001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.gui.dialogs.relation;
003
004 import java.awt.Component;
005
006 import javax.swing.JTable;
007
008 import org.openstreetmap.josm.data.osm.OsmPrimitive;
009 import org.openstreetmap.josm.gui.DefaultNameFormatter;
010 import org.openstreetmap.josm.tools.ImageProvider;
011
012 public class MemberTableMemberCellRenderer extends MemberTableCellRenderer {
013
014 public MemberTableMemberCellRenderer() {
015 super();
016 }
017
018 protected void renderPrimitive(OsmPrimitive primitive) {
019 setIcon(ImageProvider.get(primitive.getPrimitiveId().getType()));
020 setText(primitive.getDisplayName(DefaultNameFormatter.getInstance()));
021 setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(primitive));
022 }
023
024 @Override
025 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
026 int row, int column) {
027
028 reset();
029 if (value == null)
030 return this;
031
032 renderForeground(isSelected);
033 OsmPrimitive primitive = (OsmPrimitive) value;
034 renderBackground(getModel(table), primitive, isSelected);
035 renderPrimitive(primitive);
036 return this;
037 }
038 }