001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.dialogs.changeset; 003 004import java.awt.Component; 005import java.util.Date; 006 007import javax.swing.JComponent; 008import javax.swing.JTable; 009 010import org.openstreetmap.josm.data.osm.User; 011import org.openstreetmap.josm.gui.widgets.JosmTextArea; 012 013/** 014 * The cell renderer for the changeset dicussion table 015 * @since 7715 016 */ 017public class ChangesetDiscussionTableCellRenderer extends AbstractCellRenderer { 018 019 @Override 020 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, 021 int row, int column) { 022 if (value == null) 023 return this; 024 JComponent comp = this; 025 reset(comp, true); 026 renderColors(comp, isSelected); 027 switch(column) { 028 case 0: 029 renderDate((Date) value); 030 break; 031 case 1: 032 renderUser((User) value); 033 break; 034 case 2: 035 comp = new JosmTextArea((String) value); 036 ((JosmTextArea) comp).setLineWrap(true); 037 ((JosmTextArea) comp).setWrapStyleWord(true); 038 reset(comp, false); 039 renderColors(comp, isSelected); 040 } 041 return comp; 042 } 043}