// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.gui.dialogs.changeset;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.Component;
import javax.swing.JTable;
import org.openstreetmap.josm.data.osm.ChangesetDataSet.ChangesetModificationType;
import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive;
/**
* The table cell renderer used in the changeset content table, except for the "name"
* column in which we use a {@link org.openstreetmap.josm.gui.OsmPrimitivRenderer}.
*/
public class ChangesetContentTableCellRenderer extends AbstractCellRenderer {
/**
* Renders primitive modification type.
* @param type modification type
*/
protected void renderModificationType(ChangesetModificationType type) {
switch(type) {
case CREATED: setText(tr("Created")); break;
case UPDATED: setText(tr("Updated")); break;
case DELETED: setText(tr("Deleted")); break;
}
setToolTipText(null);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (value == null)
return this;
reset();
renderColors(isSelected);
switch(column) {
case 0:
renderModificationType((ChangesetModificationType) value);
break;
case 1:
renderId(((HistoryOsmPrimitive) value).getId());
break;
default:
/* do nothing */
}
return this;
}
}