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 }