source: josm/trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java@ 10308

Last change on this file since 10308 was 10308, checked in by Don-vip, 8 years ago

sonar - squid:S1854 - Dead stores should be removed

  • Property svn:eol-style set to native
File size: 4.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.tags;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.Component;
7
8import javax.swing.JTable;
9import javax.swing.table.DefaultTableCellRenderer;
10import javax.swing.table.DefaultTableColumnModel;
11import javax.swing.table.TableCellRenderer;
12import javax.swing.table.TableColumn;
13
14import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
15import org.openstreetmap.josm.gui.conflict.ConflictColors;
16import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
17
18public class RelationMemberConflictResolverColumnModel extends DefaultTableColumnModel {
19
20 private final DefaultTableCellRenderer defaultTableCellRenderer = new DefaultTableCellRenderer();
21
22 private final transient OsmPrimitivRenderer primitiveRenderer = new OsmPrimitivRenderer() {
23 @Override
24 public Component getTableCellRendererComponent(JTable table,
25 Object value, boolean isSelected, boolean hasFocus, int row, int column) {
26 return setColors(super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column),
27 table, isSelected, row);
28 }
29 };
30
31 private final transient TableCellRenderer tableRenderer = new TableCellRenderer() {
32 @Override
33 public Component getTableCellRendererComponent(JTable table, Object value,
34 boolean isSelected, boolean hasFocus, int row, int column) {
35 return setColors(defaultTableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column),
36 table, isSelected, row);
37 }
38 };
39
40 private static Component setColors(Component comp, JTable table, boolean isSelected, int row) {
41 RelationMemberConflictResolverModel model = (RelationMemberConflictResolverModel) table.getModel();
42
43 if (!isSelected && comp != null) {
44 switch (model.getDecision(row).getDecision()) {
45 case UNDECIDED:
46 comp.setForeground(ConflictColors.FGCOLOR_UNDECIDED.get());
47 comp.setBackground(ConflictColors.BGCOLOR_UNDECIDED.get());
48 break;
49 case KEEP:
50 comp.setForeground(ConflictColors.FGCOLOR_MEMBER_KEEP.get());
51 comp.setBackground(ConflictColors.BGCOLOR_MEMBER_KEEP.get());
52 break;
53 case REMOVE:
54 comp.setForeground(ConflictColors.FGCOLOR_MEMBER_REMOVE.get());
55 comp.setBackground(ConflictColors.BGCOLOR_MEMBER_REMOVE.get());
56 break;
57 }
58 }
59 return comp;
60 }
61
62 protected final void createColumns() {
63
64 AutoCompletingTextField roleEditor = new AutoCompletingTextField(0, false);
65 RelationMemberConflictDecisionRenderer decisionRenderer = new RelationMemberConflictDecisionRenderer();
66 RelationMemberConflictDecisionEditor decisionEditor = new RelationMemberConflictDecisionEditor();
67
68 // column 0 - Relation
69 TableColumn col = new TableColumn(0);
70 col.setHeaderValue("Relation");
71 col.setResizable(true);
72 col.setWidth(100);
73 col.setPreferredWidth(100);
74 col.setCellRenderer(primitiveRenderer);
75 addColumn(col);
76
77 // column 1 - Position
78 col = new TableColumn(1);
79 col.setHeaderValue(tr("Pos."));
80 col.setResizable(true);
81 col.setWidth(40);
82 col.setPreferredWidth(40);
83 col.setCellRenderer(tableRenderer);
84 col.setMaxWidth(50);
85 addColumn(col);
86
87 // column 2 - Role
88 col = new TableColumn(2);
89 col.setHeaderValue(tr("Role"));
90 col.setResizable(true);
91 col.setCellRenderer(tableRenderer);
92 col.setCellEditor(roleEditor);
93 col.setWidth(50);
94 col.setPreferredWidth(50);
95 addColumn(col);
96
97 // column 3 - Original Way
98 col = new TableColumn(3);
99 col.setHeaderValue(tr("Orig. Way"));
100 col.setResizable(true);
101 col.setCellRenderer(primitiveRenderer);
102 col.setWidth(100);
103 col.setPreferredWidth(100);
104 addColumn(col);
105
106 // column 4 - New Way
107 col = new TableColumn(4);
108 col.setHeaderValue(tr("Decision"));
109 col.setResizable(true);
110 col.setCellRenderer(decisionRenderer);
111 col.setCellEditor(decisionEditor);
112 col.setWidth(100);
113 col.setPreferredWidth(100);
114 col.setMaxWidth(100);
115 addColumn(col);
116 }
117
118 /**
119 * Constructs a new {@code RelationMemberConflictResolverColumnModel}.
120 */
121 public RelationMemberConflictResolverColumnModel() {
122 createColumns();
123 }
124}
Note: See TracBrowser for help on using the repository browser.