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    }