001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.dialogs.relation;
003
004import java.awt.Component;
005
006import javax.swing.JTable;
007
008import org.openstreetmap.josm.data.osm.OsmPrimitive;
009import org.openstreetmap.josm.gui.DefaultNameFormatter;
010import org.openstreetmap.josm.tools.ImageProvider;
011
012public class MemberTableMemberCellRenderer extends MemberTableCellRenderer {
013
014    public MemberTableMemberCellRenderer() {
015        super();
016    }
017
018    protected void renderPrimitive(OsmPrimitive primitive) {
019        setIcon(ImageProvider.get(primitive.getDisplayType()));
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}