source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentTableCellRenderer.java@ 2711

Last change on this file since 2711 was 2711, checked in by stoecker, 16 years ago

fix bad line endings

File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.changeset;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.Component;
7
8import javax.swing.JLabel;
9import javax.swing.JTable;
10import javax.swing.UIManager;
11import javax.swing.table.TableCellRenderer;
12
13import org.openstreetmap.josm.data.osm.ChangesetDataSet.ChangesetModificationType;
14import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive;
15
16/**
17 * The table cell renderer used in the changeset content table, except for the "name"
18 * column in which we use a {@see OsmPrimitivRenderer}.
19 *
20 */
21public class ChangesetContentTableCellRenderer extends JLabel implements TableCellRenderer{
22
23 public ChangesetContentTableCellRenderer() {
24 setOpaque(true);
25 }
26
27 protected void reset() {
28 setBackground(UIManager.getColor("Table.background"));
29 setForeground(UIManager.getColor("Table.foreground"));
30 setFont(UIManager.getFont("Table.font"));
31 }
32
33 protected void renderColors(boolean isSelected) {
34 if (isSelected) {
35 setBackground(UIManager.getColor("Table.selectionBackground"));
36 setForeground(UIManager.getColor("Table.selectionForeground"));
37 } else {
38 setBackground(UIManager.getColor("Table.background"));
39 setForeground(UIManager.getColor("Table.foreground"));
40 }
41 }
42
43 protected void renderId(HistoryOsmPrimitive primitive) {
44 setText(Long.toString(primitive.getId()));
45 setToolTipText("");
46 }
47
48 protected void renderModificationType(ChangesetModificationType type) {
49 switch(type) {
50 case CREATED: setText(tr("Created")); break;
51 case UPDATED: setText(tr("Updated")); break;
52 case DELETED: setText(tr("Deleted")); break;
53 }
54 setToolTipText("");
55 }
56
57 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
58 int row, int column) {
59 reset();
60 renderColors(isSelected);
61 switch(column) {
62 case 0:
63 ChangesetModificationType type = (ChangesetModificationType)value;
64 renderModificationType(type);
65 break;
66 case 1:
67 HistoryOsmPrimitive primitive = (HistoryOsmPrimitive)value;
68 renderId(primitive);
69 break;
70 default:
71 /* do nothing */
72 }
73 return this;
74 }
75}
Note: See TracBrowser for help on using the repository browser.